ZengTao
2024-05-17 62718fb62a1fc92ee727ce31e0ca877f3e30f503
根据客户需求取消操作输入密码
5个文件已修改
278 ■■■■■ 已修改文件
CanadaMes-ui/src/lang/locales/en-US.json 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/zh-CN.json 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/views/home/index.vue 147 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java 124 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
CanadaMes-ui/src/lang/locales/en-US.json
@@ -3,8 +3,8 @@
  "ip":"192.168.10.21",
  "Abort":"Abort",
  "Current scan":"Current scan",
  "Interior Out Bypass: Right":"Interior Out Bypass: Right",
  "Interior Out Bypass: Left":"Interior Out Bypass: Left",
  "Interior Out Bypass: Right":"Exterior Out Bypass: Right",
  "Exterior Out Bypass: Left":"Interior Out Bypass: Left",
  "Remove Frame":"Remove Frame",
  "Mes Connection failed":"Mes Connection failed",
  "Plc1 Connection failed":"Plc1 Connection failed",
CanadaMes-ui/src/lang/locales/zh-CN.json
@@ -4,7 +4,7 @@
  "Current scan":"当前扫码",
  "Abort":"中止",
  "Interior Out Bypass: Right":"内部-外部旁路:右侧",
  "Interior Out Bypass: Left":"内部-外部旁路:左侧",
  "Exterior Out Bypass: Left":"内部-外部旁路:左侧",
  "Remove Frame":"移除铝框",
  "Mes Connection failed":"Mes连接失败",
  "Plc1 Connection failed":"Plc1连接失败",
CanadaMes-ui/src/views/home/index.vue
@@ -598,20 +598,20 @@
                <el-table-column :min-width="250" :label="$t('Operate')">
                    <template slot-scope='scope'>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            :disabled="(scope.row.state == 1 && loadname == 'admin') ? false : true"
                            :disabled="(scope.row.state == 1 && (loadname == 'admin' || loadname == 'northglass')) ? false : true"
                            @click="deleteglass(scope.row.glassId, scope.row.state)">{{ $t('Delete') }}</el-button>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            :disabled="(scope.row.state == 1 && (loadname == 'admin' || loadname == 'Transfer')) ? false : true"
                            :disabled="(scope.row.state == 1 && (loadname == 'admin' || loadname == 'Transfer' || loadname == 'northglass' )) ? false : true"
                            @click="outglass(scope.row.glassId, scope.row.state)">{{ $t('Outfeed') }}</el-button>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            :disabled="(loadname == 'admin') ? false : true"
                            :disabled="(loadname == 'admin' || loadname == 'northglass') ? false : true"
                            @click="UpdateDisabled(scope.row.cage, scope.row.cell, scope.row.disabled == 0 ? 1 : 0)">
                            {{ scope.row.disabled == 0 ? $t('Disable') : $t('Enable') }}</el-button>
                        <el-button type="primary" style="padding: 4px 10px;font-size: 12px;"
                            :disabled="(scope.row.glassId == null && loadname == 'admin') ? false : true"
                            :disabled="(scope.row.glassId == null && (loadname == 'admin' || loadname == 'northglass')) ? false : true"
                            @click="insertglass(scope.row.cage, scope.row.cell, scope.row.tier)">{{ $t('Add')
                            }}</el-button>
                    </template>
@@ -843,8 +843,10 @@
                <div style="width:30%;" v-for="(item) in CurrentFrame" :key="item['barcode']">
                    <div style="background-color: yellow;">
                        <h1 style="font-size: 40px;text-align: center;">{{ $t('Current scan') }}:</h1>
                        <h1 style="font-size: 40px;text-align: center;">{{ $t('List No') }}:{{ frameInfo.listnumber }}</h1>
                        <h1 style="font-size: 40px;text-align: center;">{{ $t('Box No') }}:{{ frameInfo.boxnumber }}</h1>
                        <h1 style="font-size: 40px;text-align: center;">{{ $t('List No') }}:{{ frameInfo.listnumber }}
                        </h1>
                        <h1 style="font-size: 40px;text-align: center;">{{ $t('Box No') }}:{{ frameInfo.boxnumber }}
                        </h1>
                    </div>
                    <el-button style="margin-left: 42%;" type="primary" @click="FrameStateUpdate(item['barcode'])">{{
                $t('Next') }}</el-button>
@@ -858,11 +860,11 @@
                        </div>
                        <div class="frame"
                            :style="'background-color: ' + framecolor1 + ';margin-top:30px;margin:0 auto;width: 370px;height:150px;float: left;'">
                            :style="'background-color: ' + Colorchange(1) + ';margin-top:30px;margin:0 auto;width: 370px;height:150px;float: left;'">
                            <h1 style="font-size: 54px;text-align: center;color:white;margin-top: 0px;">
                                {{ framecolor1 == "green" ? $t('Interior Out Bypass: Right')
                                :framecolor1 == "blue" ? $t('Interior Out Bypass: Left')
                                 :$t('Remove Frame') }}
                : framecolor1 == "blue" ? $t('Exterior Out Bypass: Left')
                    : $t('Remove Frame') }}
                            </h1>
                        </div>
                        <div v-if="item['flip'] == 2"
@@ -877,7 +879,8 @@
                    </h1>
                    <div>
                        <h1 style="font-size: 30px;text-align: center;margin-top: 65px;">
                        {{ (item['framewidthmm'] * 1) >= (item['frameheightmm'] * 1) ? item['frameheightmm'] : item['framewidthmm'] }}</h1>
                            {{ (item['frameheightmm'] * 1) > (item['framewidthmm'] * 1) ? item['frameheightmm'] :
                item['framewidthmm'] }}</h1>
                    </div>
                </div>
@@ -931,40 +934,39 @@
                </el-table-column>
            </el-table>
            <div style="width:30%;" v-for="(item) in AluminumFrameInfo" :key="item['barcode']">
                    <el-button style="margin-left: 42%;" type="primary" @click="FrameStateUpdate(item['barcode'])">{{
                <el-button style="margin-left: 42%;" type="primary" @click="FrameStateUpdate(item['barcode'])">{{
                $t('Next') }}</el-button>
                    <h1 style="font-size: 40px;text-align: center;">{{ $t('Current Frame on Belt') }}:</h1>
                    <h1 style="font-size: 40px;text-align: center;">{{ $t('Barcode') }}:{{ item['barcode'] }}</h1>
                    <h1 style="font-size: 40px;text-align: center;">{{ $t('List No') }}:{{ item['listId'] }}</h1>
                    <h1 style="font-size: 40px;text-align: center;">{{ $t('Box No') }}:{{ item['boxId'] }}</h1>
                    <div>
                        <div v-if="item['flip'] == 1"
                            style="width:40px;height:150px;border:1px solid black;float: left;">
                        </div>
                        <div class="frame"
                            :style="'background-color: ' + framecolor + ';margin-top:30px;margin:0 auto;width: 370px;height:150px;float: left;'">
                            <h1 style="font-size: 54px;text-align: center;color:white;margin-top: 0px;">
                                {{ framecolor == "green" ? $t('Interior Out Bypass: Right')
                                :framecolor == "blue" ? $t('Interior Out Bypass: Left')
                                 :$t('Remove Frame') }}
                            </h1>
                        </div>
                        <div v-if="item['flip'] == 2"
                            style="width:40px;height:150px;border:1px solid black;float: left;">
                        </div>
                <h1 style="font-size: 40px;text-align: center;">{{ $t('Current Frame on Belt') }}:</h1>
                <h1 style="font-size: 40px;text-align: center;">{{ $t('Barcode') }}:{{ item['barcode'] }}</h1>
                <h1 style="font-size: 40px;text-align: center;">{{ $t('List No') }}:{{ item['listnumber'] }}</h1>
                <h1 style="font-size: 40px;text-align: center;">{{ $t('Box No') }}:{{ item['boxnumber'] }}</h1>
                <div>
                    <div v-if="item['flip'] == 1" style="width:40px;height:150px;border:1px solid black;float: left;">
                    </div>
                    <h1 style="font-size: 30px;text-align: center;margin-top: 50px;">{{
                (item['framelength'] * 1) > (item['frameheightmm'] * 1) ? item['frameheightmm'] :
                    <div class="frame"
                        :style="'background-color: ' + Colorchange(0) + ';margin-top:30px;margin:0 auto;width: 370px;height:150px;float: left;'">
                        <h1 style="font-size: 54px;text-align: center;color:white;margin-top: 0px;">
                            {{ framecolor == "green" ? $t('Interior Out Bypass: Right')
                : framecolor == "blue" ? $t('Exterior Out Bypass: Left')
                    : $t('Remove Frame') }}
                        </h1>
                    </div>
                    <div v-if="item['flip'] == 2" style="width:40px;height:150px;border:1px solid black;float: left;">
                    </div>
                </div>
                <h1 style="font-size: 30px;text-align: center;margin-top: 50px;">{{
                (item['framelength'] * 1) > (item['frameheight'] * 1) ? item['frameheight'] :
                    item['framelength']
            }}
                    </h1>
                    <div>
                        <h1 style="font-size: 30px;text-align: center;margin-top: 65px;">
                        {{ (item['framelength'] * 1) >= (item['frameheightmm'] * 1) ? item['frameheightmm'] : item['framelength'] }}</h1>
                    </div>
                </h1>
                <div>
                    <h1 style="font-size: 30px;text-align: center;margin-top: 65px;">
                        {{ (item['frameheight'] * 1) > (item['framelength'] * 1) ? item['frameheight'] :
                        item['framelength']}}</h1>
                </div>
            </div>
@@ -1132,6 +1134,13 @@
    }
    ,
    methods: {
        Colorchange(i) {
            if (i == 0) {
                return this.framecolor;
            } else {
                return this.framecolor1;
            }
        },
        init() {
            let viewname = "Home";
            if (typeof (WebSocket) == "undefined") {
@@ -1198,28 +1207,31 @@
                    //查询当前铝框信息
                    this.CurrentFrame = obj.CurrentFrame;
                    if (this.CurrentFrame[0].frameheightmm > this.CurrentFrame[0].framewidthmm) {
                        if (this.CurrentFrame[0].frameheightmm < 23.62205 || this.CurrentFrame[0].framewidthmm < 15.748) {
                            this.framecolor1 = "red";
                        } else {
                            if (this.CurrentFrame[0].flip == 2) {
                                this.framecolo1 = "green";
                    if (obj.CurrentFrame.length!=0) {
                        if (this.CurrentFrame[0].frameheightmm > this.CurrentFrame[0].framewidthmm) {
                            if (this.CurrentFrame[0].frameheightmm < 23.62205 || this.CurrentFrame[0].framewidthmm < 15.748) {
                                this.framecolor1 = "red";
                            } else {
                                this.framecolor1 = "blue";
                            }
                                if (this.CurrentFrame[0].flip == 2) {
                                    this.framecolor1 = "green";
                                } else {
                                    this.framecolor1 = "blue";
                                }
                        }
                    } else {
                        if (this.CurrentFrame[0].frameheightmm < 15.748 || this.CurrentFrame[0].framewidthmm < 23.62205) {
                            this.framecolor1 = "red";
                            }
                        } else {
                            if (this.CurrentFrame[0].flip == 2) {
                                this.framecolor1 = "green";
                            if (this.CurrentFrame[0].frameheightmm < 15.748 || this.CurrentFrame[0].framewidthmm < 23.62205) {
                                this.framecolor1 = "red";
                            } else {
                                this.framecolor1 = "blue";
                                if (this.CurrentFrame[0].flip == 2) {
                                    this.framecolor1 = "green";
                                } else {
                                    this.framecolor1 = "blue";
                                }
                            }
                        }
                    }
                    // 获取设备状态
                    if (obj.DeviceList != null) {
                        this.DeviceList = obj.DeviceList[0];
@@ -1239,9 +1251,8 @@
                        }
                    }
                    if(obj.frameInfo!=null){
                        this.frameInfo=obj.frameInfo[0];
                        console.log(this.frameInfo);
                    if (obj.frameInfo != null) {
                        this.frameInfo = obj.frameInfo[0];
                    }
                    if (obj.AluminumFrameInfo != null) {
@@ -1657,9 +1668,9 @@
        },
        //结束进/出片任务
        endtask(type, glassid, cell) {
            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
                inputType: 'password',
                inputPlaceholder: this.$t('Please enter the password'),
            this.$confirm(this.$t('Are you sure to perform this operation ?'), this.$t('confirm'), {
                // inputType: 'password',
                // inputPlaceholder: this.$t('Please enter the password'),
                confirmButtonText: this.$t('Yes'),
                cancelButtonText: this.$t('No'),
                type: 'warning'
@@ -1696,9 +1707,9 @@
        },
        //删除理片笼玻璃
        deleteglass(glassid, state) {
            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
                inputType: 'password',
                inputPlaceholder: this.$t('Please enter the password'),
            this.$confirm(this.$t('Are you sure to perform this operation ?'), this.$t('confirm'), {
                // inputType: 'password',
                // inputPlaceholder: this.$t('Please enter the password'),
                confirmButtonText: this.$t('Yes'),
                cancelButtonText: this.$t('No'),
                type: 'warning'
@@ -1726,7 +1737,7 @@
        },
        //手动出片
        outglass(glassid, state) {
            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
            this.$confirm(this.$t('Are you sure to perform this operation ?'), this.$t('confirm'), {
                inputType: 'password',
                inputPlaceholder: this.$t('Please enter the password'),
                confirmButtonText: this.$t('Yes'),
@@ -1764,7 +1775,7 @@
        },
        //手动往理片笼添加玻璃
        insertglass(cage, cell, tier) {
            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
            this.$confirm(this.$t('Are you sure to perform this operation ?'), this.$t('confirm'), {
                inputType: 'password',
                inputPlaceholder: this.$t('Please enter the password'),
                confirmButtonText: this.$t('Yes'),
@@ -1816,7 +1827,7 @@
        },
        //启用//理片笼禁用
        UpdateDisabled(cage, cell, disabled) {
            this.$prompt(this.$t('Are you sure to perform this operation ?'), this.$t('prompt'), {
            this.$confirm(this.$t('Are you sure to perform this operation ?'), this.$t('confirm'), {
                inputType: 'password',
                inputPlaceholder: this.$t('Please enter the password'),
                confirmButtonText: this.$t('Yes'),
@@ -1958,6 +1969,10 @@
            if (this.AluminumFrame != null) {
                AddOutSliceS(this.AluminumFrame[0].frameBarcode).then(res => {
                    if (res.data.message == 200) {
                        this.AluminumFrame = null;
                        this.AluminumFrameInfo = null;
                        this.dialogFormVisible7 = false;
                        this.framebarcode = "";
                        this.$message.success(this.$t('Operation successful'));
                    }
                });
springboot-vue3/src/main/java/com/example/springboot/component/Plchome.java
@@ -83,11 +83,9 @@
                storageCageService = WebSocketServer.applicationContext.getBean(StorageCageService.class);
                dbserve = WebSocketServer.applicationContext.getBean(JdbcConnections.class);
                // String framenos="X225045101V";
                // north_frame_buffer1_frames frameInfos=dbserve.SelectFrameBarcode(framenos);
                // if(frameInfos!=null){
                //     jsonObject.append("frameInfo", frameInfos);
                // }
                try {
                    dbserve.getConn();
                    dbconnected = true;
@@ -148,6 +146,7 @@
                // 查询当前铝框信息
                Out_slice CurrentFrame = outSliceServive.SelectCurrentFrame();
                jsonObject.append("CurrentFrame", CurrentFrame);
                try {
                    // 铝框线交互
@@ -172,6 +171,9 @@
                    if (CurrentFrame != null) {
                        S7controlLK.getinstance().writeStrings(CurrentFrame.getBarCode(), "DB17.0");
                    }
                    // else{
                    //     S7controlLK.getinstance().writeStrings("", "DB17.0");
                    // }
                    String J01id = S7controlLK.getinstance().readStrings("DB17.22");
                    List<Short> liststate = S7controlLK.getinstance().ReadWord("DB17.20", 1);
                    Short framerequest = liststate.get(0);
@@ -201,15 +203,6 @@
                        }
                        S7controlLK.getinstance().WriteWord("DB17.38", (short) send);
                    }
                    String E01id = S7controlLK.getinstance().readStrings("DB17.0");
                    // log.info("frameno:" + E01id);
                    List<Short> liststates = S7controlLK.getinstance().ReadWord("DB17.38", 1);
                    // log.info("frameflip:" + liststates);
                    // }else{
                    // log.info("Plc2"+S7controlLK.getinstance().CheckConnected());
                    // jsonObject.append("Plc2", false);
                    // }
                } catch (Exception e) {
                    e.printStackTrace();
                }
@@ -226,25 +219,34 @@
                    // 获取当前扫码枪玻璃id
                    String CurrrentGlassId = spianService.queGlassid("DB103.256", 14).toString();
                    if (CurrrentGlassId.toString() != "" && CurrrentGlassId.toString() != null) {
                        north_glass_buffer1 form6 = dbserve.SelectGlassByGlassIdOrderIdFrameIdouts(CurrrentGlassId, "",
                        north_glass_buffer1 form6=new north_glass_buffer1();
                        try {
                            form6= dbserve.SelectGlassByGlassIdOrderIdFrameIdouts(CurrrentGlassId, "",
                                "");
                        if (form6.getbarcode() != null) {
                            jsonObject.append("form6", form6);
                            double width = 0;
                            double height = 0;
                            if (form6.getglassheightmm() < form6.getglasslengthmm()) {
                                height = form6.getglassheightmm();
                                width = form6.getglasslengthmm();
                            } else {
                                height = form6.getglasslengthmm();
                                width = form6.getglassheightmm();
                            }
                            if (height < 225 || width < 380 || height > 1810 || width > 2760) {
                                zhi = 600;
                            } else {
                                zhi = spianService.selectAlls(form6);
                        } catch (Exception e) {
                            // TODO: handle exception
                            e.printStackTrace();
                        }
                        if(form6!=null){
                            if (form6.getbarcode() != null) {
                                jsonObject.append("form6", form6);
                                double width = 0;
                                double height = 0;
                                if (form6.getglassheightmm() < form6.getglasslengthmm()) {
                                    height = form6.getglassheightmm();
                                    width = form6.getglasslengthmm();
                                } else {
                                    height = form6.getglasslengthmm();
                                    width = form6.getglassheightmm();
                                }
                                if (height < 225 || width < 380 || height > 1810 || width > 2760) {
                                    zhi = 600;
                                } else {
                                    zhi = spianService.selectAlls(form6);
                                }
                            }
                        }
                    }
                    jsonObject.append("CurrrentGlassId", CurrrentGlassId);
@@ -287,35 +289,53 @@
                    if (!frameno.equals(Plchome.FrameNo)) {
                        Plchome.FrameNo = frameno;
                        try {
                            Short num = 0;
                            List<north_glass_buffer1> north_glass_buffer1s = north_Glass_Buffer1Service
                                    .SelectAluminumFrameInfoById(Plchome.FrameNo);
                            for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
                                if (north_glass_buffer1.getstorageCage() == null) {
                                    break;
                            double framewidth=0;
                            double frameheight=0;
                            if(frameInfo!=null){
                                if(frameInfo.getframelengthmm()>frameInfo.getframeheightmm()){
                                    framewidth=frameInfo.getframelengthmm();
                                    frameheight=frameInfo.getframeheightmm();
                                }else{
                                    framewidth=frameInfo.getframeheightmm();
                                    frameheight=frameInfo.getframelengthmm();
                                }
                                num++;
                            }
                            if(num==0){
                                Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
                                if(Plchome.AluminumFrameInfo.getbarcode()!=null){
                                    int count=homeMapper.SelectCountFrame(AluminumFrameInfo.getbarcode());
                                    if(count==0){
                                        int sequence = homeMapper.SelectMaxSquence();
                                        homeMapper.AddOutSliceS("", AluminumFrameInfo.getflip().toString(), Plchome.FrameNo, "0", "0", sequence,  "0", (short)3,  AluminumFrameInfo.getordernumber(),AluminumFrameInfo.getlistnumber() , AluminumFrameInfo.getboxnumber(), "0", "0", AluminumFrameInfo.getframelength().toString(), AluminumFrameInfo.getframeheight().toString());
                                        log.info("NoGlass"+AluminumFrameInfo.getbarcode());
                                        Plchome.AluminumFrameInfo=new north_frame_buffer1_frames();
                                if(framewidth<600||frameheight<400){
                                    Plchome.AluminumFrame = north_glass_buffer1s;
                                    Plchome.AluminumFrameInfo=frameInfo;
                                }else{
                                    for (north_glass_buffer1 north_glass_buffer1 : north_glass_buffer1s) {
                                        if (north_glass_buffer1.getstorageCage() == null) {
                                            break;
                                        }
                                        num++;
                                    }
                                    if(num==0&&north_glass_buffer1s.size()==0){
                                        Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
                                        if(Plchome.AluminumFrameInfo.getbarcode()!=null){
                                            int count=homeMapper.SelectCountFrame(AluminumFrameInfo.getbarcode());
                                            if(count==0){
                                                int sequence = homeMapper.SelectMaxSquence();
                                                homeMapper.AddOutSliceS("", AluminumFrameInfo.getflip().toString(), Plchome.FrameNo, "0", "0", sequence,  "0", (short)3,  AluminumFrameInfo.getordernumber(),AluminumFrameInfo.getlistnumber() , AluminumFrameInfo.getboxnumber(), "0", "0", AluminumFrameInfo.getframelength().toString(), AluminumFrameInfo.getframeheight().toString());
                                                log.info("NoGlass"+AluminumFrameInfo.getbarcode());
                                                Plchome.AluminumFrameInfo=new north_frame_buffer1_frames();
                                            }
                                        }
                                    }else{
                                        if (num == north_glass_buffer1s.size()) {
                                            north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
                                        } else {
                                            Plchome.AluminumFrame = north_glass_buffer1s;
                                            Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
                                        }
                                    }
                                }
                            }else{
                                if (num == north_glass_buffer1s.size()) {
                                    north_Glass_Buffer1Service.AddOutSliceS(Plchome.FrameNo);
                                } else {
                                    Plchome.AluminumFrame = north_glass_buffer1s;
                                    Plchome.AluminumFrameInfo=dbserve.SelectFrameBarcode(Plchome.FrameNo);
                                }
                            }
                        } catch (SQLException e) {
                            // TODO Auto-generated catch block
                            e.printStackTrace();
springboot-vue3/src/main/java/com/example/springboot/controller/HomeController.java
@@ -332,6 +332,7 @@
    // SQLException {
    north_Glass_Buffer1Service.AddOutSliceS(FrameNo);
    Plchome.AluminumFrame = null;
    Plchome.AluminumFrameInfo = new north_frame_buffer1_frames();
    Map<String, Object> map = new HashMap<>();
    map.put("message", "200");
    return Result.success(map);