12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- package co.dc.aptiv.mina;
- import co.dc.aptiv.AptivApp;
- import co.dc.aptiv.pojo.MaterielPojo;
- import co.dc.aptiv.service.BillService;
- import org.apache.commons.dbutils.QueryRunner;
- import org.apache.commons.logging.Log;
- import org.apache.commons.logging.LogFactory;
- import org.apache.mina.core.buffer.IoBuffer;
- import org.apache.mina.core.session.IoSession;
- import java.util.regex.Matcher;
- import java.util.regex.Pattern;
- /**
- * 一道采集逻辑处理类
- *
- * @author mx
- */
- public class TestMachineCollectorMinaHandler extends MinaAbstractHandler {
- private static final Log log = LogFactory.getLog(TestMachineCollectorMinaHandler.class);
- public TestMachineCollectorMinaHandler(TestMachineCollectorMina collectorMina, QueryRunner queryRunner) {
- super(collectorMina, queryRunner);
- }
- private BillService billService;
- public TestMachineCollectorMinaHandler(MinaAbstract mina, QueryRunner queryRunner, BillService billService) {
- super(mina, queryRunner);
- this.billService = billService;
- }
- /**
- * 处理收到的信息
- */
- @Override
- public void messageReceived(IoSession session, Object message) throws Exception {
- IoBuffer in = (IoBuffer) message;
- byte[] bytes = new byte[in.remaining()];
- in.get(bytes, 0, in.remaining());
- String s = Integer.toHexString(bytes[0]);
- if (s != null) {
- String dpn = AptivApp.ccu.HexString2String(bytes);
- if (AptivApp.qrcodeService.getScanFrame().onLine) {
- MaterielPojo materielPojo = AptivApp.materielService.findByDPN(dpn);
- //判断物料是否存在
- if (materielPojo != null) {
- log.info("测试机发来的物料,DPN = " + dpn);
- //判断当前是否可打印模式
- // if (AptivApp.printStatus) {
- AptivApp.nowMaterielPojo = materielPojo;
- AptivApp.qrcodeService.getScanFrame().setComboBox_1();
- int codeFlag = AptivApp.qrcodeService.sendQrCode();
- if (codeFlag != 1) {
- log.info("发送码给激光机异常");
- AptivApp.qrcodeService.getScanFrame().alertMsg(1, "生产码异常,请停止打印并联系管理员!");
- }
- // }
- } else {
- //弹出提示信息
- AptivApp.qrcodeService.getScanFrame().alertMsg(1, "测试机发来的物料不存在,请检查测试机或物料!");
- log.info("测试机发来的物料不存在,DPN = " + dpn);
- }
- //给测试机回复收到物料号
- Thread.sleep(100);
- AptivApp.testMachineCollectorMina.sendByte(AptivApp.ccu.String2ASCII("ok"));
- }
- }
- }
- public static String replaceBlank(String str) {
- String dest = "";
- if (str != null) {
- Pattern p = Pattern.compile("\\s*|\t|\r|\n");
- Matcher m = p.matcher(str);
- dest = m.replaceAll("");
- }
- return dest;
- }
- }
|