ZengTao
2024-03-21 ffc342d5c299fa3d966d88e4cdb9bf092a7c7510
添加主页面设备状态显示
7个文件已修改
96 ■■■■ 已修改文件
Albania_Mes-ui/src/views/home/index.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 10 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
Albania_Mes-ui/src/views/home/index.vue
@@ -5,8 +5,8 @@
}
.occupy {
    height: 100%;
    width: 20%;
    height: 50%;
    width: 45%;
    background-color: white;
    margin: 0px 8px 0px 8px;
    border: 1px #EBEEF5 solid;
@@ -74,6 +74,7 @@
    max-width: 57%;
    background-size: 1050px 1400px;
    margin-top: -280px;
    overflow: hidden;
    /* width: 1660px;
    max-width: 100vw;
    background-size: 1660px 560px; */
@@ -82,17 +83,14 @@
}
.blocks-img {
    height: 88px;
    line-height: 90px;
    color: white;
    height: 900px;
    max-width: 100vw;
    background-repeat: no-repeat;
    background-attachment: local;
    width: 32px;
    width: 1200px;
    position: absolute;
    background-image: url('../../img/bigcar01.png');
    background-size: 40px 87px;
    /* background-size: 46px 94px; */
    background-image: url(/img/car.c2f92670.png);
    background-size: 800px 1200px;
}
.blocks-img2 {
@@ -237,6 +235,7 @@
    height: 15px;
    position: absolute;
}
/*
*/
@@ -303,8 +302,6 @@
  margin-top: -150px;
  margin-left: -200px;
}
</style>
<template>
    <el-container>
@@ -338,20 +335,40 @@
            </div>
            <div style="display: flex;align-items: center;">
                <div class="blocks" style="position: relative;width: 100%;">
                    <div class="blocks-img" :style="'z-index:999;left:150px;top:555px;'">
                </div>
                    <div
                        :style="'position: absolute;z-index:999;left:271px;top:987px;width:210px;height:38px;background-color:' + ShowDeviceList(0) + ';;'">
                    </div>
                    <div
                        :style="'position: absolute;z-index:999;left:553px;top:956px;width:110px;height:74px;background-color:' + ShowDeviceList(0) + ';;'">
                    </div>
                    <div
                        :style="'position: absolute;z-index:999;left:800px;top:450px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';;'">
                    </div>
                    <div
                        :style="'position: absolute;z-index:999;left:800px;top:675px;width:115px;height:30px;background-color:' + ShowDeviceList(0) + ';;'">
                    </div>
                    <div
                        :style="'position: absolute;z-index:999;left:740px;top:930px;width:230px;height:90px;background-color:' + ShowDeviceList(0) + ';;'">
                        <div v-for="item in cagelist1" :key="item['id']">
                            <div></div>
                        </div>
                    </div>
                </div>
                <div>
                    <div style="padding: 10px;display: flex;height:100px;">
                    <div style="padding: 10px;display: flex;height: 300px;flex-wrap: wrap;">
                        <div v-for="item in tableData" :key="item['cageno']" class="occupy">
                            <el-col style="text-align:left;font-weight: bold;">#{{ item['cage'] }}</el-col>
                            <el-col
                                style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                                <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['cell'] }}%</span>
                                style="text-align:left;display:flex;justify-content: space-between;align-items: center;height: 70px;">
                                <span class="biao">{{ $t('Usage') }}</span><span class="zhi">{{ item['width'] }}%</span>
                            </el-col>
                            <hr style="width:80%;margin: 0 auto;" />
                            <el-col
                                style="text-align:left;display:flex;justify-content: space-between;align-items: center;">
                                <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['state']
                                <span class="biao">{{ $t('Space (Pieces)') }}</span><span class="zhi">{{ item['cell']
                                    }}</span>
                            </el-col>
                        </div>
@@ -704,7 +721,7 @@
            reset: false,
            isQueueWarning: false,
            CurrentFrame: [],
            DeviceList: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
            DeviceList: [1, 1, 1, 1],
            GlassIdList: [],
            Scanningmethod: true,
            CurrrentGlassId: "",
@@ -760,7 +777,10 @@
                        // this.car1 = 210 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
                        // this.car2 = 300 + 11.25 * (obj.params[0][1]-this.carlist[1]['start'])/(this.carlist[1]['end']-this.carlist[1]['start'])*100;
                    }
                    // 获取设备状态
                    if (obj.DeviceList != null) {
                        this.DeviceList = obj.DeviceList[0];
                    }
                    this.tableData = obj.tableData[0];
                    this.cagelist1 = obj.cagelist1[0];
                    this.cagelist2 = obj.cagelist2[0];
springboot-vue3/src/main/java/com/example/springboot/component/PlcHoldNew.java
@@ -39,8 +39,11 @@
      // List<Short> E0sss1id = S7control.getinstance().ReadWord("DB14.0",1);
      // String E01id = S7control.getinstance().readStrings("DB14.38");
      // System.out.println(E01id);
      // if (S7control.getinstance().CheckConnected() == false) {
        byte[] E0sss1id = S7control.getinstance().ReadByte("DB14.208",1);
      // if (S7control.getinstance().CheckCsonnected() == false) {
        List<Short> E0sss1id = S7control.getinstance().ReadWord("DB14.206",1);
        List<String> st= S7control.getinstance().readStrings("DB14.206");
        byte[] E0sss1ids = S7control.getinstance().ReadByte("DB14.206",2);
        byte[] E0sss1idss = S7control.getinstance().ReadByte("DB14.0",210);
      spianService = WebSocketServer.applicationContext.getBean(SpianServiceNew.class);
      albaniaMapper = WebSocketServer.applicationContext.getBean(AlbaniaMapper.class);
      //spianService.selectAll(albaniaMapper.SelectGlass());
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -77,13 +77,13 @@
                storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
                // 笼子使用情况
                List<StorageCage> tableData = homeMapper.selectAll();
                List<StorageCage> tableData = homeMapper.selectAlls();
                jsonObject.append("tableData", tableData);
                // 格理片笼格子状态
                List<StorageCage> cagelist1 = homeMapper.selectRack1();
                List<StorageCage> cagelist2 = homeMapper.selectRack2();
                List<StorageCage> cagelist3 = homeMapper.selectRack3();
                List<StorageCage> cagelist4 = homeMapper.selectRack4();
                List<StorageCage> cagelist1=storageCageService.SelectStorageCageByCage(1);
                List<StorageCage> cagelist2=storageCageService.SelectStorageCageByCage(2);
                List<StorageCage> cagelist3=storageCageService.SelectStorageCageByCage(3);
                List<StorageCage> cagelist4=storageCageService.SelectStorageCageByCage(4);
                jsonObject.append("cagelist1", cagelist1);
                jsonObject.append("cagelist2", cagelist2);
                jsonObject.append("cagelist3", cagelist3);
springboot-vue3/src/main/java/com/example/springboot/component/S7control.java
@@ -201,7 +201,6 @@
    public List<Short> ReadWord(String address, int count) {
        if (s7PLC == null)
            return null;
        List<String> addresslist = GetAddressList(address, count, 16);
        try {
            return s7PLC.readInt16(addresslist);
@@ -211,7 +210,13 @@
            return null;
        }
    }
    public byte[] Readbyte(String address, int count) {
        byte[] byt=new byte[count];
        int wordcount=((count%2==0)?count/2:count+1);
        List<Short> word=ReadWord(address,wordcount);
        return byt;
    }
    /**
     * 按指定的地址 读取byte结果集
     * 
springboot-vue3/src/main/java/com/example/springboot/mapper/HomeMapper.java
@@ -21,6 +21,9 @@
  @Select("select cage,round(100-(21-sum(if(state>0,1,state)))/21*100) as cell,21-sum(if(state>0,1,state)) as state from (select cage,cell,max(state) as state from storage_cage group by cage,cell) as cages group by cage")
  List<StorageCage> selectAll();
  @Select("Select cage,sum(case when number=0 or number is null then 1 else 0 end) as cell,100-sum(case when number=0 or number is null then 1 else 0 end)/count(id)*100 as width from storage_cage group by cage")
  List<StorageCage> selectAlls();
  // 查询10-6笼内层格子状态
  @Select("SELECT cage,state,ifnull(glasswidth/2750*2,0) as glasswidth from storage_cage where cage>5 and tier=2 order by cage desc,cell desc")
  List<StorageCage> selectRack1();
@@ -283,8 +286,11 @@
  @Update("update queue set flowcard=#{flowcard},glasswidth=#{width},glassheight=#{height},glasstype=#{glasstype},state=1 where state<=0")
  void UpdateQueue(String flowcard,double width,double height,Integer glasstype);
  @Update("update glassinfo set finishnumber=finishnumber+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
  @Update("update glassinfo set finishnumber=ifnull(finishnumber,0)+1 where flowcard=#{flowcard} and mateid=#{mateid} and tier=#{geTier}")
  void AddGlassNo(String flowcard, Integer mateid, Integer geTier);
  
  // 查询笼内玻璃信息
  @Select("SELECT select * from storage_cage where cage=#{cage} order by id desc")
  List<StorageCage> SelectStorageCageByCage(Integer cage);
}
springboot-vue3/src/main/java/com/example/springboot/service/StorageCageService.java
@@ -315,4 +315,8 @@
        return Result.success(map);
    }
    public List<StorageCage> SelectStorageCageByCage(int cage) {
        return homeMapper.SelectStorageCageByCage(cage);
    }
}
springboot-vue3/src/main/resources/JsonFile/PlcAlbania.json
@@ -409,6 +409,12 @@
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      },{
         "codeId": "MainControl",
         "addressIndex":"208",
         "addressLenght":"2",
         "ratio":"1",
         "unit":"mm/S"
      }
   ]
}