多单位版国产化地质资料管理系统
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
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<Long> 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<PackingManage> packingManageQueryWrapper = new QueryWrapper<>();
                packingManageQueryWrapper.eq("item_id", id);
                List<PackingManage> packingManageList = packingManageService.list(packingManageQueryWrapper);
 
 
                for (PackingManage packingManage : packingManageList) {
                    QueryWrapper<CatAjjxx> catAjjxxQueryWrapper = new QueryWrapper<>();
                    catAjjxxQueryWrapper.eq("id", packingManage.getAjId());
                    CatAjjxx catAjjxx = catAjjxxService.getOne(catAjjxxQueryWrapper);
                    String boxNumber = packingManage.getBoxNumber();
                    QueryWrapper<PackingManage> queryWrapper = new QueryWrapper<>();
                    queryWrapper.eq("box_number", boxNumber);
                    List<PackingManage> 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<String> 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());
            }
        }
    }
}