| | |
| | | package com.zy.asrs.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.zy.asrs.entity.LocMast; |
| | | import com.zy.asrs.entity.WrkMast; |
| | | import com.zy.asrs.mapper.*; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.asrs.mapper.WrkMastMapper; |
| | | import com.zy.asrs.service.LocMastService; |
| | | import com.zy.asrs.service.WrkMastService; |
| | | import com.zy.common.utils.News; |
| | | import com.zy.core.cache.MessageQueue; |
| | | import com.zy.core.cache.SlaveConnection; |
| | |
| | | import com.zy.core.thread.SiemensDevpThread; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | |
| | | * Created by vincent on 2020/8/6 |
| | | */ |
| | | @Slf4j |
| | | @Service("mainService") |
| | | @Service("ctuMainService") |
| | | @Transactional |
| | | public class CtuMainServiceImpl { |
| | | |
| | |
| | | |
| | | @Autowired |
| | | private SlaveProperties slaveProperties; |
| | | |
| | | @Autowired |
| | | private WrkMastMapper wrkMastMapper; |
| | | |
| | | @Autowired |
| | | private LocMastService locMastService; |
| | | |
| | | @Autowired |
| | | private WrkMastService wrkMastService; |
| | |
| | | staProtocol = staProtocol.clone(); |
| | | } |
| | | // 判断是否满足条件 |
| | | if (!staProtocol.isLoading()) { |
| | | continue; |
| | | } |
| | | if (staProtocol.isAutoing() && staProtocol.isInEnable() |
| | | && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 9999) |
| | | && staProtocol.isPakMk()) { |
| | | // if (!staProtocol.isLoading()) { |
| | | // continue; |
| | | // } |
| | | // && staProtocol.isInEnable() |
| | | if (staProtocol.isAutoing() && !staProtocol.isEmptyMk() && staProtocol.isPakMk()) { |
| | | WrkMast wrkMast = wrkMastMapper.selectByWrkNo(staProtocol.getWorkNo()); |
| | | if (wrkMast.getWrkSts() == 106) { |
| | | if (wrkMast != null) { |
| | | //下发移动任务,并生成入库工作档 |
| | | |
| | | } else { |
| | | log.info("" + mark + " - " + staProtocol.getWorkNo() + " - 找不到对应的工作档"); |
| | | WrkMast in = new WrkMast(); |
| | | wrkMast.setWrkSts(223L); |
| | | wrkMast.setModiTime(new Date()); |
| | | wrkMastService.updateById(wrkMast); |
| | | in.setSourceLocNo("1007"); |
| | | in.setLocNo(wrkMast.getSourceLocNo()); |
| | | in.setIoType(10); |
| | | in.setIoTime(new Date()); |
| | | in.setWrkSts(1L); // 工作状态:11.生成出库ID |
| | | in.setIoPri(13D); // 优先级:13 |
| | | in.setFullPlt("Y"); // 满板:Y |
| | | in.setPicking("N"); // 拣料 |
| | | in.setExitMk("N"); // 退出 |
| | | in.setEmptyMk("Y"); // 空板 |
| | | in.setLinkMis("N"); |
| | | in.setAppeTime(new Date()); |
| | | in.setModiTime(new Date()); |
| | | in.setBarcode(wrkMast.getBarcode()); |
| | | in.setPlcWrkNo(wrkMast.getPlcWrkNo()); |
| | | wrkMastService.insert(in); |
| | | LocMast locMast = locMastService.selectById(wrkMast.getSourceLocNo()); |
| | | locMast.setLocSts("S"); |
| | | locMast.setModiTime(new Date()); |
| | | locMastService.selectById(locMast); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 出库站到拣料站 |
| | | * 出库 |
| | | */ |
| | | public synchronized void generateStoreWrkFile0(Integer mark) { |
| | | public synchronized void out(Integer mark) { |
| | | // 根据输送线plc遍历 |
| | | for (DevpSlave devp : slaveProperties.getDevp()) { |
| | | // 遍历入库口 |
| | |
| | | if (!staProtocol.isLoading()) { |
| | | continue; |
| | | } |
| | | |
| | | if (staProtocol.isAutoing() && staProtocol.isOutEnable() |
| | | && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 9999) |
| | | && staProtocol.isPakMk()) { |
| | | //&& staProtocol.isOutEnable() |
| | | if (staProtocol.isAutoing() && !staProtocol.isEmptyMk() && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() == 9999) && staProtocol.isPakMk()) { |
| | | News.warnNoLog("" + mark + " - 0" + " - 开始执行"); |
| | | // 判断重复工作档 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("source_sta_no", staProtocol.getSiteId()).eq("wrk_sts", 105)); |
| | | // 106也算上,以后106-》107用于更新库存 |
| | | WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("loc_no", "1001").in("wrk_sts", 106,107)); |
| | | if (wrkMast == null) { |
| | | continue; |
| | | } |
| | |
| | | // 命令下发区 -------------------------------------------------------------------------- |
| | | |
| | | // 更新站点信息 且 下发plc命令 |
| | | staProtocol.setWorkNo(wrkMast.getWrkNo()); |
| | | staProtocol.setStaNo(wrkMast.getStaNo().shortValue()); |
| | | staProtocol.setWorkNo(wrkMast.getPlcWrkNo()); |
| | | staProtocol.setStaNo((short) 1004); |
| | | devpThread.setPakMk(staProtocol.getSiteId(), false); |
| | | boolean result = MessageQueue.offer(SlaveType.Devp, devp.getId(), new Task(2, staProtocol)); |
| | | log.info("输送线下发3:{},{}", wrkMast.getWrkNo(), wrkMast.getStaNo()); |
| | | log.info("输送线下发3:{},{}", wrkMast.getWrkNo(), 1004); |
| | | if (result) { |
| | | // 更新工作主档 |
| | | wrkMast.setWrkSts(106L); |
| | | wrkMast.setWrkSts(108L); |
| | | wrkMast.setModiTime(new Date()); |
| | | if (wrkMastMapper.updateById(wrkMast) == 0) { |
| | | News.error("" + mark + " - 1" + " - 更新工作档失败!!! [工作号:{}]", wrkMast.getWrkNo()); |
| | |
| | | } |
| | | |
| | | } else { |
| | | News.errorNoLog("" + mark + " - 6" + " - 站点信息不符合入库条件!!!" + " 自动信号:" + staProtocol.isLoading() + "、可入信号:" + staProtocol.isInEnable() |
| | | + "、空板信号:" + staProtocol.isEmptyMk() + "、工作号:" + staProtocol.getWorkNo() |
| | | + "、锁定标记" + staProtocol.isPakMk() + "、入库印记:" + staProtocol.getStamp()); |
| | | News.errorNoLog("" + mark + " - 6" + " - 站点信息不符合入库条件!!!" + " 自动信号:" + staProtocol.isLoading() + "、可入信号:" + staProtocol.isInEnable() + "、空板信号:" + staProtocol.isEmptyMk() + "、工作号:" + staProtocol.getWorkNo() + "、锁定标记" + staProtocol.isPakMk() + "、入库印记:" + staProtocol.getStamp()); |
| | | } |
| | | } |
| | | } |