#
Junjie
2023-09-20 49379100e381557f383f601616b2f6835295786d
src/main/java/com/zy/core/thread/LiftThread.java
@@ -13,6 +13,7 @@
import com.zy.asrs.mapper.WrkMastMapper;
import com.zy.asrs.service.BasLiftOptService;
import com.zy.asrs.service.BasLiftService;
import com.zy.asrs.utils.Utils;
import com.zy.common.utils.RedisUtil;
import com.zy.core.News;
import com.zy.core.ThreadHandler;
@@ -55,6 +56,9 @@
            LiftStaProtocol liftStaProtocol = new LiftStaProtocol();
            liftStaProtocol.setStaNo(sta.getStaNo());//站点号
            liftStaProtocol.setLev(sta.getLev());//站点楼层
            String locNo = Utils.getLocNo(this.slave.getStaRow(), this.slave.getStaBay(), sta.getLev());
            liftStaProtocol.setLocNo(locNo);//站点库位号
            liftStaProtocol.setLiftNo(sta.getLiftNo());//提升机号
            liftStaProtocols.add(liftStaProtocol);
        }
@@ -128,7 +132,7 @@
            //提升机处于未运行、就绪、标记true、有任务号
            if (!liftProtocol.getBusy()
                    && liftProtocol.getPakMk()
                    && !liftProtocol.getPakMk()
                    && liftProtocol.getTaskNo() != 0) {
                //还有未完成的命令
                executeWork(liftProtocol.getTaskNo());
@@ -180,7 +184,13 @@
                //已完成任务号
                liftProtocol.setCompleteTaskNo(siemensS7Net.getByteTransform().TransInt16(result1.Content, 6));
                //当前楼层
                liftProtocol.setLev(siemensS7Net.getByteTransform().TransInt16(result1.Content, 8));
                short lev = siemensS7Net.getByteTransform().TransInt16(result1.Content, 8);
                if (lev >=5 && lev <= 7) {
                    lev += 2;
                } else if (lev >= 8 && lev <= 10) {
                    lev += 4;
                }
                liftProtocol.setLev(lev);
                //将提升机状态保存至数据库
                BasLiftService liftService = SpringUtils.getBean(BasLiftService.class);
@@ -354,7 +364,7 @@
        News.info("提升机命令下发成功,提升机号={},任务数据={}", command.getLiftNo(), JSON.toJSON(command));
        //将标记置为false(防止重发)
        liftProtocol.setPakMk(false);
        liftProtocol.setPakMk(true);
        //保存数据到数据库做流水
        BasLiftOptService liftOptService = SpringUtils.getBean(BasLiftOptService.class);