From f68d3c71819feb59e7a227a5d992b059b900916c Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期五, 28 三月 2025 08:28:26 +0800
Subject: [PATCH] 修改报表,界面添加查询流程卡个数,调整推送数据到前端的间隔
---
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java | 13
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java | 36
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java | 39
UI-Project/src/views/Reportmanage/reportDownCache.vue | 164 ++
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java | 3
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java | 27
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml | 8
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java | 13
hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OrderChange.java | 65 +
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java | 9
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java | 1
UI-Project/src/views/Reportmanage/reportEdgCache.vue | 164 ++
hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml | 7
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java | 6
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/FlowCardDTO.java | 41
hangzhoumesParent/common/servicebase/src/main/java/com/mes/temperingglass/mapper/TemperingGlassInfoMapper.java | 2
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java | 35
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java | 8
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java | 28
UI-Project/src/router/index.js | 505 ++++---
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/EngineeringMapper.xml | 17
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java | 3
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java | 57
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java | 39
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java | 5
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml | 7
hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java | 35
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java | 39
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java | 4
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java | 4
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java | 3
UI-Project/config.js | 8
hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/controller/OrderController.java | 7
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java | 25
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml | 72
UI-Project/src/lang/en.js | 1276 ++++++++++---------
UI-Project/src/lang/zh.js | 13
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java | 31
UI-Project/src/utils/constants.js | 4
hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml | 6
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java | 172 +-
hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcTemperingGlassTask.java | 54
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java | 32
UI-Project/src/views/Slicecage/slicecage.vue | 35
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java | 39
hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java | 8
UI-Project/src/views/Reportmanage/reportBigFeed.vue | 161 ++
UI-Project/src/views/Reportmanage/reportBigOut.vue | 171 ++
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java | 2
hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java | 8
UI-Project/src/views/PurchaseReturn/purchaseReturn.vue | 135 ++
UI-Project/src/views/NewPage.vue | 1
hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java | 69
57 files changed, 2,570 insertions(+), 1,166 deletions(-)
diff --git a/UI-Project/config.js b/UI-Project/config.js
index 7438481..e0d32d0 100644
--- a/UI-Project/config.js
+++ b/UI-Project/config.js
@@ -1,12 +1,12 @@
export default {
// serverUrl: "10.153.19.150:88/api",
// serverUrl: "10.153.19.44:88/api",
- serverUrl: "192.168.1.199:88/api",
- // serverUrl: "127.0.0.1:88/api",
+// serverUrl: "192.168.1.199:88/api",
+ serverUrl: "127.0.0.1:88/api",
// serverUrl2: "10.153.19.150:88"
// serverUrl2: "10.153.19.44:88"
- serverUrl2: "192.168.1.199:88"
- // serverUrl2: "127.0.0.1:88"
+ // serverUrl2: "192.168.1.199:88"
+ serverUrl2: "127.0.0.1:88"
//serverUrl:"res.abeim.cn"
}
\ No newline at end of file
diff --git a/UI-Project/src/lang/en.js b/UI-Project/src/lang/en.js
index cea6baf..57a3fae 100644
--- a/UI-Project/src/lang/en.js
+++ b/UI-Project/src/lang/en.js
@@ -1,624 +1,654 @@
-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:{
- Automaticprintingswitch:'Automatic printing switch',
- 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:{
- 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:{
- dilapidation:'Breakage',
- takeaway:'Manual removal',
- takeon:'The arrangement is complete',
- },
- searchOrder:{
- searchlayout:'Non-tempered process card inquiry',
- fullfurnaces:'Number of full furnaces',
- specifiedproject:'The currently specified project',
- undesignate:'Undesignate',
- allnumber:'Total quantity',
- numbercages:'Number of cages',
- numberslots:'Number of slots',
- 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',
- filmwait:'Waiting for start',
- 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',
- specifyengineerid:'Specify the project',
- projectnumber:'Project number',
- layoutnumber:'Drawing number of loading for tempering furnace',
- numberglasses:'Number of glasses',
- specifytemperinga:'Whether to specify the tempering of this information锛�',
- temperedswitch:'Tempered switch',
- dutyinformation:'Duty information',
- process:'Process',
- team:'Team',
- basic:'equipment',
- makesure:'Confirm the save',
- // cancel:'鍙栨秷',
- temperingtotal:'Number of tempering furnaces锛�',
- glasstotal:'Total number of glasses锛�',
- scheduletime:'Time of schedule锛�'
- },
- workOrder:{
- 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',
- confirmclear:'Please confirm that the process card and label have been printed before clearing them',
- sure:'Operate',
- cancel:'Cancel',
- glassinformation:'Glass information',
- glassID:'Glass ID',
- coatingtypes:'Coating types',
- thickness:'Thickness',
- width:'Width',
- height:'Height',
- },
-
- productStock:{
- 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:{
- time: 'The time of the break',
- number: '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',
- 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',
- 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锛�',
- },
- 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',
- 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:{
- mes:'Original film storage details',
- warehousing:'store',
- operate: 'Operate',
- exit:'Edit',
- delete:'Delete',
- outbound:'Outbound',
- deviceid:'device ID',
- slot:'Grid number',
- enablestatea:'Enable tagging',
- disable:'Disable',
- start:'Enable',
- startslot:'Start workstation',
- endslot:'Target workstation',
- slotid:'Grid ID',
- 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',
- thickremainquantity:'Remaining quantity of original film (sheets)锛�',
- inquantity:'Please enter the quantity',
- quantitya:'Number锛�',
- enableid:'Task ID',
- originateslot:'Starting grid',
- 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',
- 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',
-
- }
- }
\ No newline at end of file
+ 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: {
+ Automaticprintingswitch: 'Automatic printing switch',
+ 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: {
+ 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: {
+ dilapidation: 'Breakage',
+ takeaway: 'Manual removal',
+ takeon: 'The arrangement is complete',
+ },
+ searchOrder: {
+ cageTemper: 'Cage temperature',
+ cageArea: 'Cage area',
+ totalAreas: 'Total area',
+ totalTemper: 'Total temper',
+ "processcardinquiry": "process card inquiry",
+ searchlayout: 'Non-tempered process card inquiry',
+ fullfurnaces: 'Number of full furnaces',
+ specifiedproject: 'The currently specified project',
+ undesignate: 'Undesignate',
+ allnumber: 'Total quantity',
+ numbercages: 'Number of cages',
+ numberslots: 'Number of slots',
+ 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',
+ filmwait: 'Waiting for start',
+ 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',
+ processcardqueriesa: 'Process card queries',
+ specifytempering: 'Specify a furnace',
+ specifyengineerid: 'Specify the project',
+ projectnumber: 'Project number',
+ layoutnumber: 'Drawing number of loading for tempering furnace',
+ numberglasses: 'Number of glasses',
+ specifytemperinga: 'Whether to specify the tempering of this information锛�',
+ temperedswitch: 'Tempered switch',
+ dutyinformation: 'Duty information',
+ process: 'Process',
+ team: 'Team',
+ basic: 'equipment',
+ makesure: 'Confirm the save',
+ // cancel:'鍙栨秷',
+ temperingtotal: 'Number of tempering furnaces锛�',
+ glasstotal: 'Total number of glasses锛�',
+ scheduletime: 'Time of schedule锛�'
+ },
+ workOrder: {
+ 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',
+ confirmclear: 'Please confirm that the process card and label have been printed before clearing them',
+ sure: 'Operate',
+ cancel: 'Cancel',
+ glassinformation: 'Glass information',
+ glassID: 'Glass ID',
+ coatingtypes: 'Coating types',
+ thickness: 'Thickness',
+ width: 'Width',
+ height: 'Height',
+ },
+
+ productStock: {
+ 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: {
+ time: 'The time of the break',
+ number: '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',
+ 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',
+ 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锛�',
+ },
+ reportmanage: {
+ feed: 'feed',
+ out: 'out',
+ straightthrough: 'straightthrough',
+ complete: 'complete',
+ incomplete: 'incomplete',
+ outed: 'outed',
+ scan: 'scan',
+ feeding: 'feeding',
+ in: 'in',
+ car: 'car',
+ cage: 'cage',
+ oneline: 'oneline',
+ twoline: 'twoline',
+ id: 'id',
+ targetSlot: 'targetSlot',
+ endSlot: 'endSlot',
+ state: 'state',
+ width: 'width',
+ height: 'height',
+ createTime: 'createTime',
+ totalCounts: 'totalCounts',
+ totalAreas: 'totalAreas',
+ totalDamages: 'totalDamages',
+ totalTakes: 'totalTakes',
+ 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',
+ 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: {
+ mes: 'Original film storage details',
+ warehousing: 'store',
+ operate: 'Operate',
+ exit: 'Edit',
+ delete: 'Delete',
+ outbound: 'Outbound',
+ deviceid: 'device ID',
+ slot: 'Grid number',
+ enablestatea: 'Enable tagging',
+ disable: 'Disable',
+ start: 'Enable',
+ startslot: 'Start workstation',
+ endslot: 'Target workstation',
+ slotid: 'Grid ID',
+ 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',
+ thickremainquantity: 'Remaining quantity of original film (sheets)锛�',
+ inquantity: 'Please enter the quantity',
+ quantitya: 'Number锛�',
+ enableid: 'Task ID',
+ originateslot: 'Starting grid',
+ 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',
+ 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',
+
+ }
+}
\ No newline at end of file
diff --git a/UI-Project/src/lang/zh.js b/UI-Project/src/lang/zh.js
index e1dd6fe..4aacfcf 100644
--- a/UI-Project/src/lang/zh.js
+++ b/UI-Project/src/lang/zh.js
@@ -110,8 +110,13 @@
takeall:'鍏ㄩ儴鎷胯蛋',
},
searchOrder:{
+ cageTemper: '绗煎唴鐐夋暟',
+ cageArea: '绗煎唴闈㈢Н',
+ totalAreas:'鎬婚潰绉�',
+ totalTemper:'鎬荤倝鏁�',
deleteTask:'鍒犻櫎宸ョ▼',
pdeleteTask:'鏄惁鍒犻櫎宸ョ▼锛�',
+ processcardinquiry:"宸ョ▼鏌ヨ",
searchlayout:'闈為挗鍖栨祦绋嬪崱鏌ヨ',
fullfurnaces:'婊$倝鏁伴噺',
specifiedproject:'褰撳墠鎸囧畾宸ョ▼',
@@ -223,6 +228,7 @@
now:'褰撳墠椤垫樉绀�',
tit:'鏉℃暟鎹�',
temperingqueries:'閽㈠寲鏌ヨ',
+ processcardqueriesa:'宸ョ▼鏌ヨ',
specifytempering:'鎸囧畾涓�鐐�',
specifyout:'鎸囧畾浜哄伐鍑虹墖',
specifyengineerid:'鎸囧畾宸ョ▼',
@@ -507,6 +513,12 @@
loading :'姝e湪涓婄墖锛�',
},
reportmanage:{
+ feed: '杩涚墖',
+ out: '鍑虹墖',
+ straightthrough: '鐩撮��',
+ complete:'宸插畬鎴�',
+ incomplete:'鏈畬鎴�',
+ outed:'宸插嚭鐗�',
scan:'鎵爜',
feeding:'姝e湪杩涘崸杞珛',
in:'鍦ㄥ崸杞珛',
@@ -516,6 +528,7 @@
twoline:'浜岀嚎',
id:'缂栧彿',
targetSlot:'鐩爣鏍煎瓙',
+ endSlot:'鐩爣鏋跺瓙',
state:'浠诲姟鐘舵��',
width:'瀹�',
height:'楂�',
diff --git a/UI-Project/src/router/index.js b/UI-Project/src/router/index.js
index 3de0a3e..6d946a4 100644
--- a/UI-Project/src/router/index.js
+++ b/UI-Project/src/router/index.js
@@ -1,4 +1,4 @@
-import {createRouter, createWebHashHistory} from 'vue-router'
+import { createRouter, createWebHashHistory } from 'vue-router'
// import i18n from '@/utils/lang'
// import User from '../views/sys/User.vue'
// import Role from '../views/sys/Role.vue'
@@ -19,185 +19,185 @@
},
{
path: '/new-page', // 鏂板鐨勬棤闇�鐧诲綍鐨勯〉闈�
- name: 'newPage',
+ name: 'newPage',
component: () => import('../views/NewPage.vue')
},
{
path: '/main',
name: 'main',
component: () => import('../layout/MainErpView.vue'),
- children:[
-
-
+ children: [
+
+
{
path: 'Temperedlayout',
name: 'Temperedlayout',
component: () => import('../views/TL/Temperedlayout/Temperedlayout.vue'),
- children:[
+ children: [
{
- path: 'selectLayout',
+ path: 'selectLayout',
name: 'selectLayout',
component: () => import('../views/TL/Temperedlayout/Temperedlayout.vue'),
}
- ]
+ ]
},
-
-/*----------- 鐢ㄦ埛鍒楄〃 ----------------*/
-// {
-// path: 'User',
-// name: 'User',
-// component: () => import('../views/User/userlist.vue'),
-// children:[
-// {
-// path: '/User/userlist',
-// name: 'userlist',
-// component: () => import('../views/User/userlist.vue')
-// },
-// ]
-// },
-
-/*----------- 鏉冮檺鍒楄〃 ----------------*/
-// {
-// path: 'Permissions',
-// name: 'Permissions',
-// component: () => import('../views/Permissions/permissionslist.vue'),
-// children:[
-// {
-// path: '/Permissions/permissionslist',
-// name: 'permissionslist',
-// component: () => import('../views/Permissions/permissionslist.vue')
-// },
-// ]
-// },
+
+ /*----------- 鐢ㄦ埛鍒楄〃 ----------------*/
+ // {
+ // path: 'User',
+ // name: 'User',
+ // component: () => import('../views/User/userlist.vue'),
+ // children:[
+ // {
+ // path: '/User/userlist',
+ // name: 'userlist',
+ // component: () => import('../views/User/userlist.vue')
+ // },
+ // ]
+ // },
+
+ /*----------- 鏉冮檺鍒楄〃 ----------------*/
+ // {
+ // path: 'Permissions',
+ // name: 'Permissions',
+ // component: () => import('../views/Permissions/permissionslist.vue'),
+ // children:[
+ // {
+ // path: '/Permissions/permissionslist',
+ // name: 'permissionslist',
+ // component: () => import('../views/Permissions/permissionslist.vue')
+ // },
+ // ]
+ // },
/*----------- 涓婄墖鏈� ----------------*/
- {
- path: 'Returns',
- name: 'return',
- component: () => import('../views/Returns/return.vue'),
- children:[
- {
- path: '/Returns/returns',
- name: 'returns',
- component: () => import('../views/Returns/returns.vue')
- },
- {
- path: '/Returns/upreturns',
- name: 'upreturns',
- component: () => import('../views/Returns/upreturns.vue')
- },
- {
- path: '/Returns/upreturns2',
- name: 'upreturns2',
- component: () => import('../views/Returns/upreturns2.vue')
- },
- ]
- },
- /*----------- 鎺扮墖/璇嗗埆 ----------------*/
- {
- path: 'Identify',
- name: 'ident',
- component: () => import('../views/Identify/ident.vue'),
- children: [
{
- path: '/Identify/identify',
- name: 'identify',
- component: () => import('../views/Identify/identify.vue')
+ path: 'Returns',
+ name: 'return',
+ component: () => import('../views/Returns/return.vue'),
+ children: [
+ {
+ path: '/Returns/returns',
+ name: 'returns',
+ component: () => import('../views/Returns/returns.vue')
+ },
+ {
+ path: '/Returns/upreturns',
+ name: 'upreturns',
+ component: () => import('../views/Returns/upreturns.vue')
+ },
+ {
+ path: '/Returns/upreturns2',
+ name: 'upreturns2',
+ component: () => import('../views/Returns/upreturns2.vue')
+ },
+ ]
},
+ /*----------- 鎺扮墖/璇嗗埆 ----------------*/
{
- path: '/Identify/identifwu',
- name: 'identifwu',
- component: () => import('../views/Identify/identifwu.vue')
+ path: 'Identify',
+ name: 'ident',
+ component: () => import('../views/Identify/ident.vue'),
+ children: [
+ {
+ path: '/Identify/identify',
+ name: 'identify',
+ component: () => import('../views/Identify/identify.vue')
+ },
+ {
+ path: '/Identify/identifwu',
+ name: 'identifwu',
+ component: () => import('../views/Identify/identifwu.vue')
+ },
+ ]
},
- ]
- },
- /*----------- 鍗у紡缂撳瓨 ----------------*/
- {
- path: 'Caching',
- name: 'Caching',
- component: () => import('../views/Caching/caching.vue'),
- children:[
- {
- path: '/Caching/cachingbefore',
- name: 'cachingbefore',
- component: () => import('../views/Caching/cachingbefore.vue')
- },
- {
- path: '/Caching/cachingun',
- name: 'cachingun',
- component: () => import('../views/Caching/cachingun.vue')
- },
- {
- path: '/Caching/cachingyiwu',
- name: 'cachingyiwu',
- component: () => import('../views/Caching/cachingyiwu.vue')
- },
- ]
- },
- /*----------- 纾ㄨ竟锛堝喎鍔犲伐锛� ----------------*/
-{
- path: 'StockBasicData',
- name: 'Select',
- component: () => import('../views/StockBasicData/Select.vue'),
- children:[
- {
- path: '/StockBasicData/stockBasicData',
- name: 'stockBasicData',
- component: () => import('../views/StockBasicData/stockBasicData.vue')
- },
- {
- path: '/StockBasicData/stockBasicDatatwo',
- name: 'stockBasicDatatwo',
- component: () => import('../views/StockBasicData/stockBasicDatatwo.vue')
- },
- {
- path: '/StockBasicData/stockBasicyiwu',
- name: 'stockBasicyiwu',
- component: () => import('../views/StockBasicData/stockBasicyiwu.vue')
- },
- ]
-},
-/*----------- 澶х悊鐗囩 ----------------*/
-{
-path: 'Slicecage',
-name: 'Slicecage',
-component: () => import('../views/Slicecage/slicecage.vue'),
-children:[
- {
- path: '/Slicecage/slicecage',
- name: 'slicecage',
- component: () => import('../views/Slicecage/slicecage.vue')
- },
-]
-},
-/*----------- 閽㈠寲 ----------------*/
-{
-path: 'PurchaseReturn',
-name: 'purchase',
-component: () => import('../views/PurchaseReturn/purchase.vue'),
-children:[
- {
- path: '/PurchaseReturn/purchaseReturn',
- name: 'purchaseReturn',
- component: () => import('../views/PurchaseReturn/purchaseReturn.vue')
- },
- {
- path: '/PurchaseReturn/purchaseStorage',
- name: 'purchaseStorage',
- component: () => import('../views/PurchaseReturn/purchaseStorage.vue')
- },
- {
- path: '/PurchaseReturn/purchaseprint',
- name: 'purchaseprint',
- component: () => import('../views/PurchaseReturn/purchaseprint.vue')
- },
-]
-},
- /*----------- 涓嬬墖鍙� ----------------*/
+ /*----------- 鍗у紡缂撳瓨 ----------------*/
+ {
+ path: 'Caching',
+ name: 'Caching',
+ component: () => import('../views/Caching/caching.vue'),
+ children: [
+ {
+ path: '/Caching/cachingbefore',
+ name: 'cachingbefore',
+ component: () => import('../views/Caching/cachingbefore.vue')
+ },
+ {
+ path: '/Caching/cachingun',
+ name: 'cachingun',
+ component: () => import('../views/Caching/cachingun.vue')
+ },
+ {
+ path: '/Caching/cachingyiwu',
+ name: 'cachingyiwu',
+ component: () => import('../views/Caching/cachingyiwu.vue')
+ },
+ ]
+ },
+ /*----------- 纾ㄨ竟锛堝喎鍔犲伐锛� ----------------*/
+ {
+ path: 'StockBasicData',
+ name: 'Select',
+ component: () => import('../views/StockBasicData/Select.vue'),
+ children: [
+ {
+ path: '/StockBasicData/stockBasicData',
+ name: 'stockBasicData',
+ component: () => import('../views/StockBasicData/stockBasicData.vue')
+ },
+ {
+ path: '/StockBasicData/stockBasicDatatwo',
+ name: 'stockBasicDatatwo',
+ component: () => import('../views/StockBasicData/stockBasicDatatwo.vue')
+ },
+ {
+ path: '/StockBasicData/stockBasicyiwu',
+ name: 'stockBasicyiwu',
+ component: () => import('../views/StockBasicData/stockBasicyiwu.vue')
+ },
+ ]
+ },
+ /*----------- 澶х悊鐗囩 ----------------*/
+ {
+ path: 'Slicecage',
+ name: 'Slicecage',
+ component: () => import('../views/Slicecage/slicecage.vue'),
+ children: [
+ {
+ path: '/Slicecage/slicecage',
+ name: 'slicecage',
+ component: () => import('../views/Slicecage/slicecage.vue')
+ },
+ ]
+ },
+ /*----------- 閽㈠寲 ----------------*/
+ {
+ path: 'PurchaseReturn',
+ name: 'purchase',
+ component: () => import('../views/PurchaseReturn/purchase.vue'),
+ children: [
+ {
+ path: '/PurchaseReturn/purchaseReturn',
+ name: 'purchaseReturn',
+ component: () => import('../views/PurchaseReturn/purchaseReturn.vue')
+ },
+ {
+ path: '/PurchaseReturn/purchaseStorage',
+ name: 'purchaseStorage',
+ component: () => import('../views/PurchaseReturn/purchaseStorage.vue')
+ },
+ {
+ path: '/PurchaseReturn/purchaseprint',
+ name: 'purchaseprint',
+ component: () => import('../views/PurchaseReturn/purchaseprint.vue')
+ },
+ ]
+ },
+ /*----------- 涓嬬墖鍙� ----------------*/
{
path: 'UnLoadGlass',
name: 'UnLoadGlass',
component: () => import('../views/UnLoadGlass/UnLoadGlass.vue'),
- children:[
+ children: [
{
path: '/UnLoadGlass/loadmachinerack',
name: 'loadmachinerack',
@@ -220,12 +220,12 @@
}
]
},
- /*----------- 浠撳偍涓績 ----------------*/
- {
+ /*----------- 浠撳偍涓績 ----------------*/
+ {
path: 'GlassStorage',
name: 'GlassStorage',
component: () => import('../views/GlassStorage/GlassStorage.vue'),
- children:[
+ children: [
{
path: '/GlassStorage/MaterialRackManagement',
name: 'MaterialRackManagement',
@@ -238,13 +238,13 @@
}
]
},
-
- /*----------- 鍙鍖栫郴缁� ----------------*/
- {
+
+ /*----------- 鍙鍖栫郴缁� ----------------*/
+ {
path: 'Visualization',
name: 'screen',
component: () => import('../views/Visualization/screen.vue'),
- children:[
+ children: [
{
path: '/Visualization/screenone',
name: 'screenone',
@@ -261,69 +261,108 @@
component: () => import('../views/Visualization/screenthree.vue')
}
]
- },
-/*----------- 绯荤粺绠$悊 ----------------*/
-{
- path: 'User',
- name: 'user',
- component: () => import('../views/User/user.vue'),
- children:[
- {
- path: '/User/userlist',
- name: 'userlist',
- component: () => import('../views/User/userlist.vue')
- },
- {
- path: '/User/rolelist',
- name: 'rolelist',
- component: () => import('../views/User/rolelist.vue')
- },
- {
- path: '/User/permissions',
- name: 'permissions',
- component: () => import('../views/User/permissions.vue')
- }
- ]
- },
- /*----------- 澶у睆鏄剧ず ----------------*/
- {
- path: 'largescreen',
- name: 'largescreen',
- component: () => import('../views/largescreen/largescreen.vue'),
- children:[
- {
- path: '/largescreen/largescreen',
- name: 'largescreen',
- component: () => import('../views/largescreen/largescreen.vue')
- },
- ]
- },
- /*----------- 鎶ュ伐绠$悊 ----------------*/
- {
- path: 'reportWork',
- name: 'reportWork',
- component: () => import('../views/ReportWork/reportWork.vue'),
- children: [
- {
- path: '/ReportWork/reportWork',
- name: 'reportWork',
- component: () => import('../views/ReportWork/reportWork.vue')
- },
- ]
- },
- /*----------- 鎶ヨ〃绠$悊 ----------------*/
- {
- path: 'reportManage',
- name: 'reportManage',
- component: () => import('../views/Reportmanage/reportmanage.vue'),
- children: [
- {
- path: '/Reportmanage/reportmanage',
- name: 'reportManage',
- component: () => import('../views/Reportmanage/reportmanage.vue')
- },
- ]
- },
+ },
+ /*----------- 绯荤粺绠$悊 ----------------*/
+ {
+ path: 'User',
+ name: 'user',
+ component: () => import('../views/User/user.vue'),
+ children: [
+ {
+ path: '/User/userlist',
+ name: 'userlist',
+ component: () => import('../views/User/userlist.vue')
+ },
+ {
+ path: '/User/rolelist',
+ name: 'rolelist',
+ component: () => import('../views/User/rolelist.vue')
+ },
+ {
+ path: '/User/permissions',
+ name: 'permissions',
+ component: () => import('../views/User/permissions.vue')
+ }
+ ]
+ },
+ /*----------- 澶у睆鏄剧ず ----------------*/
+ {
+ path: 'largescreen',
+ name: 'largescreen',
+ component: () => import('../views/largescreen/largescreen.vue'),
+ children: [
+ {
+ path: '/largescreen/largescreen',
+ name: 'largescreen',
+ component: () => import('../views/largescreen/largescreen.vue')
+ },
+ ]
+ },
+ /*----------- 鎶ュ伐绠$悊 ----------------*/
+ {
+ path: 'reportWork',
+ name: 'reportWork',
+ component: () => import('../views/ReportWork/reportWork.vue'),
+ children: [
+ {
+ path: '/ReportWork/reportWork',
+ name: 'reportWork',
+ component: () => import('../views/ReportWork/reportWork.vue')
+ },
+ ]
+ },
+ /*----------- 澶х悊鐗囪繘鐗囨姤琛� ----------------*/
+ {
+ path: 'reportBigFeed',
+ name: 'reportBigFeed',
+ component: () => import('../views/Reportmanage/reportBigFeed.vue'),
+ children: [
+ {
+ path: '/Reportmanage/reportBigFeed',
+ name: 'reportBigFeed',
+ component: () => import('../views/Reportmanage/reportBigFeed.vue')
+ },
+ ]
+ },
+ /*----------- 澶х悊鐗囧嚭鐗囨姤琛� ----------------*/
+ {
+ path: 'reportBigOut',
+ name: 'reportBigOut',
+ component: () => import('../views/Reportmanage/reportBigOut.vue'),
+ children: [
+ {
+ path: '/Reportmanage/reportBigOut',
+ name: 'reportBigOut',
+ component: () => import('../views/Reportmanage/reportBigOut.vue')
+ },
+ ]
+ },
+ /*----------- 纾ㄨ竟鍗х悊鐗囨姤琛� ----------------*/
+ {
+ path: 'reportEdgCache',
+ name: 'reportEdgCache',
+ component: () => import('../views/Reportmanage/reportEdgCache.vue'),
+ children: [
+ {
+ path: '/Reportmanage/reportEdgCache',
+ name: 'reportEdgCache',
+ component: () => import('../views/Reportmanage/reportEdgCache.vue')
+ },
+ ]
+ },
+ /*----------- 涓嬬墖鍗х悊鐗囨姤琛� ----------------*/
+ {
+ path: 'reportDownCache',
+ name: 'reportDownCache',
+ component: () => import('../views/Reportmanage/reportDownCache.vue'),
+ children: [
+ {
+ path: '/Reportmanage/reportDownCache',
+ name: 'reportDownCache',
+ component: () => import('../views/Reportmanage/reportDownCache.vue')
+ },
+ ]
+ },
/*----------- 涓┖ ----------------*/
{
@@ -372,17 +411,17 @@
name: 'register',
component: () => import('../views/RegisterView.vue')
}
-
+
]
})
-
+
// 瀵艰埅瀹堝崼
-router.beforeEach((to, from, next) => {
+router.beforeEach((to, from, next) => {
const isAuthenticated = !!localStorage.getItem('authToken'); // 鍋囪杩欐槸浣犵殑鐧诲綍鐘舵�佹鏌ラ�昏緫
- if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
+ if (to.matched.some(record => record.meta.requiresAuth) && !isAuthenticated) {
next({ name: 'login' }); // 濡傛灉闇�瑕佺櫥褰曚絾鏈櫥褰曪紝鍒欓噸瀹氬悜鍒扮櫥褰曢〉闈�
- } else {
+ } else {
next(); // 鍚﹀垯缁х画瀵艰埅
- }
-});
+ }
+});
export default router
\ No newline at end of file
diff --git a/UI-Project/src/utils/constants.js b/UI-Project/src/utils/constants.js
index 31c4046..4f8c07e 100644
--- a/UI-Project/src/utils/constants.js
+++ b/UI-Project/src/utils/constants.js
@@ -1,5 +1,5 @@
- export const WebSocketHost = "192.168.1.199";
+// export const WebSocketHost = "192.168.1.199";
// export const WebSocketHost = "10.153.19.150";
// export const WebSocketHost = "10.153.19.44";
-// export const WebSocketHost = "127.0.0.1";
+export const WebSocketHost = "127.0.0.1";
export const host = "88";
diff --git a/UI-Project/src/views/NewPage.vue b/UI-Project/src/views/NewPage.vue
index 5419719..46764dc 100644
--- a/UI-Project/src/views/NewPage.vue
+++ b/UI-Project/src/views/NewPage.vue
@@ -22,6 +22,7 @@
height: `${rect.height}px`,
backgroundColor: 'lightblue'}">
<div class="centered-text">
+ <div style="font-size: 15px;font-weight: bold;">{{ rect.sort }}</div>
<div style="font-size: 15px;font-weight: bold;">{{ rect.process_id }}</div>
<div style="font-size: 15px;font-weight: bold;">{{ rect.project_no }}</div>
<div style="font-size: 30px;font-weight: bold;">{{ rect.widtha }}*{{ rect.heighta }}</div>
diff --git a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
index dd073d0..c3cef19 100644
--- a/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
+++ b/UI-Project/src/views/PurchaseReturn/purchaseReturn.vue
@@ -949,6 +949,26 @@
console.error(error);
}
}
+// 閽㈠寲鐐�
+const handleal11 = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
+ temperingLayoutId: currenttemperingLayoutId.value,
+ engineerId: currentengineerId.value,
+ state: 2,
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blinda.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
// 杩涚倝鍓嶄汉宸ユ嬁璧�
const takeouta = async () => {
try {
@@ -1014,12 +1034,50 @@
console.error(error);
}
}
+const handleall1 = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
+ temperingLayoutId: currenttemperingLayoutId.value,
+ engineerId: currentengineerId.value,
+ state: 3,
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blind1.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
const handletakeall33 = async () => {
try {
const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
temperingLayoutId: currenttemperingLayoutId.value,
engineerId: currentengineerId.value,
state: 9,
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blind3.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+const handleall3 = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
+ temperingLayoutId: currenttemperingLayoutId.value,
+ engineerId: currentengineerId.value,
+ state: 3,
})
if (response.code == 200) {
ElMessage.success('鎴愬姛锛�');
@@ -1052,6 +1110,25 @@
console.error(error);
}
}
+const handleall2 = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
+ temperingLayoutId: currenttemperingLayoutId.value,
+ engineerId: currentengineerId.value,
+ state: 3,
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blind2.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
const handletakeall44 = async () => {
try {
const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
@@ -1071,12 +1148,51 @@
console.error(error);
}
}
+const handleall4 = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
+ temperingLayoutId: currenttemperingLayoutId.value,
+ engineerId: currentengineerId.value,
+ state: 3,
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blind4.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
const handletakeall4 = async () => {
try {
const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
temperingLayoutId: currenttemperingLayoutId.value,
engineerId: currentengineerId.value,
state: 9,
+ })
+ if (response.code == 200) {
+ ElMessage.success('鎴愬姛锛�');
+ blind4.value = false;
+ } else {
+ ElMessage.error(response.message);
+ }
+}
+catch (error) {
+ // 澶勭悊閿欒
+ console.error(error);
+ }
+}
+// 鍑虹墖
+const handleall14 = async () => {
+ try {
+ const response = await request.post('/temperingGlass/temperingGlassInfo/updateTemperingStateAll', {
+ temperingLayoutId: currenttemperingLayoutId.value,
+ engineerId: currentengineerId.value,
+ state: 4,
})
if (response.code == 200) {
ElMessage.success('鎴愬姛锛�');
@@ -1484,6 +1600,9 @@
<el-button type="info" plain @click="handletakeall1" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
{{ $t('order.takeall') }}
</el-button>
+ <el-button type="info" plain @click="handleall1" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('processCard.outfurnace') }}
+ </el-button>
</el-dialog>
<el-dialog v-model="blind2" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose2">
<el-button :disabled="!canSelectProject2" type="warning" plain :icon="Delete" @click="handleDamage2" style="width: 150px;margin-left: 10px;">
@@ -1495,6 +1614,9 @@
</el-button>
<el-button type="info" plain @click="handletakeall2" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
{{ $t('order.takeall') }}
+ </el-button>
+ <el-button type="info" plain @click="handleall2" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('processCard.outfurnace') }}
</el-button>
</el-dialog>
<el-dialog v-model="blind3" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose3">
@@ -1508,6 +1630,9 @@
<el-button type="info" plain @click="handletakeall33" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
{{ $t('order.takeall') }}
</el-button>
+ <el-button type="info" plain @click="handleall3" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('processCard.outfurnace') }}
+ </el-button>
</el-dialog>
<el-dialog v-model="blind4" top="30vh" width="15%" style="text-align: center;" @close="handleDialogClose4">
<el-button :disabled="!canSelectProject4" type="warning" plain :icon="Delete" @click="handleDamage4" style="width: 150px;margin-left: 10px;">
@@ -1519,6 +1644,9 @@
</el-button>
<el-button type="info" plain @click="handletakeall44" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
{{ $t('order.takeall') }}
+ </el-button>
+ <el-button type="info" plain @click="handleall4" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('processCard.outfurnace') }}
</el-button>
</el-dialog>
<!-- 杩涚倝鍓� -->
@@ -1536,6 +1664,9 @@
<el-button type="info" plain @click="handletakeall3" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
{{ $t('order.takeall') }}
</el-button>
+ <el-button type="info" plain @click="handleal11" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('processCard.intofurnace') }}
+ </el-button>
</el-dialog>
<!-- 宸插嚭鐐� -->
<el-dialog v-model="blindb" top="30vh" width="15%" style="text-align: center;" @close="handleDialogCloseb">
@@ -1549,6 +1680,10 @@
<el-button type="info" plain @click="handletakeall4" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
{{ $t('order.takeall') }}
</el-button>
+
+ <el-button type="info" plain @click="handleall14" :disabled="!cantakeall" style="width: 150px;margin-left: 10px;margin-top: 10px;">
+ {{ $t('searchOrder.outfilm') }}
+ </el-button>
<!-- <el-button type="success" plain :icon="Edit" @click="takeonb" :disabled="!canonb" style="width: 150px;margin-left: 10px;margin-top: 10px;">
{{ $t('order.takeon') }}
</el-button> -->
diff --git a/UI-Project/src/views/Reportmanage/reportBigFeed.vue b/UI-Project/src/views/Reportmanage/reportBigFeed.vue
new file mode 100644
index 0000000..64870bc
--- /dev/null
+++ b/UI-Project/src/views/Reportmanage/reportBigFeed.vue
@@ -0,0 +1,161 @@
+<template>
+ <div style="height: 600px;">
+ <div style="display: flex; flex-direction: row; align-items: center; margin-top: 20px;">
+ <span style="margin-left: 10px;" class="demonstration">{{ $t('reportmanage.productiontime') }}</span>
+ <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
+ value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
+ :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
+ <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ユ牸瀛愬彿" />
+ <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ュ" />
+ <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ラ珮" />
+ <!-- <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.go')" value="1"></el-option>
+ <el-option :label="$t('reportmanage.nogo')" value="2"></el-option>
+ </el-select> -->
+ <el-select v-model="report.taskState" :placeholder="$t('reportmanage.cstate')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
+ <el-option :label="$t('reportmanage.scan')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.feeding')" value="1"></el-option>
+ <el-option :label="$t('reportmanage.in')" value="2"></el-option>
+ <el-option :label="$t('reportmanage.car')" value="3"></el-option>
+ <el-option :label="$t('reportmanage.cage')" value="4"></el-option>
+ </el-select>
+ <el-select v-model="report.line" :placeholder="$t('reportmanage.cprocess')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.oneline')" value="2001"></el-option>
+ <el-option :label="$t('reportmanage.twoline')" value="2002"></el-option>
+ </el-select>
+ <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('reportmanage.inquire')
+ }}</el-button>
+ </div>
+ <el-card style="flex: 1;margin-left: 10px;margin-top: 20px;" v-loading="loading">
+ <div style="margin-bottom: 20px">
+ <el-row style="margin-top: -15px;margin-bottom: -2px;">
+ <el-col :span="3">
+ <div id="dta" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalCounts')" style="width: 14vw">
+ {{ totalCounts }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalAreas')" style="width: 14vw">
+ {{ totalAreas }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalDamages')" style="width: 14vw">
+ {{ totalDamages }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalTakes')" style="width: 14vw">
+ {{ totalTakes }}
+ </el-form-item>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table height="700" ref="table" :data="reportData"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="id" align="center" :label="$t('reportmanage.id')"
+ min-width="120" />
+ <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="130" />
+ <el-table-column prop="targetSlot" align="center" :label="$t('reportmanage.targetSlot')"
+ min-width="120" />
+ <el-table-column prop="line" align="center" :label="$t('reportmanage.line')" min-width="120" />
+ <el-table-column prop="taskState" align="center" :label="$t('reportmanage.state')" min-width="120" />
+ <el-table-column prop="width" align="center" :label="$t('reportmanage.width')" min-width="120" />
+ <el-table-column prop="height" align="center" :label="$t('reportmanage.height')"
+ min-width="120" />
+ <el-table-column prop="createTime" align="center" :label="$t('reportmanage.createTime')"
+ min-width="230" />
+ </el-table>
+ </div>
+ </el-card>
+ </div>
+</template>
+<script setup>
+import { Delete, Upload } from '@element-plus/icons-vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, onMounted, onBeforeUnmount, reactive, computed, shallowRef, onUnmounted, watchEffect } from "vue";
+import request from "@/utils/request"
+import { WebSocketHost, host } from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
+const report = ref({
+ targetSlot: '',
+ taskType: '0',
+ taskState: '-1',
+ line: '0',
+ width: '',
+ height: ''
+});
+const reportData = ref([])
+const endDate = new Date();
+const startDate = new Date();
+startDate.setDate(endDate.getDate() - 100); // 鑾峰彇涓�涓槦鏈熷墠鐨勬椂闂�
+// 鏍煎紡鍖栦负 "YYYY-MM-DD" 鏍煎紡
+const formatDate = (date) => {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, '0');
+ const day = String(date.getDate()).padStart(2, '0');
+ return `${year}-${month}-${day}`;
+};
+
+const timeRange = ref([formatDate(startDate), formatDate(endDate)]);
+const totalCounts = ref(0);
+const totalAreas = ref(0);
+const totalDamages = ref(0);
+const totalTakes = ref(0);
+
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+ const response = await request.post("/cacheVerticalGlass/bigStorageCageFeedTask/selectBigStorageCageFeedTask?startTime="+timeRange.value[0]+"&&endTime="+timeRange.value[1]+"", {
+ startTime: timeRange.value[0],
+ endTime: timeRange.value[1],
+ targetSlot: report.value.targetSlot,
+ width: report.value.width,
+ height: report.value.height,
+ taskType: report.value.taskType,
+ taskState: report.value.taskState,
+ line: report.value.line
+ })
+ if (response.code === 200) {
+ reportData.value = response.data;
+ let totalCount = 0;
+ let totalArea = 0;
+ let totalDamage = 0;
+ let totalTake = 0;
+ response.data.forEach(item => {
+ if(item.taskState == 4){
+ totalCount+=1;
+ totalArea+=item.width*item.height/1000000;
+ }
+ if(item.taskState == 8){
+ totalDamage+=1;
+ }
+ if(item.taskState == 9){
+ totalTake+=1;
+ }
+ });
+ totalCounts.value = totalCount;
+ totalAreas.value = totalArea.toFixed(2);
+ totalDamages.value = totalDamage;
+ totalTakes.value = totalTake;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+
+};
+
+</script>
\ No newline at end of file
diff --git a/UI-Project/src/views/Reportmanage/reportBigOut.vue b/UI-Project/src/views/Reportmanage/reportBigOut.vue
new file mode 100644
index 0000000..e37981c
--- /dev/null
+++ b/UI-Project/src/views/Reportmanage/reportBigOut.vue
@@ -0,0 +1,171 @@
+<template>
+ <div style="height: 600px;">
+ <div style="display: flex; flex-direction: row; align-items: center; margin-top: 20px;">
+ <span style="margin-left: 10px;" class="demonstration">{{ $t('reportmanage.productiontime') }}</span>
+ <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
+ value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
+ :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
+ <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ユ牸瀛愬彿" />
+ <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ュ" />
+ <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ラ珮" />
+ <!-- <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.go')" value="1"></el-option>
+ <el-option :label="$t('reportmanage.nogo')" value="2"></el-option>
+ </el-select> -->
+ <el-select v-model="report.taskState" :placeholder="$t('reportmanage.cstate')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
+ <el-option :label="$t('reportmanage.cage')" value="1"></el-option>
+ <el-option :label="$t('reportmanage.car')" value="2"></el-option>
+ <el-option :label="$t('reportmanage.outed')" value="3"></el-option>
+ </el-select>
+ <el-select v-model="report.line" :placeholder="$t('reportmanage.cprocess')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.oneline')" value="3001"></el-option>
+ <el-option :label="$t('reportmanage.twoline')" value="3002"></el-option>
+ </el-select>
+ <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('reportmanage.inquire')
+ }}</el-button>
+ </div>
+ <el-card style="flex: 1;margin-left: 10px;" v-loading="loading">
+ <div style="margin-bottom: 20px">
+ <el-row style="margin-top: -15px;margin-bottom: -2px;">
+ <el-col :span="3">
+ <div id="dta" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalCounts')" style="width: 14vw">
+ {{ totalCounts }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalAreas')" style="width: 14vw">
+ {{ totalAreas }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalDamages')" style="width: 14vw">
+ {{ totalDamages }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalTakes')" style="width: 14vw">
+ {{ totalTakes }}
+ </el-form-item>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table height="700" ref="table" :data="reportData"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="id" align="center" :label="$t('reportmanage.id')" min-width="120" />
+ <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="130" />
+ <el-table-column prop="startSlot" align="center" :label="$t('reportmanage.targetSlot')" min-width="120" />
+ <el-table-column prop="endSlot" align="center" :label="$t('reportmanage.line')" min-width="120" />
+ <el-table-column prop="taskState" align="center" :label="$t('reportmanage.state')" min-width="120">
+ <template #default="scope">
+ <span v-if="scope.row.taskState == 1">{{ $t('reportmanage.cage') }}</span>
+ <span v-if="scope.row.taskState == 2">{{ $t('reportmanage.car') }}</span>
+ <span v-if="scope.row.taskState == 3">{{ $t('reportmanage.outed') }}</span>
+ </template>
+ </el-table-column>
+
+ <el-table-column prop="width" align="center" :label="$t('reportmanage.width')" min-width="120">
+ <template #default="scope">
+ {{scope.row.width/10}}
+ </template>
+ </el-table-column>
+
+ <el-table-column prop="height" align="center" :label="$t('reportmanage.height')" min-width="120" >
+ <template #default="scope">
+ {{scope.row.height/10}}
+ </template>
+ </el-table-column>
+ <el-table-column prop="createTime" align="center" :label="$t('reportmanage.createTime')" min-width="230" />
+ </el-table>
+ </div>
+ </el-card>
+ </div>
+</template>
+<script setup>
+import { Delete, Upload } from '@element-plus/icons-vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, onMounted, onBeforeUnmount, reactive, computed, shallowRef, onUnmounted, watchEffect } from "vue";
+import request from "@/utils/request"
+import { WebSocketHost, host } from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
+const report = ref({
+ targetSlot: '',
+ taskType: '0',
+ taskState: '-1',
+ line: '0',
+ width: '',
+ height: ''
+});
+const reportData = ref([])
+const endDate = new Date();
+const startDate = new Date();
+startDate.setDate(endDate.getDate() - 100); // 鑾峰彇涓�涓槦鏈熷墠鐨勬椂闂�
+// 鏍煎紡鍖栦负 "YYYY-MM-DD" 鏍煎紡
+const formatDate = (date) => {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, '0');
+ const day = String(date.getDate()).padStart(2, '0');
+ return `${year}-${month}-${day}`;
+};
+
+const timeRange = ref([formatDate(startDate), formatDate(endDate)]);
+const totalCounts = ref(0);
+const totalAreas = ref(0);
+const totalDamages = ref(0);
+const totalTakes = ref(0);
+
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+ const response = await request.post("/cacheVerticalGlass/bigStorageCageOutTask/selectBigStorageCageOutTask?startTime=" + timeRange.value[0] + "&&endTime=" + timeRange.value[1] + "", {
+ startTime: timeRange.value[0],
+ endTime: timeRange.value[1],
+ startSlot: report.value.targetSlot,
+ width: report.value.width,
+ height: report.value.height,
+ taskType: report.value.taskType,
+ taskState: report.value.taskState,
+ endSlot: report.value.line
+ })
+ if (response.code === 200) {
+ reportData.value = response.data;
+ let totalCount = 0;
+ let totalArea = 0;
+ let totalDamage = 0;
+ let totalTake = 0;
+ response.data.forEach(item => {
+ if (item.taskState == 3) {
+ totalCount += 1;
+ totalArea += item.width * item.height / 100000000;
+ }
+ if (item.taskState == 8) {
+ totalDamage += 1;
+ }
+ if (item.taskState == 9) {
+ totalTake += 1;
+ }
+ });
+ totalCounts.value = totalCount;
+ totalAreas.value = totalArea.toFixed(2);
+ totalDamages.value = totalDamage;
+ totalTakes.value = totalTake;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+
+};
+
+</script>
\ No newline at end of file
diff --git a/UI-Project/src/views/Reportmanage/reportDownCache.vue b/UI-Project/src/views/Reportmanage/reportDownCache.vue
new file mode 100644
index 0000000..7d85115
--- /dev/null
+++ b/UI-Project/src/views/Reportmanage/reportDownCache.vue
@@ -0,0 +1,164 @@
+<template>
+ <div style="height: 600px;">
+ <div style="display: flex; flex-direction: row; align-items: center; margin-top: 20px;">
+ <span style="margin-left: 10px;" class="demonstration">{{ $t('reportmanage.productiontime') }}</span>
+ <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
+ value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
+ :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
+ <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ユ牸瀛愬彿" />
+ <!-- <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ュ" />
+ <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ラ珮" /> -->
+ <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
+ <el-option :label="$t('reportmanage.incomplete')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.complete')" value="1"></el-option>
+ </el-select>
+ <el-select v-model="report.taskState" :placeholder="$t('reportmanage.cstate')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
+ <el-option :label="$t('reportmanage.feed')" value="1"></el-option>
+ <el-option :label="$t('reportmanage.out')" value="2"></el-option>
+ <el-option :label="$t('reportmanage.straightthrough')" value="3"></el-option>
+ </el-select>
+ <!-- <el-select v-model="report.line" :placeholder="$t('reportmanage.cprocess')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.oneline')" value="2001"></el-option>
+ <el-option :label="$t('reportmanage.twoline')" value="2002"></el-option>
+ </el-select> -->
+ <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('reportmanage.inquire')
+ }}</el-button>
+ </div>
+ <el-card style="flex: 1;margin-left: 10px;" v-loading="loading">
+ <!-- <div style="margin-bottom: 20px">
+ <el-row style="margin-top: -15px;margin-bottom: -2px;">
+ <el-col :span="3">
+ <div id="dta" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalCounts')" style="width: 14vw">
+ {{ totalCounts }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalAreas')" style="width: 14vw">
+ {{ totalAreas }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalDamages')" style="width: 14vw">
+ {{ totalDamages }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalTakes')" style="width: 14vw">
+ {{ totalTakes }}
+ </el-form-item>
+ </div>
+ </el-col>
+ </el-row>
+ </div> -->
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table height="750" ref="table" :data="reportData"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="130" />
+ <el-table-column prop="startCell" align="center" :label="$t('reportmanage.targetSlot')" min-width="120" />
+ <el-table-column prop="endCell" align="center" :label="$t('reportmanage.endSlot')" min-width="120" />
+ <el-table-column prop="taskStatus" align="center" :label="$t('reportmanage.state')" min-width="120">
+ <template #default="scope">
+ <span v-if="scope.row.taskStatus == 0">{{ $t('reportmanage.incomplete') }}</span>
+ <span v-if="scope.row.taskStatus == 1">{{ $t('reportmanage.complete') }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="taskType" align="center" :label="$t('reportmanage.type')" min-width="120">
+ <template #default="scope">
+ <span v-if="scope.row.taskType == 1">{{ $t('reportmanage.cage') }}</span>
+ <span v-if="scope.row.taskType == 2">{{ $t('reportmanage.out') }}</span>
+ <span v-if="scope.row.taskType == 3">{{ $t('reportmanage.straightthrough') }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="createTime" align="center" :label="$t('reportmanage.createTime')" min-width="230" />
+ </el-table>
+ </div>
+ </el-card>
+ </div>
+</template>
+<script setup>
+import { Delete, Upload } from '@element-plus/icons-vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, onMounted, onBeforeUnmount, reactive, computed, shallowRef, onUnmounted, watchEffect } from "vue";
+import request from "@/utils/request"
+import { WebSocketHost, host } from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
+const report = ref({
+ targetSlot: '',
+ taskType: '-1',
+ taskState: '-1',
+ line: '0',
+ width: '',
+ height: ''
+});
+const reportData = ref([])
+const endDate = new Date();
+const startDate = new Date();
+startDate.setDate(endDate.getDate() - 100); // 鑾峰彇涓�涓槦鏈熷墠鐨勬椂闂�
+// 鏍煎紡鍖栦负 "YYYY-MM-DD" 鏍煎紡
+const formatDate = (date) => {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, '0');
+ const day = String(date.getDate()).padStart(2, '0');
+ return `${year}-${month}-${day}`;
+};
+
+const timeRange = ref([formatDate(startDate), formatDate(endDate)]);
+const totalCounts = ref(0);
+const totalAreas = ref(0);
+const totalDamages = ref(0);
+const totalTakes = ref(0);
+
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+ const response = await request.post("/unLoadGlass/downGlassTask/selectDownGlassTask?startTime=" + timeRange.value[0] + "&&endTime=" + timeRange.value[1] + "", {
+ startTime: timeRange.value[0],
+ endTime: timeRange.value[1],
+ startCell: report.value.targetSlot,
+ width: report.value.width,
+ height: report.value.height,
+ taskType: report.value.taskType,
+ taskStatus: report.value.taskState,
+ endCell: report.value.line
+ })
+ if (response.code === 200) {
+ reportData.value = response.data;
+ let totalCount = 0;
+ let totalArea = 0;
+ let totalDamage = 0;
+ let totalTake = 0;
+ // response.data.forEach(item => {
+ // if (item.taskState == 3) {
+ // totalCount += 1;
+ // totalArea += item.width * item.height / 100000000;
+ // }
+ // if (item.taskState == 8) {
+ // totalDamage += 1;
+ // }
+ // if (item.taskState == 9) {
+ // totalTake += 1;
+ // }
+ // });
+ totalCounts.value = totalCount;
+ totalAreas.value = totalArea.toFixed(2);
+ totalDamages.value = totalDamage;
+ totalTakes.value = totalTake;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+
+};
+
+</script>
\ No newline at end of file
diff --git a/UI-Project/src/views/Reportmanage/reportEdgCache.vue b/UI-Project/src/views/Reportmanage/reportEdgCache.vue
new file mode 100644
index 0000000..14a92ac
--- /dev/null
+++ b/UI-Project/src/views/Reportmanage/reportEdgCache.vue
@@ -0,0 +1,164 @@
+<template>
+ <div style="height: 600px;">
+ <div style="display: flex; flex-direction: row; align-items: center; margin-top: 20px;">
+ <span style="margin-left: 10px;" class="demonstration">{{ $t('reportmanage.productiontime') }}</span>
+ <el-date-picker style="margin-left: 10px;" v-model="timeRange" type="daterange" format="YYYY/MM/DD"
+ value-format="YYYY-MM-DD" :start-placeholder="$t('reportmanage.starttime')"
+ :end-placeholder="$t('reportmanage.endtime')" :default-time="defaultTime" />
+ <el-input v-model="report.targetSlot" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ユ牸瀛愬彿" />
+ <!-- <el-input v-model="report.width" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ュ" />
+ <el-input v-model="report.height" style="margin-left: 15px;width: 150px" placeholder="璇疯緭鍏ラ珮" /> -->
+ <el-select v-model="report.taskType" :placeholder="$t('reportmanage.ctype')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
+ <el-option :label="$t('reportmanage.incomplete')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.complete')" value="1"></el-option>
+ </el-select>
+ <el-select v-model="report.taskState" :placeholder="$t('reportmanage.cstate')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="-1"></el-option>
+ <el-option :label="$t('reportmanage.feed')" value="1"></el-option>
+ <el-option :label="$t('reportmanage.out')" value="2"></el-option>
+ <el-option :label="$t('reportmanage.straightthrough')" value="3"></el-option>
+ </el-select>
+ <el-select v-model="report.line" :placeholder="$t('reportmanage.cprocess')" style="margin-left: 10px;">
+ <el-option :label="$t('reportmanage.all')" value="0"></el-option>
+ <el-option :label="$t('reportmanage.oneline')" value="2001"></el-option>
+ <el-option :label="$t('reportmanage.twoline')" value="2002"></el-option>
+ </el-select>
+ <el-button type="primary" style="margin-left: 10px;" @click="selectReportData()">{{ $t('reportmanage.inquire')
+ }}</el-button>
+ </div>
+ <el-card style="flex: 1;margin-left: 10px;" v-loading="loading">
+ <!-- <div style="margin-bottom: 20px">
+ <el-row style="margin-top: -15px;margin-bottom: -2px;">
+ <el-col :span="3">
+ <div id="dta" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalCounts')" style="width: 14vw">
+ {{ totalCounts }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalAreas')" style="width: 14vw">
+ {{ totalAreas }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalDamages')" style="width: 14vw">
+ {{ totalDamages }}
+ </el-form-item>
+ </div>
+ </el-col>
+ <el-col :span="3">
+ <div id="dt" style="font-size: 15px;">
+ <el-form-item :label="$t('reportmanage.totalTakes')" style="width: 14vw">
+ {{ totalTakes }}
+ </el-form-item>
+ </div>
+ </el-col>
+ </el-row>
+ </div> -->
+ <div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;">
+ <el-table height="750" ref="table" :data="reportData"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="glassId" align="center" :label="$t('reportmanage.glassID')" min-width="130" />
+ <el-table-column prop="startCell" align="center" :label="$t('reportmanage.targetSlot')" min-width="120" />
+ <el-table-column prop="endCell" align="center" :label="$t('reportmanage.line')" min-width="120" />
+ <el-table-column prop="taskStatus" align="center" :label="$t('reportmanage.state')" min-width="120">
+ <template #default="scope">
+ <span v-if="scope.row.taskStatus == 0">{{ $t('reportmanage.incomplete') }}</span>
+ <span v-if="scope.row.taskStatus == 1">{{ $t('reportmanage.complete') }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="taskType" align="center" :label="$t('reportmanage.type')" min-width="120">
+ <template #default="scope">
+ <span v-if="scope.row.taskType == 1">{{ $t('reportmanage.cage') }}</span>
+ <span v-if="scope.row.taskType == 2">{{ $t('reportmanage.out') }}</span>
+ <span v-if="scope.row.taskType == 3">{{ $t('reportmanage.straightthrough') }}</span>
+ </template>
+ </el-table-column>
+ <el-table-column prop="createTime" align="center" :label="$t('reportmanage.createTime')" min-width="230" />
+ </el-table>
+ </div>
+ </el-card>
+ </div>
+</template>
+<script setup>
+import { Delete, Upload } from '@element-plus/icons-vue'
+import { ElMessage, ElMessageBox } from 'element-plus'
+import { ref, onMounted, onBeforeUnmount, reactive, computed, shallowRef, onUnmounted, watchEffect } from "vue";
+import request from "@/utils/request"
+import { WebSocketHost, host } from '@/utils/constants'
+import { initializeWebSocket, closeWebSocket } from '@/utils/WebSocketService';
+import { useI18n } from 'vue-i18n'
+const { t } = useI18n()
+const report = ref({
+ targetSlot: '',
+ taskType: '-1',
+ taskState: '-1',
+ line: '0',
+ width: '',
+ height: ''
+});
+const reportData = ref([])
+const endDate = new Date();
+const startDate = new Date();
+startDate.setDate(endDate.getDate() - 100); // 鑾峰彇涓�涓槦鏈熷墠鐨勬椂闂�
+// 鏍煎紡鍖栦负 "YYYY-MM-DD" 鏍煎紡
+const formatDate = (date) => {
+ const year = date.getFullYear();
+ const month = String(date.getMonth() + 1).padStart(2, '0');
+ const day = String(date.getDate()).padStart(2, '0');
+ return `${year}-${month}-${day}`;
+};
+
+const timeRange = ref([formatDate(startDate), formatDate(endDate)]);
+const totalCounts = ref(0);
+const totalAreas = ref(0);
+const totalDamages = ref(0);
+const totalTakes = ref(0);
+
+// 鏌ヨ鏁版嵁
+const selectReportData = async () => {
+ const response = await request.post("/cacheGlass/taskCache/selectTaskCache?startTime=" + timeRange.value[0] + "&&endTime=" + timeRange.value[1] + "", {
+ startTime: timeRange.value[0],
+ endTime: timeRange.value[1],
+ startCell: report.value.targetSlot,
+ width: report.value.width,
+ height: report.value.height,
+ taskType: report.value.taskType,
+ taskStatus: report.value.taskState,
+ endCell: report.value.line
+ })
+ if (response.code === 200) {
+ reportData.value = response.data;
+ let totalCount = 0;
+ let totalArea = 0;
+ let totalDamage = 0;
+ let totalTake = 0;
+ // response.data.forEach(item => {
+ // if (item.taskState == 3) {
+ // totalCount += 1;
+ // totalArea += item.width * item.height / 100000000;
+ // }
+ // if (item.taskState == 8) {
+ // totalDamage += 1;
+ // }
+ // if (item.taskState == 9) {
+ // totalTake += 1;
+ // }
+ // });
+ totalCounts.value = totalCount;
+ totalAreas.value = totalArea.toFixed(2);
+ totalDamages.value = totalDamage;
+ totalTakes.value = totalTake;
+ ElMessage.success(response.message);
+ } else {
+ ElMessage.error(response.message);
+ }
+
+};
+
+</script>
\ No newline at end of file
diff --git a/UI-Project/src/views/Slicecage/slicecage.vue b/UI-Project/src/views/Slicecage/slicecage.vue
index 635d246..8a60018 100644
--- a/UI-Project/src/views/Slicecage/slicecage.vue
+++ b/UI-Project/src/views/Slicecage/slicecage.vue
@@ -18,6 +18,7 @@
const dialogFormVisibleb = ref(false)
const dialogFormVisiblec = ref(false)
const dialogFormVisibles = ref(false)
+const dialogFormVisibleq = ref(false)
const tableData = ref([])
const tableDatagh = ref([])
const tableDatab = ref([])
@@ -27,6 +28,7 @@
const tableDatae = ref([])
const tableDatax = ref([])
const tableDatas = ref([])
+const tableDataq = ref([])
const carPosition = ref([])
const ganghua = ref('')
const adjustedRects = ref([]);
@@ -712,6 +714,19 @@
}
}
+const fetchFlowss = async () => {
+ try {
+ const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/selectFlowCardCount');
+ if (response.code === 200) {
+ tableDataq.value = response.data
+ } else {
+ ElMessage.warning(response.msg)
+ }
+ } catch (error) {
+ // console.error('Error fetching rects :', error);
+ }
+}
+
const scheduleTime = async () => {
try {
const response = await request.post('/cacheVerticalGlass/bigStorageCageDetails/scheduleTime')
@@ -1014,11 +1029,15 @@
$t('searchOrder.dutyinformation') }}</el-button>
<el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info"
@click="dialogFormVisibles = true; fetchFlows()">{{ $t('searchOrder.searchlayout') }}</el-button>
+
+ <el-button style="margin-top: 5px;margin-left: 10px;" id="searchButton" type="info"
+ @click="dialogFormVisibleq = true; fetchFlowss()">{{ $t('searchOrder.processcardinquiry') }}</el-button>
+
<el-switch style="margin-top: 5px;margin-left: 10px;" v-model="ganghua" class="mb-2"
:inactive-text="$t('searchOrder.temperedswitch')" @change="handleChange" />
- <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
+ <!-- <el-button style="margin-top: 10px;margin-left: 10px;margin-bottom: 10px;" id="searchButton" type="primary"
@click="dialogFormVisibleaDownGlasss = true">鏍囩鎵撳嵃
- </el-button>
+ </el-button> -->
<div style="display: flex;">
<el-card style="flex: 1;margin-left: 10px;margin-top: 5px;" v-loading="loading">
<div style="width: 98%; height: calc(100% - 35px); overflow-y: auto;max-height: 240px;">
@@ -1672,6 +1691,18 @@
</el-table-column>
</el-table>
</el-dialog>
+ <el-dialog v-model="dialogFormVisibleq" top="5vh" width="85%" :title="$t('searchOrder.processcardqueriesa')">
+ <el-table ref="table" style="margin-top: 20px;height: 500px;" :data="tableDataq"
+ :header-cell-style="{ background: '#F2F3F5 ', color: '#1D2129' }">
+ <el-table-column prop="engineerId" fixed align="center" :label="$t('searchOrder.projectnumber')" />
+ <el-table-column prop="flowCardIdCount" align="center" :label="$t('searchOrder.cardnumber')" />
+ <el-table-column prop="totalTemper" align="center" :label="$t('searchOrder.totalTemper')" />
+ <el-table-column prop="glassTotalArea" align="center" :label="$t('searchOrder.totalAreas')" />
+ <el-table-column prop="cageTemper" align="center" :label="$t('searchOrder.cageTemper')" />
+ <el-table-column prop="cageArea" align="center" :label="$t('searchOrder.cageArea')" />
+
+ </el-table>
+ </el-dialog>
<el-dialog v-model="dialogFormVisibleaDownGlasss" top="2vh" width="97%" title="浜哄伐涓嬬墖淇℃伅">
<div style="display:flex;justify-content: space-around;">
<el-card
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 06f0c22..7216a2c 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
@@ -2,6 +2,7 @@
import com.mes.order.entity.Orderdetail;
import com.mes.order.entity.Orders;
import com.mes.order.service.OrdersService;
+import com.mes.pp.entity.OrderChange;
import com.mes.utils.Result;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -35,5 +36,11 @@
log.info("鏄剧ず璁㈠崟璇︽儏淇℃伅:{}", glass);
return Result.build(200, "", glass);
}
+
+ @ApiOperation("璁㈠崟鍙樻洿")
+ @PostMapping("/orderChange") //鏄剧ず宸ョ▼閫夋嫨淇℃伅
+ public Result orderChange(@RequestBody List<OrderChange> orderChanges) {
+ return Result.build(200, "浼犲叆鍙傛暟"+orderChanges, ordersService.orderChange(orderChanges));
+ }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java
index 90702fa..13bf244 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/OrdersService.java
@@ -4,6 +4,7 @@
import com.mes.order.entity.Order;
import com.mes.order.entity.Orderdetail;
import com.mes.order.entity.Orders;
+import com.mes.pp.entity.OrderChange;
import java.util.List;
@@ -20,4 +21,6 @@
List<Orders> selectOrders();
List<Orderdetail> selectOrderdetail(Orders orders);
+
+ List<OrderChange> orderChange(List<OrderChange> orderChanges);
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java
index 938d4bf..f67f4ec 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/order/service/impl/OrdersServiceImpl.java
@@ -2,21 +2,28 @@
import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.mes.glassinfo.entity.GlassInfo;
+import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.glassinfo.service.GlassInfoService;
import com.mes.order.entity.Orderdetail;
import com.mes.order.entity.Orders;
import com.mes.order.mapper.OrderdetailMapper;
import com.mes.order.mapper.OrdersMapper;
import com.mes.order.service.OrdersService;
+import com.mes.pp.entity.OrderChange;
+import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
/**
* <p>
- * 鏈嶅姟瀹炵幇绫�
+ * 鏈嶅姟瀹炵幇绫�
* </p>
*
* @author wu
@@ -24,9 +31,15 @@
*/
@Service
@DS("sd")
+@Slf4j
public class OrdersServiceImpl extends ServiceImpl<OrdersMapper, Orders> implements OrdersService {
-@Autowired
-private OrderdetailMapper orderdetailMapper;
+ @Resource
+ private OrderdetailMapper orderdetailMapper;
+ @Resource
+ private GlassInfoService glassInfoService;
+ @Resource
+ private GlassInfoMapper glassInfoMapper;
+
@Override
public List<Orders> selectOrders() {
//鑾峰彇鎵�鏈夋湭瀹屾垚鐨勮鍗�
@@ -41,4 +54,24 @@
queryWrapper.eq("order_id", orders.getOrderId());
return orderdetailMapper.selectList(queryWrapper);
}
+
+ @Override
+ public List<OrderChange> orderChange(List<OrderChange> orderChanges) {
+ for (OrderChange orderChange : orderChanges) {
+ int affectedRows = glassInfoMapper.update(null,
+ new LambdaUpdateWrapper<GlassInfo>()
+ .eq(GlassInfo::getFlowCardId, orderChange.getOldProcessId())
+ .eq(GlassInfo::getGlassType, orderChange.getOldOrderNumber())
+ .eq(GlassInfo::getLayer, orderChange.getOldTechnologyNumber())
+ .set(GlassInfo::getFlowCardId, orderChange.getNewProcessId())
+ .set(GlassInfo::getGlassType, orderChange.getNewOrderNumber())
+ .set(GlassInfo::getLayer, orderChange.getNewTechnologyNumber())
+ .last("limit " + orderChange.getChangeNumber())
+ .inSql(GlassInfo::getGlassId, "select glass_id from edg_storage_cage_details where flow_card_id ='" + orderChange.getOldProcessId() +
+ "' and glass_id not in (select glass_id from damage where (type=8 or type=9) and process_id='" + orderChange.getOldProcessId() + "')"));
+ orderChange.setChangedNumber(affectedRows);
+ }
+ log.info("璁㈠崟鍙樻洿锛�" + orderChanges);
+ return orderChanges;
+ }
}
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OrderChange.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OrderChange.java
new file mode 100644
index 0000000..3dd729b
--- /dev/null
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/entity/OrderChange.java
@@ -0,0 +1,65 @@
+package com.mes.pp.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ *
+ * </p>
+ *
+ * @author wu
+ * @since 2024-08-07
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+public class OrderChange implements Serializable {
+
+ private static final long serialVersionUID = 1L;
+
+ /**
+ * 鏃ф祦绋嬪崱鍙�
+ */
+ private String oldProcessId;
+
+ /**
+ * 鏃у簭鍙�
+ */
+ private Integer oldOrderNumber;
+
+ /**
+ * 鏃у眰鍙�
+ */
+ private Integer oldTechnologyNumber;
+
+ /**
+ * 淇℃祦绋嬪崱鍙�
+ */
+ private String newProcessId;
+
+ /**
+ * 鏂板簭鍙�
+ */
+ private Integer newOrderNumber;
+
+ /**
+ * 鏂板眰鍙�
+ */
+ private Integer newTechnologyNumber;
+
+ /**
+ * 鍙樻洿鏁伴噺
+ */
+ private Integer changeNumber;
+
+ /**
+ * 宸插彉鏇存暟閲�
+ */
+ private Integer changedNumber;
+}
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 78c9c90..b564ede 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
@@ -22,7 +22,7 @@
boolean saveBatch(@Param(value = "list") List<TemperingGlassInfo> list);
//缁曡繃鍏ㄥ眬閫昏緫杩涜鏌ヨ
- @Select("SELECT * FROM tempering_glass_info " + "WHERE tempering_layout_id = #{temperingLayoutId} " + "AND engineer_id = #{engineerId} " + "ORDER BY tempering_layout_id DESC, tempering_feed_sequence ASC")
+ @Select("SELECT * FROM tempering_glass_info " + "WHERE tempering_layout_id = #{temperingLayoutId} " + "AND engineer_id = #{engineerId} " + "AND deleted=0 ORDER BY tempering_layout_id DESC, tempering_feed_sequence ASC")
List<TemperingGlassInfo> selectByEngineerIdAndLayoutId(String engineerId, Integer temperingLayoutId);
//缁曡繃鍏ㄥ眬閫昏緫杩涜淇敼
@Update("UPDATE tempering_glass_info " +
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
index 66c0e66..e964692 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/job/CacheGlassTask.java
@@ -399,13 +399,13 @@
new LambdaQueryWrapper<GlassInfo>()
.eq(GlassInfo::getGlassId, glassId)
);
- if(glassInfos!=null){
+ if (glassInfos != null) {
if (Math.max(glassInfos.getWidth(), glassInfos.getHeight()) > Integer.parseInt(firstLength) && out08Glassstate == 1) {
endcell = Const.A09_OUT_TARGET_POSITION;
} else {
endcell = computerLineByState(out08Glassstate, out10Glassstate);
}
- }else{
+ } else {
endcell = computerLineByState(out08Glassstate, out10Glassstate);
}
if (out08Glassstate == 1 && out10Glassstate == 1) {
@@ -925,18 +925,17 @@
}
}
- @Scheduled(fixedDelay = 500)
+ @Scheduled(fixedDelay = 3000)
public void CacheGlassTasks() {
- JSONObject jsonObject = new JSONObject();
- List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
- jsonObject.append("currentCutTerritory", currentCutTerritorys);
- //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
- //鍗у缂撳瓨绗煎唴淇℃伅
- List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
- jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
-
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("cacheGlass");
if (sendwServer != null) {
+ JSONObject jsonObject = new JSONObject();
+ List<Map<String, Object>> currentCutTerritorys = edgStorageCageDetailsService.selectCutTerritory();
+ jsonObject.append("currentCutTerritory", currentCutTerritorys);
+ //log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
+ //鍗у缂撳瓨绗煎唴淇℃伅
+ List<Map<String, Object>> EdgStorageCageinfos = edgStorageCageService.selectEdgStorageCages();
+ jsonObject.append("EdgStorageCageinfos", EdgStorageCageinfos);
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
@@ -952,7 +951,7 @@
}
}
- @Scheduled(fixedDelay = 500)
+ @Scheduled(fixedDelay = 3000)
public void cacheGlassIsRun() {
JSONObject jsonObject = new JSONObject();
//姝e湪杩涜鐨勪换鍔�
@@ -970,7 +969,7 @@
}
}
- @Scheduled(fixedDelay = 500)
+ @Scheduled(fixedDelay = 3000)
public void CacheGlassTaskss() {
JSONObject jsonObject = new JSONObject();
//log.info("鏈璇嗗埆鐗堝浘{},++++{}",engineerId,currentCutTerritorys);
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
index 9911a6f..c6f5c07 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/controller/TaskCacheController.java
@@ -2,6 +2,7 @@
import com.mes.edgglasstask.entity.request.IdentWornRequest;
import com.mes.edgstoragecage.service.EdgStorageCageDetailsService;
+import com.mes.taskcache.entity.TaskCache;
import com.mes.taskcache.service.TaskCacheService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
@@ -73,5 +74,12 @@
return Result.build(200, "鎴愬姛", EdgTasks);
}
+ @ApiOperation("鍗х悊浠诲姟鎶ヨ〃")
+ @PostMapping("/selectTaskCache")
+ public Result selectTaskCache(@RequestBody TaskCache taskCache,
+ @RequestParam(required = false) String startTime,
+ @RequestParam(required = false) String endTime) {
+ return Result.build(200, "鏌ヨ鎴愬姛", taskCacheService.selectTaskCache(taskCache, startTime, endTime));
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
index 9226203..997e1fd 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/entity/TaskCache.java
@@ -2,6 +2,7 @@
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.models.auth.In;
import lombok.Data;
import java.util.Date;
@@ -19,19 +20,19 @@
/**
* 璧峰
*/
- private int startCell;
+ private Integer startCell;
/**
* 缁撴潫
*/
- private int endCell;
+ private Integer endCell;
/**
* 浠诲姟绫诲瀷
*/
- private int taskType;
+ private Integer taskType;
/**
* 浠诲姟鐘舵��
*/
- private int taskStatus;
+ private Integer taskStatus;
/**
* 鍒涘缓鏃堕棿
*/
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
index 07275d1..4341b00 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/TaskCacheService.java
@@ -74,5 +74,11 @@
*/
TaskCache selectLastOutCacheInfo(int line);
-
+ /**
+ * 鏌ヨ 浠诲姟鏉′欢
+ * @param startTime
+ * @param endTime
+ * @return
+ */
+ List<TaskCache> selectTaskCache(TaskCache taskCache, String startTime, String endTime);
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
index df949ef..3be1f62 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/java/com/mes/taskcache/service/impl/TaskCacheServiceImpl.java
@@ -21,6 +21,7 @@
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
+import javax.annotation.Resource;
import java.util.*;
/**
@@ -35,12 +36,12 @@
@Service
public class TaskCacheServiceImpl extends MPJBaseServiceImpl<TaskCacheMapper, TaskCache> implements TaskCacheService {
- @Autowired
+ @Resource
EdgStorageCageDetailsMapper edgStorageCageDetailsMapper;
- @Autowired
+ @Resource
GlassInfoMapper glassInfoMapper;
- @Autowired
+ @Resource
private TaskCacheMapper taskCacheMapper;
@@ -181,6 +182,36 @@
}
-
+ @Override
+ public List<TaskCache> selectTaskCache(TaskCache taskCache, String startTime, String endTime){
+ if (endTime != null && !endTime.isEmpty()) {
+ endTime = endTime + " 23:59:59";
+ }
+ LambdaQueryWrapper<TaskCache> wrapper = new LambdaQueryWrapper<>();
+ if (taskCache.getStartCell() != null) {
+ wrapper.eq(TaskCache::getStartCell, taskCache.getStartCell());
+ }
+ if (taskCache.getEndCell() != 0) {
+ wrapper.eq(TaskCache::getEndCell, taskCache.getEndCell());
+ }
+ if (taskCache.getTaskStatus() != -1) {
+ wrapper.eq(TaskCache::getTaskStatus, taskCache.getTaskStatus());
+ }
+ if (taskCache.getTaskType() != -1) {
+ wrapper.eq(TaskCache::getTaskType, taskCache.getTaskType());
+ }
+ if (startTime != null && !startTime.isEmpty()) {
+ wrapper.ge(TaskCache::getCreateTime, startTime);
+ }
+ if (endTime != null && !endTime.isEmpty()) {
+ wrapper.le(TaskCache::getCreateTime, endTime);
+ }
+ wrapper.orderByDesc(TaskCache::getCreateTime);
+ wrapper.and(item -> item.eq(TaskCache::getDeleted, 0)
+ .or()
+ .eq(TaskCache::getDeleted, 1));
+ wrapper.between(TaskCache::getCreateTime, startTime, endTime);
+ return baseMapper.selectList(wrapper);
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
index b6e1639..20412f2 100644
--- a/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheGlassModule/src/main/resources/application.yml
@@ -13,6 +13,12 @@
pool:
size: 10
thread-name-prefix: task-cache
+ druid:
+ initial-size: 5
+ min-idle: 5
+ max-active: 10
+ time-between-eviction-runs-millis: 60000
+ connection-properties: druid,stat,mergeSql=true,druid,stat ,slowSalMillis=5000
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
# configuration:
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
index 16dc253..1a5c276 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/controller/BigStorageCageDetailsController.java
@@ -126,6 +126,12 @@
return Result.build(200, "鏌ヨ鎴愬姛", flowCardIdCount);
}
+ @ApiOperation("娴佺▼鍗′釜鏁版煡璇�")
+ @PostMapping("/selectFlowCardCount")
+ public Result selectFlowCardCount() {
+ return Result.build(200, "鏌ヨ鎴愬姛", bigStorageCageDetailsService.selectFlowCardCount());
+ }
+
@ApiOperation("鎸囧畾娴佺▼鍗�")
@PostMapping("/appointFlowCard")
public Result appointFlowCard(@RequestBody BigStorageCageDetails bigStorageCageDetails) {
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/FlowCardDTO.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/FlowCardDTO.java
new file mode 100644
index 0000000..af6f59f
--- /dev/null
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/entity/dto/FlowCardDTO.java
@@ -0,0 +1,41 @@
+package com.mes.bigstorage.entity.dto;
+
+import lombok.Data;
+
+/**
+ * @Author : zhoush
+ * @Date: 2024/6/13 15:51
+ * @Description:
+ */
+@Data
+public class FlowCardDTO {
+ /**
+ * 宸ョ▼鍙�
+ */
+ private String engineerId;
+
+ /**
+ * 娴佺▼鍗′釜鏁�
+ */
+ private Integer flowCardIdCount;
+
+ /**
+ * 鎬婚潰绉�
+ */
+ private Double glassTotalArea;
+
+ /**
+ * 鎬荤倝鏁�
+ */
+ private Integer totalTemper;
+
+ /**
+ * 绗煎唴鐐夋暟
+ */
+ private Integer cageTemper;
+
+ /**
+ * 绗煎唴闈㈢Н
+ */
+ private Double cageArea;
+}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
index 4627118..a5daecd 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/mapper/BigStorageCageDetailsMapper.java
@@ -2,6 +2,7 @@
import com.github.yulichang.base.MPJBaseMapper;
import com.mes.bigstorage.entity.BigStorageCageDetails;
+import com.mes.bigstorage.entity.dto.FlowCardDTO;
import com.mes.bigstorage.entity.dto.SlotSequenceDTO;
import com.mes.bigstorage.entity.dto.TemperingLayoutDTO;
import com.mes.bigstoragetask.entity.UpdateBigStorageCageDTO;
@@ -47,4 +48,6 @@
void updateBySlot(@Param(value = "list") List<UpdateBigStorageCageDTO> glassList, @Param(value = "state") int state);
List<Map<String, Object>> selectTemperingGlassCount();
+
+ List<FlowCardDTO> selectFlowCardCount();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
index 505ce46..b48f318 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/BigStorageCageDetailsService.java
@@ -3,6 +3,7 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.entity.BigStorageDTO;
+import com.mes.bigstorage.entity.dto.FlowCardDTO;
import com.mes.bigstorage.entity.dto.SlotSequenceDTO;
import com.mes.bigstorage.entity.dto.TemperingLayoutDTO;
import com.mes.bigstoragetask.entity.UpdateBigStorageCageDTO;
@@ -82,4 +83,6 @@
long scheduleTime();
void cancelOutTask();
+
+ List<FlowCardDTO> selectFlowCardCount();
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
index ddd2c77..131f8b7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstorage/service/impl/BigStorageCageDetailsServiceImpl.java
@@ -11,6 +11,7 @@
import com.mes.bigstorage.entity.BigStorageCage;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.entity.BigStorageDTO;
+import com.mes.bigstorage.entity.dto.FlowCardDTO;
import com.mes.bigstorage.entity.dto.SlotSequenceDTO;
import com.mes.bigstorage.entity.dto.TemperingLayoutDTO;
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
@@ -558,18 +559,24 @@
.in(BigStorageCageOutTask::getEndSlot, Const.OUT_TARGET_POSITION_ALL)
.eq(BigStorageCageOutTask::getTaskState, Const.BIG_STORAGE_OUT_NEW)
);
- List<String> outGlassId = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
- temperingGlassInfoService.remove(
- new LambdaUpdateWrapper<TemperingGlassInfo>()
- .in(TemperingGlassInfo::getGlassId, outGlassId)
- );
- bigStorageCageDetailsService.update(
- new LambdaUpdateWrapper<BigStorageCageDetails>()
- .set(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
- .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
- .in(BigStorageCageDetails::getGlassId, outGlassId)
- );
- bigStorageCageOutTaskService.deleteTask(bigStorageCageOutTasks);
+ if(bigStorageCageOutTasks.size()>0){
+ List<String> outGlassId = bigStorageCageOutTasks.stream().map(BigStorageCageOutTask::getGlassId).collect(Collectors.toList());
+ temperingGlassInfoService.remove(
+ new LambdaUpdateWrapper<TemperingGlassInfo>()
+ .in(TemperingGlassInfo::getGlassId, outGlassId)
+ );
+ bigStorageCageDetailsService.update(
+ new LambdaUpdateWrapper<BigStorageCageDetails>()
+ .set(BigStorageCageDetails::getState, Const.GLASS_STATE_IN)
+ .eq(BigStorageCageDetails::getState, Const.GLASS_STATE_OUT_ING)
+ .in(BigStorageCageDetails::getGlassId, outGlassId)
+ );
+ bigStorageCageOutTaskService.deleteTask(bigStorageCageOutTasks);
+ }
+ }
+ @Override
+ public List<FlowCardDTO> selectFlowCardCount(){
+ return baseMapper.selectFlowCardCount();
}
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java
index c69669b..161856d 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageFeedTaskController.java
@@ -44,40 +44,7 @@
public Result selectBigStorageCageFeedTask(@RequestBody BigStorageCageFeedTask bigStorageCageFeedTask,
@RequestParam(required = false) String startTime,
@RequestParam(required = false) String endTime) {
- if (endTime != null && !endTime.isEmpty()) {
- endTime = endTime + " 23:59:59";
- }
- LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<>();
- if (bigStorageCageFeedTask.getTargetSlot() != null) {
- wrapper.eq(BigStorageCageFeedTask::getTargetSlot, bigStorageCageFeedTask.getTargetSlot());
- }
- if (bigStorageCageFeedTask.getWidth() != null) {
- wrapper.eq(BigStorageCageFeedTask::getWidth, bigStorageCageFeedTask.getWidth());
- }
- if (bigStorageCageFeedTask.getHeight() != null) {
- wrapper.eq(BigStorageCageFeedTask::getHeight, bigStorageCageFeedTask.getHeight());
- }
- if (bigStorageCageFeedTask.getLine() != 0) {
- wrapper.eq(BigStorageCageFeedTask::getLine, bigStorageCageFeedTask.getLine());
- }
- if (bigStorageCageFeedTask.getTaskState() != -1) {
- wrapper.eq(BigStorageCageFeedTask::getTaskState, bigStorageCageFeedTask.getTaskState());
- }
- if (bigStorageCageFeedTask.getTaskType() != 0) {
- wrapper.eq(BigStorageCageFeedTask::getTaskType, bigStorageCageFeedTask.getTaskType());
- }
- if (startTime != null && !startTime.isEmpty()) {
- wrapper.ge(BigStorageCageFeedTask::getCreateTime, startTime);
- }
- if (endTime != null && !endTime.isEmpty()) {
- wrapper.le(BigStorageCageFeedTask::getCreateTime, endTime);
- }
- wrapper.orderByDesc(BigStorageCageFeedTask::getId);
- wrapper.and(item -> item.eq(BigStorageCageFeedTask::getDeleted, 0)
- .or()
- .eq(BigStorageCageFeedTask::getDeleted, 1));
- wrapper.between(BigStorageCageFeedTask::getCreateTime, startTime, endTime);
- return Result.build(200, "鏌ヨ鎴愬姛", bigStorageCageFeedTaskService.list(wrapper));
+ return Result.build(200, "鏌ヨ鎴愬姛", bigStorageCageFeedTaskService.selectBigStorageCageFeedTask(bigStorageCageFeedTask, startTime, endTime));
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java
index 2c76b1f..e770855 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/controller/BigStorageCageOutTaskController.java
@@ -1,12 +1,16 @@
package com.mes.bigstoragetask.controller;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
+import com.mes.temperingglass.entity.TemperingGlassInfo;
+import com.mes.temperingglass.service.TemperingGlassInfoService;
import com.mes.utils.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
+import org.apache.tomcat.util.bcel.Const;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -14,7 +18,7 @@
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author zhoush
@@ -27,13 +31,34 @@
@Autowired
private BigStorageCageOutTaskService bigStorageCageOutTaskService;
+ @Autowired
+ private TemperingGlassInfoService temperingGlassInfoService;
@ApiOperation("鍑虹墖浠诲姟淇敼")
@PostMapping("/updatebigStorageCageOutTask")
public Result deleteBigStorageCageDetails(@RequestBody BigStorageCageOutTask bigStorageCageOutTask) {
+ if (bigStorageCageOutTask.getTaskState() > 3) {
+ temperingGlassInfoService.remove(
+ new LambdaUpdateWrapper<TemperingGlassInfo>()
+ .in(TemperingGlassInfo::getGlassId, bigStorageCageOutTask.getGlassId())
+ );
+ } else {
+ temperingGlassInfoService.update(
+ new LambdaUpdateWrapper<TemperingGlassInfo>()
+ .in(TemperingGlassInfo::getGlassId, bigStorageCageOutTask.getGlassId())
+ .set(TemperingGlassInfo::getState, 0)
+ );
+ }
bigStorageCageOutTaskService.updateById(bigStorageCageOutTask);
return Result.build(200, "淇敼鎴愬姛", 1);
}
+ @ApiOperation("鍑虹墖浠诲姟鎶ヨ〃")
+ @PostMapping("/selectBigStorageCageOutTask")
+ public Result selectBigStorageCageOutTask(@RequestBody BigStorageCageOutTask bigStorageCageOutTask,
+ @RequestParam(required = false) String startTime,
+ @RequestParam(required = false) String endTime) {
+ return Result.build(200, "鏌ヨ鎴愬姛", bigStorageCageOutTaskService.selectBigStorageCageOutTask(bigStorageCageOutTask, startTime, endTime));
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
index 5c6a121..6c1437c 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/entity/BigStorageCageOutTask.java
@@ -69,12 +69,12 @@
* 鐩爣浣嶇疆
*/
@ApiModelProperty(value = "鐩爣浣嶇疆", position = 5)
- private double width;
+ private Double width;
/**
* 鐩爣浣嶇疆
*/
@ApiModelProperty(value = "鐩爣浣嶇疆", position = 5)
- private double height;
+ private Double height;
/**
* 杞︽
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java
index 40e1827..f553bd4 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageFeedTaskService.java
@@ -5,12 +5,13 @@
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.entity.BigStorageDTO;
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
+import org.springframework.web.bind.annotation.RequestParam;
import java.util.List;
/**
* <p>
- * 鏈嶅姟绫�
+ * 鏈嶅姟绫�
* </p>
*
* @author zhoush
@@ -31,4 +32,6 @@
* 鏌ヨ鍗ц浆绔嬬幓鐠冩槸鍚﹁繘鐗囧畬鎴�
*/
List<Integer> querySitToUpGlass();
+
+ List<BigStorageCageFeedTask> selectBigStorageCageFeedTask(BigStorageCageFeedTask bigStorageCageFeedTask, String startTime, String endTime);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
index 14f6107..161a640 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/BigStorageCageOutTaskService.java
@@ -24,4 +24,6 @@
void deleteOutTask(String glassId);
void deleteTask(List<BigStorageCageOutTask> outGlassId);
+
+ List<BigStorageCageOutTask> selectBigStorageCageOutTask(BigStorageCageOutTask bigStorageCageOutTask, String startTime, String endTime);
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
index 262cc3f..0b91a9c 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageFeedTaskServiceImpl.java
@@ -7,6 +7,7 @@
import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import com.mes.bigstoragetask.mapper.BigStorageCageFeedTaskMapper;
import com.mes.bigstoragetask.service.BigStorageCageFeedTaskService;
+import com.mes.utils.Result;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
@@ -52,4 +53,42 @@
public List<Integer> querySitToUpGlass() {
return baseMapper.querySitToUpGlass();
}
+
+ @Override
+ public List<BigStorageCageFeedTask> selectBigStorageCageFeedTask(BigStorageCageFeedTask bigStorageCageFeedTask, String startTime, String endTime) {
+ if (endTime != null && !endTime.isEmpty()) {
+ endTime = endTime + " 23:59:59";
+ }
+ LambdaQueryWrapper<BigStorageCageFeedTask> wrapper = new LambdaQueryWrapper<>();
+ if (bigStorageCageFeedTask.getTargetSlot() != null) {
+ wrapper.eq(BigStorageCageFeedTask::getTargetSlot, bigStorageCageFeedTask.getTargetSlot());
+ }
+ if (bigStorageCageFeedTask.getWidth() != null) {
+ wrapper.eq(BigStorageCageFeedTask::getWidth, bigStorageCageFeedTask.getWidth());
+ }
+ if (bigStorageCageFeedTask.getHeight() != null) {
+ wrapper.eq(BigStorageCageFeedTask::getHeight, bigStorageCageFeedTask.getHeight());
+ }
+ if (bigStorageCageFeedTask.getLine() != 0) {
+ wrapper.eq(BigStorageCageFeedTask::getLine, bigStorageCageFeedTask.getLine());
+ }
+ if (bigStorageCageFeedTask.getTaskState() != -1) {
+ wrapper.eq(BigStorageCageFeedTask::getTaskState, bigStorageCageFeedTask.getTaskState());
+ }
+ if (bigStorageCageFeedTask.getTaskType() != 0) {
+ wrapper.eq(BigStorageCageFeedTask::getTaskType, bigStorageCageFeedTask.getTaskType());
+ }
+ if (startTime != null && !startTime.isEmpty()) {
+ wrapper.ge(BigStorageCageFeedTask::getCreateTime, startTime);
+ }
+ if (endTime != null && !endTime.isEmpty()) {
+ wrapper.le(BigStorageCageFeedTask::getCreateTime, endTime);
+ }
+ wrapper.orderByDesc(BigStorageCageFeedTask::getId);
+ wrapper.and(item -> item.eq(BigStorageCageFeedTask::getDeleted, 0)
+ .or()
+ .eq(BigStorageCageFeedTask::getDeleted, 1));
+ wrapper.between(BigStorageCageFeedTask::getCreateTime, startTime, endTime);
+ return baseMapper.selectList(wrapper);
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
index c9a2343..fce5ab7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/bigstoragetask/service/impl/BigStorageCageOutTaskServiceImpl.java
@@ -4,6 +4,7 @@
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.mes.bigstorage.entity.BigStorageCageDetails;
import com.mes.bigstorage.mapper.BigStorageCageDetailsMapper;
+import com.mes.bigstoragetask.entity.BigStorageCageFeedTask;
import com.mes.bigstoragetask.entity.BigStorageCageOutTask;
import com.mes.bigstoragetask.mapper.BigStorageCageOutTaskMapper;
import com.mes.bigstoragetask.service.BigStorageCageOutTaskService;
@@ -97,4 +98,39 @@
public void deleteTask(List<BigStorageCageOutTask> outGlassId){
baseMapper.deleteTask(outGlassId);
}
+
+ @Override
+ public List<BigStorageCageOutTask> selectBigStorageCageOutTask(BigStorageCageOutTask bigStorageCageOutTask, String startTime, String endTime){
+ if (endTime != null && !endTime.isEmpty()) {
+ endTime = endTime + " 23:59:59";
+ }
+ LambdaQueryWrapper<BigStorageCageOutTask> wrapper = new LambdaQueryWrapper<>();
+ if (bigStorageCageOutTask.getStartSlot() != null) {
+ wrapper.eq(BigStorageCageOutTask::getStartSlot, bigStorageCageOutTask.getStartSlot());
+ }
+ if (bigStorageCageOutTask.getWidth() != null) {
+ wrapper.eq(BigStorageCageOutTask::getWidth, bigStorageCageOutTask.getWidth());
+ }
+ if (bigStorageCageOutTask.getHeight() != null) {
+ wrapper.eq(BigStorageCageOutTask::getHeight, bigStorageCageOutTask.getHeight());
+ }
+ if (bigStorageCageOutTask.getEndSlot() != 0) {
+ wrapper.eq(BigStorageCageOutTask::getEndSlot, bigStorageCageOutTask.getEndSlot());
+ }
+ if (bigStorageCageOutTask.getTaskState() != -1) {
+ wrapper.eq(BigStorageCageOutTask::getTaskState, bigStorageCageOutTask.getTaskState());
+ }
+ if (startTime != null && !startTime.isEmpty()) {
+ wrapper.ge(BigStorageCageOutTask::getCreateTime, startTime);
+ }
+ if (endTime != null && !endTime.isEmpty()) {
+ wrapper.le(BigStorageCageOutTask::getCreateTime, endTime);
+ }
+ wrapper.orderByDesc(BigStorageCageOutTask::getId);
+ wrapper.and(item -> item.eq(BigStorageCageOutTask::getDeleted, 0)
+ .or()
+ .eq(BigStorageCageOutTask::getDeleted, 1));
+ wrapper.between(BigStorageCageOutTask::getCreateTime, startTime, endTime);
+ return baseMapper.selectList(wrapper);
+ }
}
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
index 6d00313..c0e3a13 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcSlicecage.java
@@ -118,17 +118,16 @@
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
*/
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 3000)
public void plcStorageCageTask() throws InterruptedException {
jsonObject = new JSONObject();
try {
- //鏌ヨ浣跨敤鏁版嵁婧�1鏌ヨ鏁版嵁
- queryDataSource1();
- //鏌ヨ浣跨敤鏁版嵁婧�2鏌ヨ鏁版嵁
- queryDataSource2();
-
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("slicecage");
if (sendwServer != null) {
+ //鏌ヨ浣跨敤鏁版嵁婧�1鏌ヨ鏁版嵁
+ queryDataSource1();
+ //鏌ヨ浣跨敤鏁版嵁婧�2鏌ヨ鏁版嵁
+ queryDataSource2();
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
@@ -147,7 +146,7 @@
}
}
- @Scheduled(fixedDelay = 300)
+ @Scheduled(fixedDelay = 3000)
public void temperingIsRun() {
JSONObject jsonObject = new JSONObject();
//杩涚墖浠诲姟鏁版嵁
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
index add6e87..351ca33 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/java/com/mes/job/PlcStorageCageTask.java
@@ -1001,6 +1001,7 @@
bigStorageCageFeedTask.setWidth(width);
bigStorageCageFeedTask.setHeight(height);
bigStorageCageFeedTask.setCreateTime(new Date());
+ bigStorageCageFeedTask.setTargetSlot(0);
//鍒犻櫎鐞嗙墖绗艰〃鎷胯蛋/鐮存崯鏁版嵁鏁版嵁
damageService.deleteByGlassId(glassId);
Damage damage = new Damage();
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
index 14fb0ca..9600dc7 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/application.yml
@@ -13,6 +13,12 @@
pool:
size: 10
thread-name-prefix: task-cacheVertical
+ druid:
+ initial-size: 5
+ min-idle: 5
+ max-active: 10
+ time-between-eviction-runs-millis: 60000
+ connection-properties: druid,stat,mergeSql=true,druid,stat ,slowSalMillis=5000
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
# configuration:
diff --git a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
index 72dd6da..153e6fd 100644
--- a/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
+++ b/hangzhoumesParent/moduleService/CacheVerticalGlassModule/src/main/resources/mapper/BigStorageCageDetailsMapper.xml
@@ -44,15 +44,16 @@
GROUP BY ENGINEER_ID, TEMPERING_LAYOUT_ID) T3 ON T2.ENGINEER_ID = T3.ENGINEER_ID
AND T2.TEMPERING_LAYOUT_ID = T3.TEMPERING_LAYOUT_ID
AND T2.COUNT = T3.COUNT
- INNER JOIN ENGINEERING T4 ON T2.ENGINEER_ID=T4.ENGINEER_ID
+ INNER JOIN ENGINEERING T4 ON T2.ENGINEER_ID = T4.ENGINEER_ID
ORDER BY T4.ID, T2.TEMPERING_LAYOUT_ID
</select>
<select id="queryTemperingOccupySlot" resultMap="temperingLayoutDTO">
SELECT ENGINEER_ID,
- TEMPERING_LAYOUT_ID,
- COUNT(DISTINCT SLOT) as SLOT_COUNT
+ TEMPERING_LAYOUT_ID,
+ COUNT(DISTINCT SLOT) as SLOT_COUNT
FROM BIG_STORAGE_CAGE_DETAILS
- WHERE STATE = 100 AND TEMPERING_LAYOUT_ID!=0 AND THICKNESS < 8
+ WHERE STATE = 100
+ AND TEMPERING_LAYOUT_ID!=0 AND THICKNESS < 8
GROUP BY ENGINEER_ID,
TEMPERING_LAYOUT_ID
HAVING SLOT_COUNT >= #{count}
@@ -96,13 +97,60 @@
</update>
<select id="selectTemperingGlassCount" resultType="java.util.Map">
- select a.engineer_id,a.tempering_layout_id,count2,count1,count2-count1 as count3,count(c.glass_id) as count4,slots from
- (select engineer_id,tempering_layout_id,count(*) as count1,group_concat(distinct slot order by tempering_feed_sequence) as slots from big_storage_cage_details where state=100 and tempering_layout_id!=0 group by engineer_id,tempering_layout_id) as a
- left join
- (select engineer_id,tempering_layout_id,count(*) as count2 from glass_info group by engineer_id,tempering_layout_id) as b
- on a.engineer_id=b.engineer_id and a.tempering_layout_id=b.tempering_layout_id
- left join damage as c on a.engineer_id=c.engineer_id and a.tempering_layout_id=c.tempering_layout_id and (type = 8 or type = 9)
- group by a.engineer_id,a.tempering_layout_id
- order by a.engineer_id,a.tempering_layout_id
+ select a.engineer_id,
+ a.tempering_layout_id,
+ count2,
+ count1,
+ count2 - count1 as count3,
+ count(c.glass_id) as count4,
+ slots
+ from (select engineer_id,
+ tempering_layout_id,
+ count(*) as count1,
+ group_concat(distinct slot order by tempering_feed_sequence) as slots
+ from big_storage_cage_details
+ where state = 100
+ and tempering_layout_id!=0
+ group by engineer_id, tempering_layout_id) as a
+ left join
+ (select engineer_id, tempering_layout_id, count(*) as count2
+ from glass_info
+ group by engineer_id, tempering_layout_id) as b
+ on a.engineer_id = b.engineer_id and a.tempering_layout_id = b.tempering_layout_id
+ left join damage as c
+ on a.engineer_id = c.engineer_id and a.tempering_layout_id = c.tempering_layout_id and
+ (type = 8 or type = 9)
+ group by a.engineer_id, a.tempering_layout_id
+ order by a.engineer_id, a.tempering_layout_id
+ </select>
+
+ <select id="selectFlowCardCount" resultType="com.mes.bigstorage.entity.dto.FlowCardDTO">
+ SELECT fc.engineer_id AS engineerId,
+ count(DISTINCT fc.flow_card_id, fc.layer) AS flowCardIdCount,
+ count(DISTINCT gi.tempering_layout_id) AS totalTemper,
+ e.glass_total_area,
+ count(distinct bscd.tempering_layout_id) as cageTemper,
+ round(sum(bscd.width*bscd.height/1000000),2) as cageArea
+ FROM (
+ SELECT engineer_id,
+ flow_card_id,
+ IF
+ (combine = 0, layer, 1) AS layer,
+ combine
+ FROM glass_info
+ WHERE engineer_id IN (SELECT DISTINCT engineer_id FROM big_storage_cage_details WHERE state = 100)
+ GROUP BY engineer_id,
+ flow_card_id,
+ IF
+ (combine = 0, layer, 1),
+ combine
+ ) AS fc
+ INNER JOIN glass_info gi ON fc.engineer_id = gi.engineer_id
+ AND gi.tempering_layout_id != 0
+ INNER JOIN engineering e
+ ON fc.engineer_id = e.engineer_id
+ left join big_storage_cage_details bscd on gi.glass_id=bscd.glass_id and bscd.state=100 and fc.flow_card_id=bscd.flow_card_id and fc.layer=bscd.layer
+ GROUP BY
+ fc.engineer_id
</select>
</mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
index 7d41df4..63e9e33 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/controller/EngineeringController.java
@@ -18,7 +18,7 @@
/**
* <p>
- * 鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
* </p>
*
* @author wu
@@ -36,40 +36,42 @@
private GlassInfoService glassInfoService;
@Autowired
private OptimizeProjectService optimizeProjectService;
+
@ApiOperation("寮�濮�/鏆傚仠浠诲姟/浼犻�掑伐绋嬪彿鍜岀姸鎬�,寮�濮嬫槸1 鏆傚仠鏄�0")
@PostMapping("/pauseTask") //鏆傚仠涓婄墖浠诲姟
@ResponseBody
- public Result <List<UpPattenUsage>> pauseTask(@RequestBody Engineering engineering) {
- boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+ public Result<List<UpPattenUsage>> pauseTask(@RequestBody Engineering engineering) {
+ boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
- if(work){
- return Result.build(200,"鎴愬姛",glass);
- }else {
- return Result.build(100,"澶辫触",glass);
+ if (work) {
+ return Result.build(200, "鎴愬姛", glass);
+ } else {
+ return Result.build(100, "澶辫触", glass);
}
}
@ApiOperation("鏆傚仠")
@PostMapping("/pause") //鏆傚仠涓婄墖浠诲姟
@ResponseBody
- public Result <List<UpPattenUsage>> pause(@RequestBody Engineering engineering) {
- boolean work=engineeringService.pauseTask(engineering.getEngineerId(),engineering.getState());
- List<UpPattenUsage> glass = upPattenUsageService.prioritylist();String message;
- if(work){
- return Result.build(200,"鎴愬姛",glass);
- }else {
- return Result.build(100,"鎴愬姛",glass);
+ public Result<List<UpPattenUsage>> pause(@RequestBody Engineering engineering) {
+ boolean work = engineeringService.pauseTask(engineering.getEngineerId(), engineering.getState());
+ List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
+ String message;
+ if (work) {
+ return Result.build(200, "鎴愬姛", glass);
+ } else {
+ return Result.build(100, "鎴愬姛", glass);
}
}
@ApiOperation("寮�濮嬩笂鐗�")
@PostMapping("/changeTask") //璋冪敤涓婄墖浠诲姟
@ResponseBody
- public Result <Boolean> changeTask(@RequestBody Engineering engineering) {
+ public Result<Boolean> changeTask(@RequestBody Engineering engineering) {
log.info("engineeringId:{}", engineering);
UpPattenUsage upPattenUsage = upPattenUsageService.selectedEngineering(engineering.getEngineerId());
if (upPattenUsage != null) {
- boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+ boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
return Result.build(200, "宸蹭繚瀛樿繃", work);
@@ -85,13 +87,13 @@
engineeringService.saveEngineering(listEngineering);
log.info("鏇存敼pp琛ㄧ姸鎬佷负宸查鍙�");
//灏唀ngineering琛ㄧ姸鎬佷负姝e湪涓婄墖
- boolean work=engineeringService.changeTask(engineering.getEngineerId(),engineering.getState());
+ boolean work = engineeringService.changeTask(engineering.getEngineerId(), engineering.getState());
List<UpPattenUsage> glass = upPattenUsageService.prioritylist();
optimizeProjectService.changeTask(engineering.getEngineerId(), 200);
if (work) {
- return Result.build(200, "淇濆瓨鎴愬姛"+engineering.getEngineerId(), true);
- }else {
- return Result.build(200, "淇濆瓨鎴愬姛"+engineering.getEngineerId(), false);
+ return Result.build(200, "淇濆瓨鎴愬姛" + engineering.getEngineerId(), true);
+ } else {
+ return Result.build(200, "淇濆瓨鎴愬姛" + engineering.getEngineerId(), false);
}
}
@@ -100,16 +102,21 @@
@ApiOperation("鍒犻櫎宸ョ▼涓婄墖")
@PostMapping("/deleteTask") //璋冪敤涓婄墖浠诲姟
@ResponseBody
- public Result <Boolean> deleteTask(@RequestBody Engineering engineering) {
+ public Result<Boolean> deleteTask(@RequestBody Engineering engineering) {
//鍒犻櫎宸ョ▼琛ㄣ�佸皬鐗囪〃銆佷笂鐗囪〃锛屾洿鏀逛紭鍖栬〃鐘舵��
- boolean work=engineeringService.deleteTask(engineering.getEngineerId());
- glassInfoService.deleteTask(engineering.getEngineerId());
- upPattenUsageService.deleteTask(engineering.getEngineerId());
- optimizeProjectService.changeTask(engineering.getEngineerId(), 100);
+ boolean work = false;
+ Engineering engineeringState = engineeringService.selectEngineeringState(engineering.getEngineerId());
+ if (engineeringState == null) {
+ work = engineeringService.deleteTask(engineering.getEngineerId());
+ glassInfoService.deleteTask(engineering.getEngineerId());
+ upPattenUsageService.deleteTask(engineering.getEngineerId());
+ optimizeProjectService.changeTask(engineering.getEngineerId(), 100);
+ }
+
if (work) {
- return Result.build(200, "鍒犻櫎鎴愬姛"+engineering.getEngineerId(), true);
- }else {
- return Result.build(200, "鍒犻櫎澶辫触"+engineering.getEngineerId(), false);
+ return Result.build(200, "鍒犻櫎鎴愬姛" + engineering.getEngineerId(), true);
+ } else {
+ return Result.build(200, "鍒犻櫎澶辫触" + engineering.getEngineerId(), false);
}
}
@@ -117,10 +124,10 @@
@ApiOperation("鏌ヨ鍙互涓婄墖鐨勫伐绋嬪彿")
@GetMapping("/selectTask") //璋冪敤涓婄墖浠诲姟
@ResponseBody
- public Result <List<Engineering>> selectTask() {
- List<Engineering> engineering=engineeringService.selectTask();
+ public Result<List<Engineering>> selectTask() {
+ List<Engineering> engineering = engineeringService.selectTask();
log.info("鍙鍙栦换鍔¤繑鍥�:{}", engineering);
- return Result.build(200, "",engineering);
+ return Result.build(200, "", engineering);
}
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
index 2491905..48f66ca 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/EngineeringMapper.java
@@ -2,6 +2,8 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.mes.engineering.entity.Engineering;
+import com.mes.workstation.entity.UpWorkSequence;
+import org.apache.ibatis.annotations.Param;
/**
* <p>
@@ -13,4 +15,6 @@
*/
public interface EngineeringMapper extends BaseMapper<Engineering> {
+ //鑾峰彇宸ヤ綅淇℃伅
+ Engineering selectEngineeringState(@Param("engineerId") String engineerId);
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
index bff1839..463bacb 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/mapper/xml/EngineeringMapper.xml
@@ -2,4 +2,11 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.mes.engineering.mapper.EngineeringMapper">
+
+ <select id="selectEngineeringState" resultMap="com.mes.engineering.entity.Engineering">
+ select DISTINCT engineer_id from edg_storage_cage_details
+ <where>
+ engineer_id=#{engineerId}
+ </where>
+ </select>
</mapper>
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
index 599c053..9edf953 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/EngineeringService.java
@@ -44,5 +44,7 @@
boolean pauseTask(String engineerId, Integer state);
boolean deleteTask(String engineerId);
+
+ Engineering selectEngineeringState(String engineerId);
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
index dd50586..859eb82 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/engineering/service/impl/EngineeringServiceImpl.java
@@ -127,4 +127,10 @@
return this.remove(wrapper);
}
+ @Override
+ public Engineering selectEngineeringState(String engineerId){
+ //鏌ヨ宸ョ▼鐘舵��
+ return baseMapper.selectEngineeringState(engineerId);
+ }
+
}
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
index 0118321..7ed5109 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/job/PlcLoadGlassTask.java
@@ -118,21 +118,22 @@
@Scheduled(fixedDelay = 1000)
public void loadGlassHome() {
JSONObject jsonObject = new JSONObject();
- //姝e湪杩涜鐨勪换鍔�
- List<UpPattenUsage> upPattenUsages = upPattenUsageService.prioritylist();
- if(upPattenUsages!=null){
- jsonObject.append("prioritylist", upPattenUsages);
- }
- //宸ヤ綅淇℃伅
- List<UpWorkstation> upWorkstations = upWorkstationService.list();
- jsonObject.append("list", upWorkstations);
- //鏄惁寮�濮嬪伐绋�
- Engineering engineering = engineeringService.selectInitiate(1);
- jsonObject.append("engineering", engineering);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
if (sendwServer != null) {
+ //姝e湪杩涜鐨勪换鍔�
+ List<UpPattenUsage> upPattenUsages = upPattenUsageService.prioritylist();
+ if (upPattenUsages != null) {
+ jsonObject.append("prioritylist", upPattenUsages);
+ }
+
+ //宸ヤ綅淇℃伅
+ List<UpWorkstation> upWorkstations = upWorkstationService.list();
+ jsonObject.append("list", upWorkstations);
+ //鏄惁寮�濮嬪伐绋�
+ Engineering engineering = engineeringService.selectInitiate(1);
+ jsonObject.append("engineering", engineering);
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
@@ -152,7 +153,7 @@
public void loadGlassStatus() {
JSONObject jsonObject = new JSONObject();
//姝e湪杩涜鐨勪换鍔�
- String inkageStatus =plcParameterObject.getPlcParameter("InkageStatus").getValue();
+ String inkageStatus = plcParameterObject.getPlcParameter("InkageStatus").getValue();
// String inkageStatus ="1";
jsonObject.append("InkageStatus", inkageStatus);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("loadGlass");
@@ -166,12 +167,13 @@
}
}
}
+
@Scheduled(fixedDelay = 1000)
public void loadGlassIsRun() {
JSONObject jsonObject = new JSONObject();
//鏄惁寮�濮嬪伐绋�
Engineering engineering = engineeringService.selectInitiate(1);
- jsonObject.append("engineering", engineering);
+ jsonObject.append("engineering", engineering);
//宸ヤ綅淇℃伅
List<UpWorkstation> upWorkstations = upWorkstationService.list();
jsonObject.append("list", upWorkstations);
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
index 4e84dfb..8f25ef7 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/application.yml
@@ -7,6 +7,12 @@
name: loadGlass
liquibase:
enabled: false
+ druid:
+ initial-size: 5
+ min-idle: 5
+ max-active: 10
+ time-between-eviction-runs-millis: 60000
+ connection-properties: druid,stat,mergeSql=true,druid,stat ,slowSalMillis=5000
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
# configuration:
diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/EngineeringMapper.xml b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/EngineeringMapper.xml
new file mode 100644
index 0000000..6f15de3
--- /dev/null
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/resources/mapper/EngineeringMapper.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.mes.engineering.mapper.EngineeringMapper">
+ <resultMap id="sequenceMap" type="com.mes.engineering.entity.Engineering">
+ <id property="engineerId" column="engineer_id"/>
+ <!-- <result property="number" column="number"/>-->
+ </resultMap>
+
+ <select id="selectEngineeringState" resultMap="sequenceMap">
+ select DISTINCT engineer_id from edg_storage_cage_details
+ <where>
+ engineer_id=#{engineerId}
+ </where>
+ </select>
+
+
+</mapper>
\ No newline at end of file
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
index 2a52753..da0a961 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/java/com/mes/job/PlcScreenTask.java
@@ -1,4 +1,5 @@
package com.mes.job;
+
import cn.hutool.json.JSONObject;
import com.mes.order.entity.Orders;
import com.mes.order.service.OrdersService;
@@ -31,6 +32,7 @@
private OptimizeProjectService optimizeProjectService;
@Autowired
private OrdersService ordersService;
+
/**
* fixedRate : 涓婁竴涓皟鐢ㄥ紑濮嬪悗鍐嶆璋冪敤鐨勫欢鏃讹紙涓嶇敤绛夊緟涓婁竴娆¤皟鐢ㄥ畬鎴愶級
* fixedDelay : 涓婁竴涓皟鐢ㄧ粨鏉熷悗鍐嶆璋冪敤鐨勫欢鏃�
@@ -39,40 +41,41 @@
@Scheduled(fixedDelay = 10000)
public void screenHome() {
JSONObject jsonObject = new JSONObject();
- Reportingdamage reportingdamage = new Reportingdamage();
- // 鑾峰彇褰撳墠鏃ユ湡
- LocalDate today = LocalDate.now();
- // 璁$畻鏈�杩戜竷澶╃殑寮�濮嬫棩鏈�
- LocalDate startOfPeriod = today.minusDays(6); // 7澶╃殑鑼冨洿鍖呮嫭浠婂ぉ锛屾墍浠ュ噺鍘�6澶�
- // 鏈�杩戜竷澶╃殑缁撴潫鏃ユ湡灏辨槸浠婂ぉ
- LocalDate endOfPeriod = today;
- // 鏍煎紡鍖栨棩鏈熶负瀛楃涓�
- DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
- String startOfPeriodStr = startOfPeriod.format(formatter);
- String endOfPeriodStr = endOfPeriod.format(formatter);
- // 璁剧疆涓烘渶杩戜竷澶╃殑鏃堕棿鑼冨洿
-// reportingdamage.setReportingWorkTime("2024-05-11");
- reportingdamage.setReportingWorkTime(startOfPeriodStr);
- reportingdamage.setReportingWorkTime2(endOfPeriodStr);
- //鎵囧舰鍥惧悇璁惧鐨勫姞宸ョ牬鎹熸暟閲�
- List<Reportingdamage> device = reportingWorkService.selectDamage(reportingdamage);
- jsonObject.append("device", device);
- //鑾峰彇娆$牬鏈ˉ淇℃伅
- List<AwaitingRepair> awaitingRepairs = reportingWorkService.selectAwaitingRepair();
- jsonObject.append("awaitingRepairs", awaitingRepairs);
- //鑾峰彇姝e湪杩涜鐨勫伐绋�
- List<OptimizeProject> optimizeProjects = optimizeProjectService.getDoingTask();
- jsonObject.append("DoingTask", optimizeProjects);
- //鑾峰彇褰撳墠璁㈠崟
- List<Orders> orders = ordersService.selectOrders();
- jsonObject.append("orders", orders);
/*鐜板満瑙勫垝鍥炬樉绀�*/
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("screen");
if (sendwServer != null) {
+ Reportingdamage reportingdamage = new Reportingdamage();
+ // 鑾峰彇褰撳墠鏃ユ湡
+ LocalDate today = LocalDate.now();
+ // 璁$畻鏈�杩戜竷澶╃殑寮�濮嬫棩鏈�
+ LocalDate startOfPeriod = today.minusDays(6); // 7澶╃殑鑼冨洿鍖呮嫭浠婂ぉ锛屾墍浠ュ噺鍘�6澶�
+ // 鏈�杩戜竷澶╃殑缁撴潫鏃ユ湡灏辨槸浠婂ぉ
+ LocalDate endOfPeriod = today;
+ // 鏍煎紡鍖栨棩鏈熶负瀛楃涓�
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+ String startOfPeriodStr = startOfPeriod.format(formatter);
+ String endOfPeriodStr = endOfPeriod.format(formatter);
+ // 璁剧疆涓烘渶杩戜竷澶╃殑鏃堕棿鑼冨洿
+// reportingdamage.setReportingWorkTime("2024-05-11");
+ reportingdamage.setReportingWorkTime(startOfPeriodStr);
+ reportingdamage.setReportingWorkTime2(endOfPeriodStr);
+ //鎵囧舰鍥惧悇璁惧鐨勫姞宸ョ牬鎹熸暟閲�
+ List<Reportingdamage> device = reportingWorkService.selectDamage(reportingdamage);
+ jsonObject.append("device", device);
+
+ //鑾峰彇娆$牬鏈ˉ淇℃伅
+ List<AwaitingRepair> awaitingRepairs = reportingWorkService.selectAwaitingRepair();
+ jsonObject.append("awaitingRepairs", awaitingRepairs);
+ //鑾峰彇姝e湪杩涜鐨勫伐绋�
+ List<OptimizeProject> optimizeProjects = optimizeProjectService.getDoingTask();
+ jsonObject.append("DoingTask", optimizeProjects);
+ //鑾峰彇褰撳墠璁㈠崟
+ List<Orders> orders = ordersService.selectOrders();
+ jsonObject.append("orders", orders);
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
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 d76717f..9f5f086 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
@@ -37,20 +37,24 @@
@Scheduled(fixedDelay = 1000)
public void temperingGlassHome() {
JSONObject jsonObject = new JSONObject();
- //姝e湪绛夊緟杩涚墖鐨勭幓鐠�
- List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
- if (waitingGlass != null) {
- jsonObject.append("waitingGlass", waitingGlass);
- }
- //鑾峰彇鏁村湪鐐変腑鐨勪袱涓増鍥緄d
- List<TemperingGlassInfo> layoutId = temperingAgoService.selectLayoutId();
- //杩涚倝涓殑鐜荤拑
- if (!layoutId.isEmpty()) {
- for (int i = 0; i < layoutId.size(); i++) {
- List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(i));
- jsonObject.append("intoGlass" + (i + 1), intoGlass);
+
+ ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass");
+ if (sendwServer != null) {
+ //姝e湪绛夊緟杩涚墖鐨勭幓鐠�
+ List<TemperingGlassInfo> waitingGlass = temperingAgoService.selectWaitingGlass();
+ if (waitingGlass != null) {
+ jsonObject.append("waitingGlass", waitingGlass);
}
+
+ //鑾峰彇鏁村湪鐐変腑鐨勪袱涓増鍥緄d
+ List<TemperingGlassInfo> layoutId = temperingAgoService.selectLayoutId();
+ //杩涚倝涓殑鐜荤拑
+ if (!layoutId.isEmpty()) {
+ for (int i = 0; i < layoutId.size(); i++) {
+ List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(i));
+ jsonObject.append("intoGlass" + (i + 1), intoGlass);
+ }
// List<TemperingGlassInfo> intoGlass = temperingAgoService.selectIntoGlass(layoutId.get(0));
// jsonObject.append("intoGlass", intoGlass);
// //杩涚倝涓殑绗簩涓増鍥�
@@ -59,22 +63,18 @@
// jsonObject.append("intoGlass2", intoGlass2);
// }
- }
- //鍑虹倝鍚庣殑鐜荤拑
- List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
- if (outGlass != null) {
- jsonObject.append("outGlass", outGlass);
- }
+ }
+ //鍑虹倝鍚庣殑鐜荤拑
+ List<TemperingGlassInfo> outGlass = temperingAgoService.selectOutGlass();
+ if (outGlass != null) {
+ jsonObject.append("outGlass", outGlass);
+ }
- //杩囨棆杞彴閽㈠寲鍚庣殑鐜荤拑
- List<TemperingGlassInfo> overGlass = temperingAgoService.selectOverGlass();
- if (outGlass != null) {
- jsonObject.append("overGlass", overGlass);
- }
-
-
- ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("temperingGlass");
- if (sendwServer != null) {
+ //杩囨棆杞彴閽㈠寲鍚庣殑鐜荤拑
+ List<TemperingGlassInfo> overGlass = temperingAgoService.selectOverGlass();
+ if (outGlass != null) {
+ jsonObject.append("overGlass", overGlass);
+ }
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
diff --git a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
index fa19a61..bd9f8f5 100644
--- a/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/TemperingGlassModule/src/main/resources/application.yml
@@ -2,7 +2,7 @@
port: 8084
spring:
profiles:
- active: dev
+ active: cz
application:
name: temperingGlass
liquibase:
@@ -12,6 +12,12 @@
pool:
size: 10
thread-name-prefix: task-tempering
+ druid:
+ initial-size: 5
+ min-idle: 5
+ max-active: 10
+ time-between-eviction-runs-millis: 60000
+ connection-properties: druid,stat,mergeSql=true,druid,stat ,slowSalMillis=5000
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
# configuration:
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
index d257af6..9935139 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/controller/DownGlassTaskController.java
@@ -10,10 +10,7 @@
import com.mes.utils.Result;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
-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 org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.util.List;
@@ -55,5 +52,13 @@
);
return Result.build(200, "娓呯┖鎴愬姛", true);
}
+
+ @ApiOperation("鍗х悊浠诲姟鎶ヨ〃")
+ @PostMapping("/selectDownGlassTask")
+ public Result selectDownGlassTask(@RequestBody DownGlassTask downGlassTask,
+ @RequestParam(required = false) String startTime,
+ @RequestParam(required = false) String endTime) {
+ return Result.build(200, "鏌ヨ鎴愬姛", downGlassTaskService.selectDownGlassTask(downGlassTask, startTime, endTime));
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
index 02674b0..c789fba 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/DownGlassTaskService.java
@@ -62,4 +62,12 @@
* @return
*/
List<DownGlassTask> selectOutTaskCache();
+
+ /**
+ * 鏌ヨ涓嬬墖鍗х悊浠诲姟
+ *
+ * @return
+ */
+ List<DownGlassTask> selectDownGlassTask(DownGlassTask downGlassTask, String startTime, String endTime);
+
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
index 17f9ba1..61ee089 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downglassinfo/service/impl/DownGlassTaskServiceImpl.java
@@ -121,5 +121,35 @@
return baseMapper.selectList(new QueryWrapper<DownGlassTask>().eq("task_status", 0).eq("task_type", 2));
}
-
+ @Override
+ public List<DownGlassTask> selectDownGlassTask(DownGlassTask downGlassTask, String startTime, String endTime){
+ if (endTime != null && !endTime.isEmpty()) {
+ endTime = endTime + " 23:59:59";
+ }
+ LambdaQueryWrapper<DownGlassTask> wrapper = new LambdaQueryWrapper<>();
+ if (downGlassTask.getStartCell() != null) {
+ wrapper.eq(DownGlassTask::getStartCell, downGlassTask.getStartCell());
+ }
+ if (downGlassTask.getEndCell() != 0) {
+ wrapper.eq(DownGlassTask::getEndCell, downGlassTask.getEndCell());
+ }
+ if (downGlassTask.getTaskStatus() != -1) {
+ wrapper.eq(DownGlassTask::getTaskStatus, downGlassTask.getTaskStatus());
+ }
+ if (downGlassTask.getTaskType() != -1) {
+ wrapper.eq(DownGlassTask::getTaskType, downGlassTask.getTaskType());
+ }
+ if (startTime != null && !startTime.isEmpty()) {
+ wrapper.ge(DownGlassTask::getCreateTime, startTime);
+ }
+ if (endTime != null && !endTime.isEmpty()) {
+ wrapper.le(DownGlassTask::getCreateTime, endTime);
+ }
+ wrapper.orderByDesc(DownGlassTask::getCreateTime);
+ wrapper.and(item -> item.eq(DownGlassTask::getDeleted, 0)
+ .or()
+ .eq(DownGlassTask::getDeleted, 1));
+ wrapper.between(DownGlassTask::getCreateTime, startTime, endTime);
+ return baseMapper.selectList(wrapper);
+ }
}
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
index 258c367..65738ad 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/downworkstation/service/impl/DownWorkstationServiceImpl.java
@@ -1,6 +1,8 @@
package com.mes.downworkstation.service.impl;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.yulichang.query.MPJQueryWrapper;
@@ -10,6 +12,7 @@
import com.mes.device.PlcParameterObject;
import com.mes.downglassinfo.entity.DownGlassInfo;
import com.mes.downglassinfo.mapper.DownGlassInfoMapper;
+import com.mes.downglassinfo.service.DownGlassInfoService;
import com.mes.downworkstation.entity.DownWorkstation;
import com.mes.downworkstation.entity.DownWorkstationTask;
import com.mes.downworkstation.entity.DownWorkstionAndDownGlassinfo;
@@ -17,6 +20,7 @@
import com.mes.downworkstation.mapper.DownWorkstationTaskMapper;
import com.mes.downworkstation.service.DownWorkstationService;
import com.mes.downworkstation.service.DownWorkstationTaskService;
+import com.mes.glassinfo.entity.GlassInfo;
import com.mes.glassinfo.service.GlassInfoService;
import com.mes.utils.RedisUtil;
import lombok.extern.slf4j.Slf4j;
@@ -40,6 +44,8 @@
private DownWorkstationTaskMapper downWorkstationTaskMapper;
@Autowired
private DownGlassInfoMapper downGlassInfoMapper;
+ @Autowired
+ private DownGlassInfoService downGlassInfoService;
@Autowired
private GlassInfoService glassInfoService;
@Autowired
@@ -147,16 +153,37 @@
@Override
public void updateFlowCardIdAndCount(String flowCardId, int workstationId, int layer) {
- int glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
+ GlassInfo glassInfo = glassInfoService.getOne(
+ new LambdaQueryWrapper<GlassInfo>()
+ .eq(GlassInfo::getFlowCardId, flowCardId)
+ .last("limit 1")
+ );
QueryWrapper<Damage> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("process_id", flowCardId);
- queryWrapper.eq("technology_number", layer);
- int otherNumber = damageservice.count(queryWrapper);
+
+ LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper();
+ wrapper.eq(DownGlassInfo::getFlowCardId, flowCardId);
+ wrapper.lt(DownGlassInfo::getWorkStationId, 7);
+
UpdateWrapper<DownWorkstation> updateWrapper = new UpdateWrapper<>();
+ int glassInfoCount = 0;
+ if (glassInfo.getCombine() == 0) {
+ glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, layer);
+ queryWrapper.eq("technology_number", layer);
+ wrapper.eq(DownGlassInfo::getLayer, layer);
+ updateWrapper.set("layer", layer);
+ } else {
+ glassInfoCount = glassInfoService.getGlassInfoCountByFlowCardId(flowCardId, 0);
+ updateWrapper.set("layer", 0);
+ }
+ int otherNumber = damageservice.count(queryWrapper);
+ int racksNumber = downGlassInfoService.count(wrapper);
+
updateWrapper.set("total_quantity", glassInfoCount)
.set("flow_card_id", flowCardId)
- .set("layer", layer)
+
.set("other_number", otherNumber)
+ .set("racks_number", racksNumber)
.eq("workstation_id", workstationId);
// .eq("id", workstationId);
this.update(updateWrapper);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
index 3764161..c6288dd 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/DownLoadCacheGlassTask.java
@@ -94,6 +94,15 @@
String confirmationWrodAddress = plcParameterObject.getPlcParameter("confirmationWord").getAddress();
String currentSlot = plcParameterObject.getPlcParameter("currentCell").getValue();
+// requestWord="3";
+// glassIdeValue="P25031802|4|1";
+// out06Glassstate="1";
+// out08Glassstate="1";
+// out11Glassstate ="1";
+// out13Glassstate="1";
+// currentSlot="1";
+// confirmationWrodValue="0";
+
log.info("1銆佽幏鍙栧埌鐨勮姹傚瓧涓猴細{}锛岃幏鍙栧埌鐨勬壂鎻廔D涓猴細{}锛岃幏鍙栧埌鐨勭‘璁ゅ瓧涓猴細{}锛岃幏鍙栧埌鐨勫嚭鐗囩姸鎬佸垎鍒负锛歡06:{}銆乬08:{}銆乬11:{}銆乬13:{},褰撳墠鏍煎瓙鍙蜂负锛歿}",
requestWord, glassIdeValue, confirmationWrodValue, out06Glassstate, out08Glassstate, out11Glassstate, out13Glassstate, currentSlot);
@@ -227,6 +236,7 @@
//鐜荤拑灏哄鏄惁璧颁汉宸ヤ笅鐗�
if (glassWidth > maxWidth || glassHeight > maxHeight || glassWidth < minWidth || glassHeight < minHeight) {
log.info("璇ョ幓鐠冨昂瀵镐笉绗﹀悎瑕佹眰锛岄渶瑕佽蛋浜哄伐涓嬬墖鐩存帴杩涚墖");
+ return;
} else {
log.info("璇ョ幓鐠冨昂瀵搁潪浜哄伐涓嬬墖");
//鑾峰彇璇ョ幓鐠冪殑娴佺▼鍗℃槸鍚﹀凡缁戝畾鏋跺瓙
@@ -677,24 +687,27 @@
wrapper.eq(DownGlassInfo::getLayer, downGlassInfo.getLayer());
}
// downGlassInfo.setSequence(downGlassInfoService.queryMaxSequence(downGlassInfo.getFlowCardId(), downGlassInfo.getLayer()));
- int k = 0;
- DownGlassInfo downGlassInfo1 = downGlassInfoService.getOne(wrapper);
- if (downGlassInfo1 != null) {
- k = 1;
- } else {
- k = 1;
- }
- downGlassInfo.setSequence(k);
- downGlassInfo.setWorkStationId(endCell);
- downGlassInfo.setGmtCreate(new Date());
- downGlassInfoService.save(downGlassInfo);
- //鐢熸垚浠诲姟淇℃伅
+ int k = 1;
+// DownGlassInfo downGlassInfo1 = downGlassInfoService.getOne(wrapper);
+// if (downGlassInfo1 != null) {
+// k = 1;
+// } else {
+// k = 1;
+// }
GlassInfo glassInfo = new GlassInfo();
BeanUtils.copyProperties(downStorageCageDetails, glassInfo);
- //鍒犻櫎鐞嗙墖绗艰〃鎷胯蛋/鐮存崯鏁版嵁鏁版嵁
GlassInfo glassInfo1 = glassInfoService.getOne(
new LambdaUpdateWrapper<GlassInfo>().eq(GlassInfo::getGlassId, glassInfo.getGlassId())
);
+ downGlassInfo.setSequence(k);
+ downGlassInfo.setWorkStationId(endCell);
+ downGlassInfo.setGmtCreate(new Date());
+ downGlassInfo.setLayer(glassInfo1.getLayer());
+ downGlassInfoService.save(downGlassInfo);
+ //鐢熸垚浠诲姟淇℃伅
+
+
+ //鍒犻櫎鐞嗙墖绗艰〃鎷胯蛋/鐮存崯鏁版嵁鏁版嵁
glassInfo.setLayer(glassInfo1.getLayer());
damageService.deleteByGlassId(glassInfo.getGlassId());
return initDownGlassTask(glassInfo, downStorageCageDetails.getSlot(), endCell, taskType);
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
index efd6f94..ce4b783 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/java/com/mes/job/Downpush.java
@@ -57,28 +57,28 @@
@Autowired
private RedisUtil redisUtil;
- @Scheduled(fixedDelay = 2000)
+ @Scheduled(fixedDelay = 3000)
public void sendDownWorkstations() {
- log.info("鍙戦�佸伐浣嶇幓鐠冧俊鎭�");
- JSONObject jsonObject = new JSONObject();
- List<DownWorkstation> data = downWorkstationService.list();
- List<DownGlassTask> downGlassTasks = downGlassTaskService.list(
- new LambdaQueryWrapper<DownGlassTask>()
- .eq(DownGlassTask::getEndCell, 7)
- .eq(DownGlassTask::getTaskType, 3)
- .lt(DownGlassTask::getTaskStatus, 3)
- );
- DownWorkstation downWorkstation = new DownWorkstation();
- downWorkstation.setWorkstationId(7);
- downWorkstation.setEnableState(1);
- downWorkstation.setRacksNumber(downGlassTasks.size());
- downWorkstation.setTotalQuantity(downGlassTasks.size());
- data.add(downWorkstation);
- jsonObject.append("params", data);
- log.info(jsonObject.toString());
+ JSONObject jsonObject = new JSONObject();
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unloadglass");
if (sendwServer != null) {
+ log.info("鍙戦�佸伐浣嶇幓鐠冧俊鎭�");
+ List<DownWorkstation> data = downWorkstationService.list();
+ List<DownGlassTask> downGlassTasks = downGlassTaskService.list(
+ new LambdaQueryWrapper<DownGlassTask>()
+ .eq(DownGlassTask::getEndCell, 7)
+ .eq(DownGlassTask::getTaskType, 3)
+ .lt(DownGlassTask::getTaskStatus, 3)
+ );
+ DownWorkstation downWorkstation = new DownWorkstation();
+ downWorkstation.setWorkstationId(7);
+ downWorkstation.setEnableState(1);
+ downWorkstation.setRacksNumber(downGlassTasks.size());
+ downWorkstation.setTotalQuantity(downGlassTasks.size());
+ data.add(downWorkstation);
+ jsonObject.append("params", data);
+ log.info(jsonObject.toString());
for (WebSocketServer webserver : sendwServer) {
if (webserver != null && webserver.session.isOpen()) {
log.info("宸插彂閫�");
@@ -88,15 +88,16 @@
}
}
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 3000)
public void sendGlassInfoData() {
- log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅1");
- JSONObject jsonObject2 = new JSONObject();
- List<Map<String, Object>> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1, 3);
- jsonObject2.append("glassinfo", glassinfodata);
- log.info(jsonObject2.toString());
+
ArrayList<WebSocketServer> sendwServer2 = WebSocketServer.sessionMap.get("unloadglass2");
if (sendwServer2 != null) {
+ log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅1");
+ JSONObject jsonObject2 = new JSONObject();
+ List<Map<String, Object>> glassinfodata = downWorkstationService.getTotalGlassDimensionsByWorkstation(1, 3);
+ jsonObject2.append("glassinfo", glassinfodata);
+ log.info(jsonObject2.toString());
for (WebSocketServer webserver : sendwServer2) {
if (webserver != null && webserver.session.isOpen()) {
webserver.sendMessage(jsonObject2.toString());
@@ -105,15 +106,14 @@
}
}
- @Scheduled(fixedDelay = 1000)
+ @Scheduled(fixedDelay = 3000)
public void sendGlassInfoData2() {
- log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅2");
- JSONObject jsonObject3 = new JSONObject();
- List<Map<String, Object>> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4, 6);
- jsonObject3.append("glassinfo2", glassinfodata2);
- log.info(jsonObject3.toString());
ArrayList<WebSocketServer> sendwServer3 = WebSocketServer.sessionMap.get("unloadglass3");
if (sendwServer3 != null) {
+ log.info("鍙戦�佸伐浣嶆樉绀哄浘淇℃伅2");
+ JSONObject jsonObject3 = new JSONObject();
+ List<Map<String, Object>> glassinfodata2 = downWorkstationService.getTotalGlassDimensionsByWorkstation(4, 6);
+ jsonObject3.append("glassinfo2", glassinfodata2);
for (WebSocketServer webserver : sendwServer3) {
if (webserver != null && webserver.session.isOpen()) {
webserver.sendMessage(jsonObject3.toString());
@@ -122,7 +122,7 @@
}
}
- @Scheduled(fixedDelay = 2000)
+ @Scheduled(fixedDelay = 3000)
public void sendDownStorageCages() {
log.info("鍙戦�佺紦瀛樼幓鐠冧俊鎭�");
JSONObject jsonObject4 = new JSONObject();
@@ -139,56 +139,57 @@
}
}
- @Scheduled(fixedDelay = 2000)
+ @Scheduled(fixedDelay = 3000)
public void sendDownGlassInfo() {
- DownGlassInfoRequest request = redisUtil.getCacheObject("downGlassRequest");
- if (null == request) {
- request = new DownGlassInfoRequest();
- }
- if (request.getBeginDate() == null) {
- request.setBeginDate(DateUtil.getBeginDate());
- request.setEndDate(DateUtil.getEndDate());
- }
- log.info("鍙戦�佸綋鍓嶆鍦ㄦ墽琛屽伐绋嬪凡钀芥灦鐨勭幓鐠冧俊鎭�");
- LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>()
- .between(null != request.getBeginDate(), DownGlassInfo::getGmtCreate, request.getBeginDate(), request.getEndDate())
- .eq(StringUtils.isNotBlank(request.getEngineerId()), DownGlassInfo::getEngineerId, request.getEngineerId());
- if (null == request.getWorkStationId() || 0 == request.getWorkStationId()) {
- wrapper.in(DownGlassInfo::getWorkStationId, Const.WORK_STATION_ALL);
- } else {
- wrapper.eq(DownGlassInfo::getWorkStationId, request.getWorkStationId());
- }
- List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(wrapper);
-// Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId));
- List<Object> engineerIdListTemp = downGlassInfoService.listObjs(new QueryWrapper<DownGlassInfo>().select("distinct engineer_id"));
- List<String> engineerIdList = engineerIdListTemp.stream().map(String::valueOf).collect(Collectors.toList());
- JSONObject jsonObject4 = new JSONObject();
- jsonObject4.append("downGlassInfos", downGlassInfos);
- jsonObject4.append("engineerIdList", engineerIdList);
-
- //鎵撳嵃寮�鍏�
- boolean autoPrint = false;
- if (redisUtil.getCacheObject("autoPrint") == null) {
- redisUtil.setCacheObject("autoPrint", false);
- } else {
- autoPrint = redisUtil.getCacheObject("autoPrint");
- }
- jsonObject4.append("autoPrint", autoPrint);
- //浜哄伐涓嬬墖浣嶇疆鏈�鍚庝竴鐗�
- DownGlassTask takeGlass = downGlassTaskService.getOne(
- new QueryWrapper<DownGlassTask>()
- .select("Top 1 *")
- .eq("end_cell", Const.G13_WORK_STATION)
- .eq("task_type", 3)
- .lt("task_status", Const.UNLOAD_GLASS_DOWN)
- .orderByAsc("id")
- );
- if (takeGlass != null) {
- jsonObject4.append("takeGlass", takeGlass);
- }
ArrayList<WebSocketServer> sendwServer4 = WebSocketServer.sessionMap.get("unloadglass");
if (sendwServer4 != null) {
+ DownGlassInfoRequest request = redisUtil.getCacheObject("downGlassRequest");
+ if (null == request) {
+ request = new DownGlassInfoRequest();
+ }
+ if (request.getBeginDate() == null) {
+ request.setBeginDate(DateUtil.getBeginDate());
+ request.setEndDate(DateUtil.getEndDate());
+ }
+ log.info("鍙戦�佸綋鍓嶆鍦ㄦ墽琛屽伐绋嬪凡钀芥灦鐨勭幓鐠冧俊鎭�");
+ LambdaQueryWrapper<DownGlassInfo> wrapper = new LambdaQueryWrapper<DownGlassInfo>()
+ .between(null != request.getBeginDate(), DownGlassInfo::getGmtCreate, request.getBeginDate(), request.getEndDate())
+ .eq(StringUtils.isNotBlank(request.getEngineerId()), DownGlassInfo::getEngineerId, request.getEngineerId());
+ if (null == request.getWorkStationId() || 0 == request.getWorkStationId()) {
+ wrapper.in(DownGlassInfo::getWorkStationId, Const.WORK_STATION_ALL);
+ } else {
+ wrapper.eq(DownGlassInfo::getWorkStationId, request.getWorkStationId());
+ }
+ List<DownGlassInfo> downGlassInfos = downGlassInfoService.list(wrapper);
+// Map<Integer, List<DownGlassInfo>> listMap = downGlassInfos.stream().collect(Collectors.groupingBy(DownGlassInfo::getWorkStationId));
+ List<Object> engineerIdListTemp = downGlassInfoService.listObjs(new QueryWrapper<DownGlassInfo>().select("distinct engineer_id"));
+ List<String> engineerIdList = engineerIdListTemp.stream().map(String::valueOf).collect(Collectors.toList());
+ JSONObject jsonObject4 = new JSONObject();
+ jsonObject4.append("downGlassInfos", downGlassInfos);
+ jsonObject4.append("engineerIdList", engineerIdList);
+
+ //鎵撳嵃寮�鍏�
+ boolean autoPrint = false;
+ if (redisUtil.getCacheObject("autoPrint") == null) {
+ redisUtil.setCacheObject("autoPrint", false);
+ } else {
+ autoPrint = redisUtil.getCacheObject("autoPrint");
+ }
+ jsonObject4.append("autoPrint", autoPrint);
+ //浜哄伐涓嬬墖浣嶇疆鏈�鍚庝竴鐗�
+ DownGlassTask takeGlass = downGlassTaskService.getOne(
+ new QueryWrapper<DownGlassTask>()
+ .select("Top 1 *")
+ .eq("end_cell", Const.G13_WORK_STATION)
+ .eq("task_type", 3)
+ .lt("task_status", Const.UNLOAD_GLASS_DOWN)
+ .orderByAsc("id")
+ );
+ if (takeGlass != null) {
+ jsonObject4.append("takeGlass", takeGlass);
+ }
+
for (WebSocketServer webserver : sendwServer4) {
if (webserver != null && webserver.session.isOpen()) {
webserver.sendMessage(jsonObject4.toString());
@@ -199,14 +200,14 @@
@Scheduled(fixedDelay = 1000)
public void isRun() {
- JSONObject jsonObject = new JSONObject();
- //姝e湪杩涜鐨勪换鍔�
- List<DownWorkstation> downWorkstation = downWorkstationService.getoneDownWorkstations(1, 6);
- jsonObject.append("downWorkstation", downWorkstation);
- List<DownGlassTask> downGlassTask = downGlassTaskService.selectOutTaskCache();
- jsonObject.append("downGlassTask", downGlassTask);
ArrayList<WebSocketServer> sendwServer = WebSocketServer.sessionMap.get("unLoadGlassIsRun");
if (sendwServer != null) {
+ JSONObject jsonObject = new JSONObject();
+ //姝e湪杩涜鐨勪换鍔�
+ List<DownWorkstation> downWorkstation = downWorkstationService.getoneDownWorkstations(1, 6);
+ jsonObject.append("downWorkstation", downWorkstation);
+ List<DownGlassTask> downGlassTask = downGlassTaskService.selectOutTaskCache();
+ jsonObject.append("downGlassTask", downGlassTask);
for (WebSocketServer webserver : sendwServer) {
if (webserver != null) {
webserver.sendMessage(jsonObject.toString());
@@ -222,8 +223,9 @@
log.info("鎵弿浠诲姟宸插惎鍔�");
while (true) {
JSONObject jsonObject = new JSONObject();
- try (Socket socket = new Socket(scanIp, scanPort);
- BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()))) {
+ try (Socket socket = new Socket(scanIp, scanPort)) {
+ socket.setSoTimeout(1000);
+ BufferedReader in = new BufferedReader(new InputStreamReader(socket.getInputStream()));
// 鎺ユ敹鏈嶅姟鍣ㄥ搷搴�
log.info("绛夊緟鎵爜涓�......");
String glassId = in.readLine();
diff --git a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
index 5873f82..1bae3c4 100644
--- a/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
+++ b/hangzhoumesParent/moduleService/UnLoadGlassModule/src/main/resources/application.yml
@@ -13,7 +13,12 @@
pool:
size: 10
thread-name-prefix: task-unLoad
-
+ druid:
+ initial-size: 5
+ min-idle: 5
+ max-active: 10
+ time-between-eviction-runs-millis: 60000
+ connection-properties: druid,stat,mergeSql=true,druid,stat ,slowSalMillis=5000
mybatis-plus:
mapper-locations: classpath*:mapper/*.xml
--
Gitblit v1.8.0