//package com.zy.core; // //import com.core.exception.CoolException; //import com.zy.asrs.entity.LocMast; //import com.zy.asrs.entity.WrkMast; //import com.zy.asrs.service.WrkMastService; //import com.zy.core.cache.MessageQueue; //import com.zy.core.cache.SlaveConnection; //import com.zy.core.enums.SlaveType; //import com.zy.core.model.Task; //import com.zy.core.model.protocol.StaProtocol; //import org.springframework.beans.factory.annotation.Autowired; //import org.springframework.transaction.interceptor.TransactionAspectSupport; // //import java.util.Date; // //public class Test { // // public synchronized void autoEmptyOut() { // DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); // Integer autoOutSite = 103; // //如果站点可出禁用,则不生成空盘出库任务 // StaProtocol staProtocol = devpThread.getStation().get(autoOutSite); // if (staProtocol == null) { // return; // } else { // staProtocol = staProtocol.clone(); // } // if (staProtocol.isAutoing() //自动 // && !staProtocol.isLoading() //无物 //// && staProtocol.isOutEnable() //可出信号 // && staProtocol.getWorkNo() == 0) { //// WrkMast pakoutEmpty = wrkMastMapper.selectPakoutEmpty(autoOutSite); //// if (null != pakoutEmpty) { //// return; //// } // // LocMast locMast = locMastService.getById("0200404"); // if (locMast != null && locMast.getLocSts().equalsIgnoreCase("D")) { // try { // Date now = new Date(); // // 保存工作档 // WrkMast wrkMast = new WrkMast(); // int workNo = commonService.getWorkNo(0); // wrkMast.setWrkNo(workNo); // wrkMast.setIoTime(now); // wrkMast.setWrkSts(11L); // 工作状态:11.生成出库ID // wrkMast.setIoType(110); // 入出库状态: 110.空板出库 // wrkMast.setIoPri(999D); // wrkMast.setSourceStaNo(103); // 源站 // wrkMast.setStaNo(0); // 目标站 // wrkMast.setCrnNo(1); // wrkMast.setSourceLocNo("0200404"); // 源库位 // wrkMast.setFullPlt("N"); // 满板:Y // wrkMast.setPicking("N"); // 拣料 // wrkMast.setExitMk("N"); // 退出 // wrkMast.setEmptyMk("Y"); // 空板 // wrkMast.setLinkMis("N"); // wrkMast.setAppeUser(1L); // wrkMast.setTenant(1L); // wrkMast.setAppeTime(now); // wrkMast.setModiUser(1L); // wrkMast.setModiTime(now); // wrkMast.setMemo("生成自动空板出库"); // boolean res = wrkMastService.save(wrkMast); // // 更新库位状态 D.空板 -> R.出库预约 // if (locMast.getLocSts().equals("D")) { // locMast.setLocSts("R"); // locMast.setModiUser(1L); // locMast.setModiTime(now); // if (!locMastService.updateById(locMast)) { // throw new CoolException("更新库位状态失败"); // } // } // } catch (Exception e) { // e.printStackTrace(); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // } // } // } // } // // @Autowired // private WrkMastService wrkMastService; // // public synchronized void autoEmptyIn() { // DevpThread devpThread = (DevpThread) SlaveConnection.get(SlaveType.Devp, 1); // StaProtocol staProtocol = devpThread.getStation().get(103); // if (staProtocol == null) { // return; // } else { // staProtocol = staProtocol.clone(); // } // if (staProtocol.isAutoing() //自动 // && staProtocol.isLoading() //有物 //// && staProtocol.isInEnable() //可入信号 // // && (staProtocol.getWorkNo() == 0 || staProtocol.getWorkNo() >= 9990) //工作号为0或者工作号是9991~9999(输送机留用) // ) { // LocMast locMast = locMastService.getById("0200404"); // if (locMast != null && locMast.getLocSts().equalsIgnoreCase("O")) { // try { // Date now = new Date(); // // 生成工作档 // WrkMast wrkMast = new WrkMast(); // int workNo = commonService.getWorkNo(0); // wrkMast.setWrkNo(workNo); // wrkMast.setIoTime(now); // wrkMast.setWrkSts(2L); // wrkMast.setIoPri(999D); // wrkMast.setIoType(10); // wrkMast.setTenant(1L); // wrkMast.setCrnNo(1); // wrkMast.setSourceStaNo(101); // wrkMast.setStaNo(103); // wrkMast.setLocNo("0200404"); // wrkMast.setFullPlt("N"); // 满板:N // wrkMast.setPicking("N"); // 拣料 // wrkMast.setExitMk("N"); // 退出 // wrkMast.setEmptyMk("Y"); // 空板 // wrkMast.setLinkMis("Y"); // // 操作人员数据 // wrkMast.setAppeTime(now); // wrkMast.setModiTime(now); // wrkMast.setMemo("自动空托入库"); // boolean res = wrkMastService.save(wrkMast); // staProtocol.setWorkNo(Short.parseShort(wrkMast.getWrkNo() + "")); // staProtocol.setStaNo(Short.parseShort(wrkMast.getStaNo() + "")); // boolean result = MessageQueue.offer(SlaveType.Devp, 1, new Task(2, staProtocol)); // log.info("输送线下发(存在设备上走的工作档,直接下发!)):" + wrkMast.getWrkNo() + "," + wrkMast.getStaNo()); // // 更新目标库位状态 // if (locMast.getLocSts().equals("O")) { // locMast.setLocSts("S"); // S.入库预约 // locMast.setModiUser(789L); // locMast.setModiTime(now); // if (!locMastService.updateById(locMast)) { // throw new CoolException("改变库位状态失败"); // } // } // } catch (Exception e) { // e.printStackTrace(); // TransactionAspectSupport.currentTransactionStatus().setRollbackOnly(); // } // } // } // } //}