package com.zbooksoft.gdmis.common; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.ruili.wcp.common.CustomConfigUtil; import com.ruili.wcp.common.SpringContextUtil; import com.zbooksoft.gdmis.config.ArchivesCustomConfig; import com.zbooksoft.gdmis.data.entity.CatAjjxx; import com.zbooksoft.gdmis.data.entity.PackingManage; import com.zbooksoft.gdmis.service.CatAjjxxService; import com.zbooksoft.gdmis.service.CatYswjxxService; import com.zbooksoft.gdmis.service.PackingManageService; import tsc_sdk.TcpComm; import java.util.List; import static com.zbooksoft.gdmis.common.TscUtil.wrapText; /** * @Description: * @Author: zhai * @Date: 2025/8/19 **/ public class UsbSyncExampleWindows { CatYswjxxService catYswjxxService = (CatYswjxxService) SpringContextUtil.getBean("catYswjxxServiceImpl"); CustomConfigUtil customConfigUtil = (CustomConfigUtil) SpringContextUtil.getBean("customConfigUtil"); CatAjjxxService catAjjxxService = (CatAjjxxService) SpringContextUtil.getBean("catAjjxxServiceImpl"); PackingManageService packingManageService = (PackingManageService) SpringContextUtil.getBean("packingManageServiceImpl"); public void printFileLabel(List idList) { ArchivesCustomConfig archivesCustomConfig = customConfigUtil.getConfigObj(ArchivesCustomConfig.class); String fileIp = archivesCustomConfig.getBoxIp(); TcpComm asyncComm = new TcpComm(fileIp, 9100); try { asyncComm.open(); for (Long id : idList) { QueryWrapper packingManageQueryWrapper = new QueryWrapper<>(); packingManageQueryWrapper.eq("item_id", id); List packingManageList = packingManageService.list(packingManageQueryWrapper); for (PackingManage packingManage : packingManageList) { QueryWrapper catAjjxxQueryWrapper = new QueryWrapper<>(); catAjjxxQueryWrapper.eq("id", packingManage.getAjId()); CatAjjxx catAjjxx = catAjjxxService.getOne(catAjjxxQueryWrapper); String boxNumber = packingManage.getBoxNumber(); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("box_number", boxNumber); List packingManageListByBox = packingManageService.list(queryWrapper); int num = packingManageListByBox.size(); String code = catAjjxx.getDh(); String typeName = "类别:"; String type = ""; String itemNumName = "件数:"; String itemNum = String.valueOf(num); String titleName = "题名:"; String boxMum = packingManage.getBoxNumber(); String codeNum = "000" + "A" + boxMum; //(珠江口盆地珠五副海洋工程地质调查报) // String all = "南海珠江口盆地海洋工程地质调查(珠五井幅)(珠江口盆地珠五副海洋工程地质调查报)"; String all = catAjjxx.getXmkyqmc(); List wrappedLines = wrapText(all, 18, 7); StringBuilder commandBuilder = new StringBuilder(); commandBuilder.append("SET RESPONSE ON\r\n"); commandBuilder.append("CLS\r\n"); commandBuilder.append("RFID WRITE,0,H,0,24,EPC,\"" + codeNum + "\"\r\n"); commandBuilder.append("BOX 15,165,550,165,10\r\n"); commandBuilder.append("BOX 15,265,550,265,10\r\n"); commandBuilder.append("BOX 15,365,550,365,10\r\n"); commandBuilder.append("BOX 15,700,550,700,10\r\n"); commandBuilder.append("BOX 15,165,15,700,10\r\n"); commandBuilder.append("BOX 150,165,150,700,10\r\n"); commandBuilder.append("BOX 550,165,550,700,10\r\n"); commandBuilder.append("TEXT 105,20,\"A123.TTF\",0,25,25,\"" + code + "\"\r\n"); // 第一行 commandBuilder.append("TEXT 35,200,\"STZHONGS.TTF\",0,10,10,\"类别\"\r\n"); commandBuilder.append("TEXT 160,200,\"STZHONGS.TTF\",0,10,10,\"" + type + "\"\r\n"); // 第二行 commandBuilder.append("TEXT 35,310,\"STZHONGS.TTF\",0,10,10,\"件数\"\r\n"); commandBuilder.append("TEXT 155,310,\"STZHONGS.TTF\",0,10,10,\"" + itemNum + "\"\r\n"); // // 第三行 commandBuilder.append("TEXT 35,530,\"STZHONGS.TTF\",0,10,10,\"题名\"\r\n"); int yPosition = 400; for (String line : wrappedLines) { commandBuilder.append("TEXT 155,").append(yPosition).append(",\"STZHONGS.TTF\",0,10,10,\"").append(line).append("\"\r\n"); yPosition += 60; } commandBuilder.append("BARCODE 130,750,\"128\",150,0,0,5,5,\"" + boxMum + "\"\r\n"); commandBuilder.append("TEXT 155,920,\"A123.TTF\",0,25,25,\"" + boxMum + "\"\r\n"); // if ("是".equals(fileData.getIsSecurity())) { // commandBuilder.append("TEXT 80,920,\"A123.TTF\",0,25,25,\"" + boxMum + "★\"\r\n"); // } else { // commandBuilder.append("TEXT 155,920,\"A123.TTF\",0,25,25,\"" + boxMum + "\"\r\n"); // } // commandBuilder.append("RFID READ,0,H,0,24,EPC,\"EPC: \"\r\n"); commandBuilder.append("PRINT 1\r\n"); // System.out.println(commandBuilder.toString()); byte[] dataToSend = commandBuilder.toString().getBytes(); asyncComm.writeSync(dataToSend); } } Thread.sleep(25000); } catch (Exception e) { System.err.println("打印错误: " + e.getMessage()); } finally { try { asyncComm.close(); // System.out.println("连接关闭"); } catch (Exception e) { System.err.println("关闭打印机连接错误: " + e.getMessage()); } } } }