@@ -0,0 +1,288 @@
package org.nl.wms.pda.general_management.service.impl ;
import cn.hutool.core.date.DateUtil ;
import cn.hutool.core.util.NumberUtil ;
import com.alibaba.fastjson.JSONObject ;
import org.nl.config.SpringContextHolder ;
import org.nl.system.enums.SysParamConstant ;
import org.nl.system.service.dict.ISysDictService ;
import org.nl.system.service.dict.dao.Dict ;
import org.nl.system.service.param.dao.Param ;
import org.nl.system.service.param.impl.SysParamServiceImpl ;
import org.nl.wms.pda.general_management.service.PdaPrintService ;
import org.nl.wms.pda.util.PdaResponse ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.stereotype.Service ;
import java.io.IOException ;
import java.io.OutputStream ;
import java.net.Socket ;
import java.nio.charset.StandardCharsets ;
import java.util.List ;
import java.util.stream.Collectors ;
/**
* <p>
* 手持打印 实现类
* </p>
*
* @author Liuxy
* @since 2026-02-04
*/
@Service
public class PdaPrintServiceImpl implements PdaPrintService {
@Autowired
private ISysDictService iSysDictService ;
@Override
public PdaResponse printBag ( JSONObject whereJson ) {
OutputStream outputStream = null ;
Socket socket = null ;
try {
// 打印机地址
String print_id = whereJson . getString ( " print_id " ) ;
// 记录编号
SysParamServiceImpl sysParamService = SpringContextHolder . getBean ( SysParamServiceImpl . class ) ;
Param record_no = sysParamService . findByCode ( " RECORD_NO " ) ;
// 物料名称
String material_name = whereJson . getString ( " material_name " ) ;
// 物料批号+批次
String pcsn = whereJson . getString ( " material_code " ) + " - " + whereJson . getString ( " pcsn " ) ;
// 日期
String data = DateUtil . today ( ) ;
// 数量
String qty = NumberUtil . round ( whereJson . getString ( " qty " ) , 2 ) . toString ( ) ;
// 袋码
String bag_code = whereJson . getString ( " bag_code " ) ;
// 1. 创建Socket连接打印机
socket = new Socket ( print_id , 9100 ) ;
// 设置超时
socket . setSoTimeout ( 5000 ) ;
// 2. 获取输出流
outputStream = socket . getOutputStream ( ) ;
// 3. 发送ZPL指令( 注意编码)
String zplContent = " ^XA \ n " +
" ^CW1,E:SIMSUN.FNT \ n " +
" ^CI28 \ n " +
" ~TA000 \ n " +
" ~JSN \ n " +
" ^LT0 \ n " +
" ^MNW \ n " +
" ^MTT \ n " +
" ^PON \ n " +
" ^PMN \ n " +
" ^LH0,0 \ n " +
" ^JMA \ n " +
" ^PR6,6 \ n " +
" ~SD10 \ n " +
" ^JUS \ n " +
" ^LRN \ n " +
" ^CI27 \ n " +
" ^PA0,1,1,0 \ n " +
" ^XZ \ n " +
" ^XA \ n " +
" ^MMT \ n " +
" ^PW799 \ n " +
" ^LL1199 \ n " +
" ^LS0 \ n " +
" ^FO16,15^GB771,1167,4^FS \ n " +
" ^FO333,1127^GFA,457,624,24,:Z64:eJxN0jFuwjAUBuDfsuQsKKypauAKRiwMrXIVjuCRATVGSGFBzAyoZ7FkqV16BIZUXICRgeI+Ow7BWZxPf16en8yRlgUE+pUZZlfMgDVADm4xBr0BwyZrLO34tSCHpid6jg/Y91pwo4JLZpPTxk7rjJtF8CxDl2cm+toGZ/vkA/Dom40Jjp/OdWXJmdsi+vLhDm5a47xH5X1D7SSfi+izTyjq3/u7oB+Sv+yivx7bOgrJh4UNzunjXAbPvA8uSuvKO/jaVHf5lBcr65hhFNJSPtUf/BpyuI3RctXnJ39nBOdbqNHpqU7xBVd58D3URNqHY563eRrM28j0vpTkNU0YuE3ozJfkRfIC7DTu+4fS5Duqh+wY+2/nE728UeiSSwnvr62XNETHDtxoSEm16pSXlP9mB4Dug5yDi66O1rCdawj+qK8Q7gkWdEYVr1b0f/83kEc=:1B97 \ n " +
" ^FO134,1086^GFA,801,1856,64,:Z64:eJy91DFr3DAUAOBnBNIi5PUNIv4LuqUIGri/4pC9+JZyQ+g5ZE/WLv0vzwSav5BRpZCxGLp4CL0+yfbVl/NdDwqVh8NP+qx3epIATrSinY9v6JT609aXs+EsHPnu21bqeV+78zyZ2bAA/398mM9fTPLHRaeCvhEFLPl5Ck5LaB6oRMgIbjxK6MSn7IGuA0IFWrQyq5s2lCiCFvm2w6U2Xkuxom+0oleXfFf2Pm9Rinvx/bYrP/jkjWVPS/4+KwHg0Eq0WglqKFCoMHoKrvdgUSoluMutMXlrooeqRGujrxCl1+zrpr4injZ5Gr1GKYWoOVD1nt+j537U0fOvBMke+KMxvO95fp3dQRkDyYMa53cyepp4d+BVd+BF9EUYfMZeT73r/bB+thp9uedXNHhRI64n/irVjx6H+iEOPgYmvixHD1hQ75ttC24Dyf+C3rvRx0DyxTZ6Gr3kKWDwdcy/9zT63fqNHtP8NK6fmfNZ8mJ7htfsTao/NBTr7701Wez3eZ+/6evPoOA/qK1U4jbm77n+CpC9TvuPk+b9Vzp/eSG4v1rbtH72Iu2/3fpro9Qdv3G/NTmfQ9SeE4h+xY8L9sc7yZksnjHVT3/k/X8dt2bvlRVfvvLAxbPx8j2XDFXL52/zCBTPX0H504ulZV189uyLoF6yTnBPPXjRZt0rbbhfBfETSv4HsamDM47Rt8N10UfYD+efxnsknPbjsDd+d4/wpvsnn9W9NzMe5/z+fciVPe7tGV7B8fzNGfnL0R+2tH//5vNte9RPhh0Zkjp+A9KjCn0=:1582 \ n " +
" ^FO178,1047^GFA,833,1792,56,:Z64:eJyd1b1u2zAQAOAjCJRLK64eXOkV2i0FFOuVWnRxAaNm4CGj1xYImldI97SgkcFbvWYpwryAQ6OLjCpi7/hjy3BcGOGgo6T7JJE8SQBHtJ7f8mNSd1o/uux5TkXHNG5OwolsJwUEZoXz+87Q8aIFsLlTFeVIwJ6gWJnCsoe6/GD2HAvOKbCF0854hz3vnC1q5ppyte+4eU1uik7O9dp6hz1yrK57I2hG5foJZ9+SExrdZGbr4CbBmRGUUJfR9ZJ7QUO/uifHyfEZJnrHoyvR2T33khybzTTk3IDN+E10WXAA5Ex0bzaOOoKfnZvoxI0ugxNdNzr17mTjaNGkYFOAnJFzk+TiOsAA3UN9+khukNzyPYZMvrqAcD/Zcj0I42vBj8+16JwJrkiupb0se1cnpzdOR9egayA4+SW6MRVH1qdiyLlmVtLDBEclBkWcz+jEbXCTS0XuJK4Dx3nR0YV5qYIzo+q3X4fo3IJc/9McQ3GuhZVCpfsJmpcxs0O637C629YLd/65oP/xq9JQLNTYyruNu0MnHKxrdI91dCUWB/C/So7J/fl+prCQ4bPFxOiwh+4B8FrOjG1yYwr8StZ+ZzVRkLcwtLyhhSaHPXRTqDS6SleX3uHFyV23FAbtPe7mEMYc173T6EA1JVe5kPNzSaHS8+VRTrrbVGcUMrb41nGjg07YVC9S+3h2vXVmePg503tk/fTsOGbqJ53susbXNb6AF1u3sslJ1XGi48SPZYhMbRzE71LHwcaxJuSrXyHyjvOlfsAVyYXvZ8Y7GQUcblkZXb7v/tt2XU7V+gyXHe0G0aU/Gbp/h8MsyA==:9CD0 \ n " +
" ^FO51,941^GFA,2989,8280,92,:Z64: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:D49A \ n " +
" ^FO515,910^GFA,529,792,33,:Z64:eJx10sFK60AUBuB/OHCyGabbAUP7ClOEEEHsq6Sbu450cVdXJwj6EoKvMqWgG19BbRGuS3UjhSude8akipLOKuF8Sf5zToD+o92OQncO8wrK76qOPFwemJYqLuXWZEvHyNZELyN/YuQ5CxR35wMaL8I0CDB1KeCSsvIg3LAAl8BVtqCVnwlAXiZgyOT1qrnowMMajwPlf4chYO0hg5m0rqbN2RYAs1L5Py046gAqddYIIEwisC8Jj4MWkBcCMtIGNeYtKB6G2PMJSAar9wUQacY4zucepxsU9xtMbA9oggBoARrP5RbY8blkyCTDtPFbYOkm/wLXLZAufBRg5StOXTCq43YO7lrmMDC5Wy2kC4rxBexAwOlrAqZ2f2WSozTJJ+5WxCeDGJeVepdr2cUv8Hr2sYsOWH7jCqhSHjmuAHebTECmNIm3aMGwB8igyuw7GP4ElqWT9wSwG6Q3UBvZmU9A3bI2LoH4rwP8CVT8AMrXiFG2G/r+SelChboNUPWBb4X/iF6Lsg==:5CBC \ n " +
" ^FO16,894^GB771,0,4^FS \ n " +
" ^FO439,848^GFA,741,1204,43,:Z64:eJyV1DFr20AUB/AnDNZS7lYHVOsruHQ5Y2F9FX2CciGQGByqCx68FLz2u3ToGUO8GHvtENoLHryERJBFpULX/0m2kxoXtwfSQ9JP6N17dyI6PZJ/MP9BDY4WaICoiZOLUf2ood1ZIAxqKinOEQJq4rWQUr+7sZwDqjRjOJd+xsvuEjSX1A+ajrKK2vGf9Mb6+ZZqSSIIHA2bhri3nnc380lFrwego7kSfPJCJagIA+TmTUHHk4mjg4qOVMR59xHTmUs9CAyZViLETMFuuhu/ptJR1dAR4z1QuTxX+VsNaoScbynnq4pmO9p2VCwvKE8VmTMtEiTkWdCypqlxCVgd8cLRaHFJ9gnF+qk6t/mWZltKO2ocZasPFDHQIb1bZMS8KajiT9W0QP3RCJR6JSoweyDXofuvdP4Zda0rwGoqGfGqAiz+CDotkDCR/U4XXzToej5cT5h1VGBaIeoa+e2KavQXvc2C5Opyqji6ZdclSx2NMS17Yxt2XFR0lmrQtgmzq+sZrlP/x31R01Az+qXKhh3ljjZvcRc5PPTpOS93y62muyssNEfZJiPvjugxp/LshcaHtI9QJNRYoQUt6ry/+yvtg8afJMqMuvaIOsWehkdoG6vKbyLdoSL57ZCy15RaEfE3qCtYsjikfHejokJQjA8bUKP3lB+jnYxCt7dar+nxcW6IyWobevoEfdausWQi7JUTVOJ5BoqpVf+EEyPZ/11+A6Z/CwE=:52F4 \ n " +
" ^FO17,834^GB769,0,4^FS \ n " +
" ^FO561,790^GFA,673,810,27,:Z64:eJxt0jFr20AUB/D/8UC3qNJ6wRfrKxgy2Cam/iqGQrKqZPFgmguGeCmeCy30K3Qq2XrGg5aSOUMgFwTxlmgqghir705ukqE33KH76Ul37z3gzRi0i2oXMm9ouicRNiXP+T/a+WnSEkFa/7Jud52f8kC5RDIBPjGdv1ANxX+pmPhhzJReONuSa6kfqM8ki7kRFrSNA4n6FDHTkdEQjxJMcqc9zYUt4phcdGQ1sI0CJbo0ipZitei+ay6+CU/TxBNFo41V9Jnmi9Ghk1dwnjTIWopmT/zBL7SQuUZWwakeZkxrptstVPaDln2n6cBhoiZ4HIAai0hVUGlFy1OjJVOuLDY9oAQTn/DMkS7QbYYWvQMr1hUnlInfzJ6dHF4jK88ths9GrJiS1EelDVl5/DNCOTYYfwXdcDJlY5Kpkzf0Sx6fxCgJeJ9B1A4pH6Nb79CZV3L8oLCR4boYOLDgz2GNzp1J66JGwbnbMvVsKOlDxidcG7m6y1FEoFtO8kcO4RKehPQ6iMsKBUdo3ZK/cuLQkRXo0vkoxNxDH34D95brx/T9ivPsxDrjZ+6y+90rNQbS12iGQCVXf9WS6uyJb5pMIThIMKX73mAiDqZrJs4TrR23X0uJDA1GT/tObnxLVRjtKey1i4/0w1Mk8b+h2+UvUrvC/Q==:2E9F \ n " +
" ^FO432,753^GFA,597,817,43,:Z64:eJyN07Fq3EAQBuBZFmYbRW43WJxeYY7Aoav8KjIB1xvcpAhnCYHUhNR+jHuD7CKQu3uF6DDErUKaK0SSGemSU6pkQYWGD/HPzCpLi58w6hPoEfF6AHejCgKi3QpH8wO4RDZtys9oMFv77+XBRKAPiKkFd196oS/adDECl8iuffhWG4Q8P7ZNhKAbxMQCHIPQdVsZtEwTpnkeQn0l1LfaatAa0UYAPvRCywq1UBtNtOhe1QAzLSZqhQ4SQFWIJJS/Cnko69dMyT/rQjGtZ3rcT7RdUBLawcPg3yqhiqljevsoFFpMJurIPgyhQdtB7i409QtqBsmaes7qwojUzW2B8lNWkKwfz1khka8CZdIW0t2SxnNbn5i+4wng1ZxVaFkzdT3PVWiDK5vJXGumQ1thrHhbNqP3rg9Vnd9lW9kWcNaD2UTc1n3ZEGz3L1onvCCMHJ223j9hvsnS4guMQj/or6YHuFEVQUq7NJx4h2j6N49pM+zQb6QRfpjC+ahyz8MGfpcJzDUP6FczlW39J000XGgx/EXdRExxpnKz/kXjmcp9vVB3pvEiwB+qTktKQvnIX/C7aiD+BeFJuEw=:D211 \ n " +
" ^FO16,742^GB771,0,4^FS \ n " +
" ^FO589,119^GFA,473,720,24,:Z64:eJxt0rFOwzAQBuDfilQvFV4ZIHmFjEay6lfpI3g8REXzADxDnoGxE8pURlam4i2rpS4Zopq7FJY0nk6fE5/vzsDC6pZQvF5kFWvoRjdTzP9eo6JROUF3VQwWYZ/6torJQZ8bdeTvO59IfOhbjpzPRTd5Q2TZX13fErGnqwNkHTuJW+tQ8/k/SRzlnwfnxKFOln2HktipbzG5hjqK+84MCC+DeMm+gvp8ikCVNPs+9u1+vHrxlaUi8bSHuHHIb8jDndRIxQGJIHnNqIc1PCzXRaQPKklestVYvEs/ArslY3Wy1H8Q+RG19C3ynk+l9cGnfPFpx3lVg7MMoIrObkIV86WK5EDcWS+NNR3XH0z3fDJNcPAqwqyug7D/EwlOZWxh1jeupWWP37cuR9th5px32q5nzvfEPft25lzX9gHIcebVCCr5uO728ez+Hs18beQJLbisoll2bt0verSeQw==:6681 \ n " +
" ^FO268,702^GFA,461,570,19,:Z64:eJxd0j1LAzEYB/B/CFyWcrde4fC+gm4BhX4VQdD1ilAdxAbcdXbqV3B0M3LQLqVzl2qOgptw4HLg2fgkubZiloTf5eV5OSCMlOP/kLGfRIs6t7YGmJaZkwIDoWh1CIzNTcoU8gLJPRwNbIuR5LC2AW8jR7mlI0WEYxiwOvMHBdEoBocGarmjiwy8/6rQFDtaPyPqzzRbmEAtiupRR6s38FJ7opcKnZt49QQxCXHRi1dli/hTgX+p7V1jmyKrFKWELQ1LorMHUCR/qcc3YC8dHRA1lPY52DoQ2xAtWfX9AX7niU9ajMuU2eme2oJ2SVz3iKwPgplTf9dJNqddIa7ahCDSOURHR9pTLBeU0NITVxjOLMQhUd0VR+HynYo81GDKbOk2T8GqKZCE4vAGqZBAZcF/PDHXSk8GSalca7lLT/SowW5G6LZfwjUIyf6noEC6T7/TcY1g:949E \ n " +
" ^FO644,662^GFA,277,460,20,:Z64:eJxt0EsKwjAQBuApgbopdBuh6BUCbtz1KlO8QI+QUtClV5qQhZcQzBFcFgR1kvSl7b/I4oN5BSAmIQABvxGwtHTFspnllh56/2Qz+iW3H8cmHXZUK2/NNVOAbEqhI1KwA9NuJqNKB7uIFIMBm4l2FqI3iWRBwSEYBSs7tO1giY79jvgWo9E4w1vVTLXe7GD93GONJljL+6V16e8oHJ78DLpNd+S2K30/uvO9hYz78ettyGh6aUkwoecGtGL1fy2H/zkmCf/8BS5zVgM=:0CCA \ n " +
" ^FO286,666^GFA,269,323,17,:Z64:eJxdzzEKwzAMQFEFg7uIZM0Qmit49FDIVVRyAfcGhkC69Uw23nuF5ggeM5i0shtaiCbzMB+pCe5l+1gtvU0XEQ22C63OKFA3/5BSK1SKFucYaBQSUWdwV5tBZGiRX84XACEBO4SWXAAGA9UM/GdYKUwZzuI9N1uNStMmMohJzFjLEi0AIUe/EP5wStqQL0DhLuuuw26hsUSVf8oTb9qEdeBGlfiWYYoKAXij0gCQADvYA1RHAHcE8wM+Lk8fYZ8mfQAIF0gB:9E77 \ n " +
" ^FO17,650^GB769,0,4^FS \ n " +
" ^FO494,614^GFA,653,1116,36,:Z64:eJyF071q3TAUB/C/EERLc70a4kav4NBFlwrrVbp1CUVbVTC1Ql6rwymFTiFP0IKnZilBpYsHc2+PFOc2LXGiSZZ+1sc5R8DjTcaVif9M/YxRdAS7IBXzP6cQpMr3aRnh8VHBNnnB7OH1OMT3Sc+8vh+iHmVUs4JC1/BCeyrGpSEOk1uMSzLqYkxtsU8qr+z7IKkPts9GUggyOqtwzSbAU5X39iEICiYUk3syWqv0LYyZANL5eN7bYuxi+A7BquYdzDaxCcWkYvxi+oOpX7d8XzoYfzCOijG3qFM2eMRovpe3yu1wwgbTUTbpgUmCBJvEe3Wo2w5V0vnuyRcTFoNQTHvOpofGR46hSMHcG8Em3BlzjpPf6c0or9iolOPjjeH4KDamGLn9iab1lDY17+U4F272JueC+7NbznPN5iwGY/jIHec0m5zTjk3OKRts0IQBXfuKjfG8Fpvqk4yGTUXFXO6gP99Ac5bvqqhEyh564BjugGOuMzHeYM2IrwQxbfj7x6rBixFqaiAvrlaMtWhGHH+fIC//NbmSc4/vYGHfxu2XCUp8e/gUrIr370DPeLkfP5BB1dcrpprFfsQv8qjIYK0NXIJnbLjyV03Hz00Sw6deK28sqF2fL4aens9N/DV/AHRf7PI=:F8C9 \ n " +
" ^FO17,601^GB767,0,4^FS \ n " +
" ^FO478,562^GFA,633,1178,38,:Z64:eJyF1L1qHDEQB/BZBKfmyLUXsvG+giGNDMvtq6RLE4IghQd8sQR5DT+MqpSuXbhQSBuCIIVViNv8pdV92b6LYNAt+7vV7Iy0RKeGsGXyJ8GBatx5Jd1sZ6WdonEXmPM/tyG9zPcRo5WOdOdJXwdjO2+CcNdBKxP+3skiZs04JspqCKRNNHYIJgpnIlR8quoNAeXVNDPpNQvHfNsLt2atbvus7qHmxMuSpmaVo3GsGIqVxgzV/SmKqtL9pHR/pNovuNnuFO0VV8VPj68pDUX9DbLXUDdxfJQqr7jcKZO2yvhJGQ81bCZlSpMCVKiKqiKodlWU2JRKBGRfFU8KpYG6/AylSDzMUNUmIPOiUAmuinNeWUU8bg4lA7OcFFhWHBWPSVz9RgursgM6NCD7IWEOQ9LqWxzCJsn2nrqYq5pfcoVur4rqfOezGmLnU5LoYXcJ8C7m/PTCqqIWbuGy6tTCQX3Hy30AMOFg1027UtS9CZXL9dWSSPqMan7g5y9L8uGcojlq7nG5/HharamF+olY+pfKTldxTf0nWzJ/e6imYfbq/ehFomcrVkVb1Yw+n4rtzjka/d6HKtRLtR+rfITa/6lymC+OHv+qctPcnlUHH5J/QLn9yg==:9CAE \ n " +
" ^FO17,547^GB767,0,4^FS \ n " +
" ^FO16,401^GB771,0,4^FS \ n " +
" ^FO16,345^GB771,0,4^FS \ n " +
" ^FO16,284^GB771,0,4^FS \ n " +
" ^FO525,242^GFA,473,896,32,:Z64:eJx10zFuwyAUBuCHkOolstdUisoVMlIVxVfJEdiCVCsgZegS9QQ9DFM79QYd2DqG0YNl94ENcdQYyQP6bHj8PAMsjRU+W2DD4P/bFuChBNAeNnFCTWGSEUvsi4Fd8O3k2jFHDbXhPe0PXjs6oMvsvvbZW93i7C04n7xRSiU/ikaJlp7K9dUVVzy5Eoo3qjitJPjsQoq5Hzn6nswcrq7QRTWcLRm6yeXMX1vJB1HYbwsdZNddrt9J3gugl5DIPq0/cyzbi77QJmR1p77odakh5Jp8dj4VvPhhpCe/d/Lh0Wlbgq77lG9I1NRd8NoHB3S22+T8w/2Mzlx0WXlca/KDrUzyyo7fM9wvuYw3Ty3A2AfolwaIkwsuBfnC/nJuwRUnn+hy0RV9R3+2My9MqG500RYd+uOt6+yYxgd6ZW4dkjMH603cbPRxiNz/CHz0+/9HKDE4LDt/iv4HFbzIMA==:6D54 \ n " +
" ^FO47,242^GFA,549,1008,36,:Z64:eJx90zFuwyAUANCPkMqS2msqWfEVOlIV2VfJEdiCVCsgZehStRfoYZjaqeoFOrB1DKMHy+4Hx8RRkyBZMvwn+HwA4FJb4Hcf/8ph8P/jGLvJALSPtIgD1DAzxYkl9tFAFcz9zGhXOmqoDVb7jdeODmgkhrJkfO2TaXWLvedg+Mw0SqnJbEWjREt32TKagpjRKK74ZJRQvFFst5Dgg2GHeZSQYm62HM2aoHFFlgwcjUIj8uHFkqEDXxQHI2fmqZV8EMx+WegA2oIno7u0Lyd5L4DuQ8XWDaY1rTUzuB0veqZNqGe1cOdyjqbONIT6l7c2mdneVTDspyQ9+QX2Zs7UkEdD2wx03QN8TyZW39RdMLUPBtCUFUbz43mFMx1N6aKRucc5Z+e1sbmZTG7HeUpce25kvDnUAoz3CM2+AeJwfHXJSEE+8XI5B1BdMoqTDzTyqlH0Fc2DjaGjYSZkPBrRsg7NXTDbE6OTwWq9o8mxUw+nBiZTOlgWcWE9THUem0jvC4N8NLW59AZD2sHAlXeKja+S+QOb8Ngz:8A9E \ n " +
" ^FO639,196^GFA,453,540,18,:Z64:eJxV0b9Kw0AcB/BvOMgt5bJmqO0rRLoELPgqFgc3e6GDAZG7LrqUujoIPoQgjgcO3eoD6HDQwcUh0iGFBuPvLm3UI4Hjw/3u9+cAJAA4/Qb75SQCApJAx60YMJsgI+EaMoQQAmyTQDkxkAKR6IFpiWyW7mXebeQu9VEUsYwbeXx2N5NgmTgx47IV+pie6NFH+k/OMHr9lSHJ+V+pKwQPFco3L9knom+K2uRQPHHZVZVAsGltcvDwUHOjqs4JtYHCSoThgGpWsmPq2yH1bSHC0tc81n0jwWAR1U8+10KzLwseFFB01uVaAJcGvSvNtug6qW+Avkb0onEEN0O+vvZTZTTrAVIvcy9u+hfW1zyZAQfvpBZKSH/zPZAWwHGBVSOSMubS97bi1gvFrqk6CjxFIzlVQM9HpbBpeyYjSd0cveSx2+6kffuduPUDsax2Ew==:D7EB \ n " +
" ^FO560,165^GFA,393,644,28,:Z64:eJyN0TFKxEAUBuA/BGaaIdsGDOYKzy6CkKskNxiw2UJ0wsLuJTyEN/ANAbfzDJPGWjuLFL5xEyG7uviaCf+XTN68AY6r5pPop2z425j+YytmHtXalIGoTj6hA189g8cbea4C+1dlzKUlut08wlg7fDiJdAYi7ndiRUU07DPkeem9i5EGgftULM/lrRclhtZ9R+nSWAFinYtR4qpoW7FCLGjArHy0rZE+xZJoRqxJUY6V3yFGQMJLk+/bcTI0y//J2rpEIh3Nz2YPfVLbdRKlDGr6+XzvQ59B1nazkQhr5M3bNJfrpziXzFa81xIhk3neyTwfzEUop3nW7r7gsXZ6mriRI891uD6F9BfD0jJTnJg5Y+rMnnJ/cx0bpOcva3R33Q==:1FCC \ n " +
" ^FO17,161^GB767,0,4^FS \ n " +
" ^FO623,702^GFA,445,600,20,:Z64:eJxV0rFKBDEQBuA/DFwa2XqL5fYVtDLFga8iCNrmODibw40I2vgAioWvYZljC0tbu4vcC5xcs2C4OO7E1Usz8DGTZDIBZJUkMYd+mUKidkCd0gZQ3lSgjrP00qECDoEmLErlIgroVuwkRcwNYTKpoEmsToC1I4xnZjBotjnXrTds+LMLrmvDvq1fQEu2WjmxCPvx6Hv7IslLHayvAy0/ndZFNuCyjaD1E7Suhv2aVILObtnMYNO2hJ7eQzd237hpfR6yjdk6DtzHyIupHds79DGbFqPniIZrafvAd5Z+KVrOM6gDv+lWTIXTfr9FSFB3ud9N6M+1b5w4ynbke8OKB1Jk43ecvnKd/7Fdvp/DbNVB8cyQwmBXdQl144hHk2s7lNw7XXsVKzH1M+Le+FwjM+c0toP+D/yafArIGebfhyGXPw7wDQqRfyE=:532F \ n " +
" ^FO611,288^GB0,259,4^FS \ n " +
" ^FO202,288^GB0,261,4^FS \ n " +
" ^FO408,288^GB0,259,4^FS \ n " +
" ^FO659,508^GFA,213,270,9,:Z64:eJxjYzjAAAZ8zA1QBjuEZpBnY0gAUgkMsn1gRQ8YZGQYQYoeSMjINoMYH2RkJI+DlP7/I2PxDsR4JyNjkVYAUWPA/gPMkP3wnwHMkP9/DMKQKcBk/AMxHv6QKfgGYry/If8BLPUMKHUORQ1W7YX/D0AY30FqGB/YyLeDpBgf/2FjBGlnBAqDGQxAxzEehvqQEep3kN/AAADpXz7P:9688 \ n " +
" ^FO16,457^GB768,0,4^FS \ n " +
" ^FO675,478^GFA,133,136,8,:Z64:eJzjbz+4j+F/A4PFgYOPmRsbGAwSEg+2MTYwMCQkNvaAaIPEZh4I3S4BpOs/JP4B0QkGiQ0gGqgeRjeDaIkDCcdBNH/zjxoQDTSIQQZK80BpNigNsg8MgPYDAEdZJAA=:BBCA \ n " +
" ^FO432,509^GFA,509,580,20,:Z64:eJw1kUFLw0AQhd+w0FxKc1UozV+IeImg9K/k5jU3C0qTk14KXv0ZQkGP7q2XYq8KQbcU9FI03iKErm+2GMiS+TLzZvYNBkBiAaz1KPkOgVHkd5jKTeWQ+BYwO2LjKyTmDQ1ihmNGyCAVousWBdCjzozlBeQOpi74E70c6AeWdJD2SlnZ7JnDmArNl/ajHsZOGfWQb/Nh0EMX8g45QbNqOOi529daJDXw40FWFoGJxQnbv9bKPlLIrVN2RIn6RdmigXS5sotnyHJoB5D3DGYW2A+ZlWoAs1BWBOYhizmUdTBPgdEgWT2QCYWjWaoMUYvfnfZA4qL+RFnkbdyeVWquR+yZZMeeQVqyr2etWerdYh44blh7ql97X+gwilR9Mazrl5YsuacvO2VTC/FOPc3o5vpRPXUOfsvaCbIJsJkrWztkqpfhsoZ8prqYb3o1CCueUMml7CSOLGafEdourMrBbDjBFJpbVirBCwl3JK0OiQP8P/l+3j+CKJSy:21AF \ n " +
" ^FO417,470^GFA,377,576,24,:Z64:eJxl0bFqxDAMBmAbg7zoyKpCwK+gbh1Kn8Xhho7NmKFQh0C6HPSVcmToUjrf2NK1Q6B7qS1fkrurFokPGxv9Sn2os3JD7jrMkAeupRkzH9SBUvN84WrAEwcoujukh+5RT6gcYF21E5iAVneA1IzvtgRlAN3nM9nkajRI9bZHAKV7VFWPhQ1UiPstlNZkD+KbID4CGfFiH2D1anGKvukHoiH5kwHWbUhevfxe7Wb3i3O1g+j833tMzj76TXw3e0nR6c2TeHM9+y3tO+JD9Psf93pwJv5Hh+Lr27XtlDzuK69O/hkwrfncrbhk0HD0MTtC9hgU14yLp30e3Ysfy0yQbkk2NcNJ5Dh7OnXha9rrTCf+BwwfYUQ=:4F4C \ n " +
" ^FO257,508^GFA,281,348,12,:Z64:eJxNkL0KwjAUhU8ImKWYVSHY1+hQ6KvkEYQuDkLzSI5OEt8kU0fJ2EGs5yYqXkjul3DuL0BTAT/Tf2ziH+ei2wINDN9TwhTQCU+LDjbCYwN03kSdEIXhbVBZfbgHMpMLJw+cGFiYp99WPmvACetoFstijrxmGwZ6h2ldcFQze+wwvCRFw56uODC2d9SqXPK0uz2HqGyvQyxFzMKvMRRm70gj9fQrXZzlgsyi7l8OXMWDtcj6AnNrPpxgkqvciobMcfGUJTV1V6fq3mAkPtI=:F834 \ n " +
" ^FO255,470^GFA,209,252,12,:Z64:eJx9z7EKAjEMBuDIQbqUc81weK8Qt04+S8EX0MU54noPc4+QUtDHsI/gbTeI2oJSXcz08ZOEBOBdDLX+GE1MV9DZjL2g9X6SOHQ3l5CYk0aknediVcWcOCTiINrkhJCJ45cfcHnyWmzpUTg3xW2ZXUT8OBzzzr3YlfW8PYWhm8QeTLhvWp2Xo1K98Meu2nO1S/WZXl7pyziN:E0CE \ n " +
" ^FO61,509^GFA,317,348,12,:Z64:eJwtzr1KxTAUwPH/IdAuoV0dgr7CHTsU76v0BcSCi4PQTE59AB+lY0TwOSIOd5NM4lCIJ+k9Q/LjcL6ghJXMWHVqOvr3WD24DvPt6bRgHPTN4hfPcDv/wEtLH5j6rxVGrYsE+bBw75AkwbzaG542SMab1Z5ICZ5bWmcnucTa0w82sKt1Tzc/BCRA5+hy9qBudFZe4FFtBuTzTmeoZcOsek8sTrRvV5MwWx/J5f6I/J31O8x5R4olYnaLXH4p+xav3l31iN4/DbqrzNKcSdUS1Hk+HJ2my0ytSUdfjdld+0o0Nf8PBaxQzQ==:B2ED \ n " +
" ^FO55,474^GFA,217,272,16,:Z64:eJxjYz9gYcDf2HjAjo2xgYGBgU0mwaLA4mDjgcdQvoSBRYVBYuOBg80QPoNBTgVDYnMCI4wvkXODwbA5geFgI4x/Bplv/yPtTP3HNsP/Bw6C+QYSx84kGLYZNkD4fBIGx3sMEtsMDjb+h/HbDBJ7JA42g/XL8SQ2t0kc7JFIhrinjP1gMxt/Y48E1L0IgI8PYqLzmdHUM4LtBwBRqT1Z:F006 \ n " +
" ^FT542,424^A0I,23,25^FH \\ ^CI28^FD " + qty + " ^FS^CI27 \ n " +
" ^FO17,105^GB771,0,4^FS \ n " +
" ^BY3,3,58^FT561,42^BCI,,Y,N \ n " +
" ^FH \\ ^FD>:YL292929201^FS \ n " +
" ^FT786,424^A0I,23,25^FH \\ ^CI28^FD{data}^FS^CI27 \ n " +
" ^FT429,758^A0I,23,25^FH \\ ^CI28^FD{pcsn}^FS^CI27 \ n " +
" ^FT439,854^A0I,23,25^FH \\ ^CI28^FD{是神恩撒旦法}^FS^CI27 \ n " +
" ^FT507,918^A0I,23,25^FH \\ ^CI28^FD{code}^FS^CI27 \ n " +
" ^PQ1,0,1,Y \ n " +
" ^XZ \ n " ;
byte [ ] zplBytes = zplContent . getBytes ( StandardCharsets . UTF_8 ) ;
outputStream . write ( zplBytes ) ;
outputStream . flush ( ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
} finally {
// 4. 关闭连接
try {
if ( outputStream ! = null ) outputStream . close ( ) ;
if ( socket ! = null ) socket . close ( ) ;
} catch ( IOException e ) {
e . printStackTrace ( ) ;
}
}
return PdaResponse . requestOk ( ) ;
}
@Override
public PdaResponse printBucked ( JSONObject whereJson ) {
OutputStream outputStream = null ;
Socket socket = null ;
try {
// 打印机地址
String print_id = whereJson . getString ( " print_id " ) ;
// 记录编号
SysParamServiceImpl sysParamService = SpringContextHolder . getBean ( SysParamServiceImpl . class ) ;
Param record_no = sysParamService . findByCode ( " RECORD_NO " ) ;
// 物料名称
String material_name = whereJson . getString ( " material_name " ) ;
// 物料批号+批次
String pcsn = whereJson . getString ( " material_code " ) + " - " + whereJson . getString ( " pcsn " ) ;
// 数量
String bucket_weight = NumberUtil . round ( whereJson . getString ( " bucket_weight " ) , 2 ) . toString ( ) ;
// 桶号
String bucket_code = whereJson . getString ( " bucket_code " ) ;
// 1. 创建Socket连接打印机
socket = new Socket ( print_id , 9100 ) ;
// 设置超时
socket . setSoTimeout ( 5000 ) ;
// 2. 获取输出流
outputStream = socket . getOutputStream ( ) ;
// 3. 发送ZPL指令( 注意编码)
String zplContent = " ^XA \ n " +
" ^CW1,E:SIMSUN.FNT \ n " +
" ^CI28 \ n " +
" ~TA000 \ n " +
" ~JSN \ n " +
" ^LT0 \ n " +
" ^MNW \ n " +
" ^MTT \ n " +
" ^PON \ n " +
" ^PMN \ n " +
" ^LH0,0 \ n " +
" ^JMA \ n " +
" ^PR6,6 \ n " +
" ~SD10 \ n " +
" ^JUS \ n " +
" ^LRN \ n " +
" ^CI27 \ n " +
" ^PA0,1,1,0 \ n " +
" ^XZ \ n " +
" ^XA \ n " +
" ^MMT \ n " +
" ^PW799 \ n " +
" ^LL1199 \ n " +
" ^LS0 \ n " +
" ^FO16,15^GB771,1167,4^FS \ n " +
" ^FO333,1127^GFA,457,624,24,:Z64:eJxN0jFuwjAUBuDfsuQsKKypauAKRiwMrXIVjuCRATVGSGFBzAyoZ7FkqV16BIZUXICRgeI+Ow7BWZxPf16en8yRlgUE+pUZZlfMgDVADm4xBr0BwyZrLO34tSCHpid6jg/Y91pwo4JLZpPTxk7rjJtF8CxDl2cm+toGZ/vkA/Dom40Jjp/OdWXJmdsi+vLhDm5a47xH5X1D7SSfi+izTyjq3/u7oB+Sv+yivx7bOgrJh4UNzunjXAbPvA8uSuvKO/jaVHf5lBcr65hhFNJSPtUf/BpyuI3RctXnJ39nBOdbqNHpqU7xBVd58D3URNqHY563eRrM28j0vpTkNU0YuE3ozJfkRfIC7DTu+4fS5Duqh+wY+2/nE728UeiSSwnvr62XNETHDtxoSEm16pSXlP9mB4Dug5yDi66O1rCdawj+qK8Q7gkWdEYVr1b0f/83kEc=:1B97 \ n " +
" ^FO134,1086^GFA,801,1856,64,:Z64:eJy91DFr3DAUAOBnBNIi5PUNIv4LuqUIGri/4pC9+JZyQ+g5ZE/WLv0vzwSav5BRpZCxGLp4CL0+yfbVl/NdDwqVh8NP+qx3epIATrSinY9v6JT609aXs+EsHPnu21bqeV+78zyZ2bAA/398mM9fTPLHRaeCvhEFLPl5Ck5LaB6oRMgIbjxK6MSn7IGuA0IFWrQyq5s2lCiCFvm2w6U2Xkuxom+0oleXfFf2Pm9Rinvx/bYrP/jkjWVPS/4+KwHg0Eq0WglqKFCoMHoKrvdgUSoluMutMXlrooeqRGujrxCl1+zrpr4injZ5Gr1GKYWoOVD1nt+j537U0fOvBMke+KMxvO95fp3dQRkDyYMa53cyepp4d+BVd+BF9EUYfMZeT73r/bB+thp9uedXNHhRI64n/irVjx6H+iEOPgYmvixHD1hQ75ttC24Dyf+C3rvRx0DyxTZ6Gr3kKWDwdcy/9zT63fqNHtP8NK6fmfNZ8mJ7htfsTao/NBTr7701Wez3eZ+/6evPoOA/qK1U4jbm77n+CpC9TvuPk+b9Vzp/eSG4v1rbtH72Iu2/3fpro9Qdv3G/NTmfQ9SeE4h+xY8L9sc7yZksnjHVT3/k/X8dt2bvlRVfvvLAxbPx8j2XDFXL52/zCBTPX0H504ulZV189uyLoF6yTnBPPXjRZt0rbbhfBfETSv4HsamDM47Rt8N10UfYD+efxnsknPbjsDd+d4/wpvsnn9W9NzMe5/z+fciVPe7tGV7B8fzNGfnL0R+2tH//5vNte9RPhh0Zkjp+A9KjCn0=:1582 \ n " +
" ^FO178,1047^GFA,833,1792,56,:Z64:eJyd1b1u2zAQAOAjCJRLK64eXOkV2i0FFOuVWnRxAaNm4CGj1xYImldI97SgkcFbvWYpwryAQ6OLjCpi7/hjy3BcGOGgo6T7JJE8SQBHtJ7f8mNSd1o/uux5TkXHNG5OwolsJwUEZoXz+87Q8aIFsLlTFeVIwJ6gWJnCsoe6/GD2HAvOKbCF0854hz3vnC1q5ppyte+4eU1uik7O9dp6hz1yrK57I2hG5foJZ9+SExrdZGbr4CbBmRGUUJfR9ZJ7QUO/uifHyfEZJnrHoyvR2T33khybzTTk3IDN+E10WXAA5Ex0bzaOOoKfnZvoxI0ugxNdNzr17mTjaNGkYFOAnJFzk+TiOsAA3UN9+khukNzyPYZMvrqAcD/Zcj0I42vBj8+16JwJrkiupb0se1cnpzdOR9egayA4+SW6MRVH1qdiyLlmVtLDBEclBkWcz+jEbXCTS0XuJK4Dx3nR0YV5qYIzo+q3X4fo3IJc/9McQ3GuhZVCpfsJmpcxs0O637C629YLd/65oP/xq9JQLNTYyruNu0MnHKxrdI91dCUWB/C/So7J/fl+prCQ4bPFxOiwh+4B8FrOjG1yYwr8StZ+ZzVRkLcwtLyhhSaHPXRTqDS6SleX3uHFyV23FAbtPe7mEMYc173T6EA1JVe5kPNzSaHS8+VRTrrbVGcUMrb41nGjg07YVC9S+3h2vXVmePg503tk/fTsOGbqJ53susbXNb6AF1u3sslJ1XGi48SPZYhMbRzE71LHwcaxJuSrXyHyjvOlfsAVyYXvZ8Y7GQUcblkZXb7v/tt2XU7V+gyXHe0G0aU/Gbp/h8MsyA==:9CD0 \ n " +
" ^FO51,941^GFA,2989,8280,92,:Z64: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:D49A \ n " +
" ^FO515,910^GFA,529,792,33,:Z64:eJx10sFK60AUBuB/OHCyGabbAUP7ClOEEEHsq6Sbu450cVdXJwj6EoKvMqWgG19BbRGuS3UjhSude8akipLOKuF8Sf5zToD+o92OQncO8wrK76qOPFwemJYqLuXWZEvHyNZELyN/YuQ5CxR35wMaL8I0CDB1KeCSsvIg3LAAl8BVtqCVnwlAXiZgyOT1qrnowMMajwPlf4chYO0hg5m0rqbN2RYAs1L5Py046gAqddYIIEwisC8Jj4MWkBcCMtIGNeYtKB6G2PMJSAar9wUQacY4zucepxsU9xtMbA9oggBoARrP5RbY8blkyCTDtPFbYOkm/wLXLZAufBRg5StOXTCq43YO7lrmMDC5Wy2kC4rxBexAwOlrAqZ2f2WSozTJJ+5WxCeDGJeVepdr2cUv8Hr2sYsOWH7jCqhSHjmuAHebTECmNIm3aMGwB8igyuw7GP4ElqWT9wSwG6Q3UBvZmU9A3bI2LoH4rwP8CVT8AMrXiFG2G/r+SelChboNUPWBb4X/iF6Lsg==:5CBC \ n " +
" ^FO16,894^GB771,0,4^FS \ n " +
" ^FO439,848^GFA,741,1204,43,:Z64:eJyV1DFr20AUB/AnDNZS7lYHVOsruHQ5Y2F9FX2CciGQGByqCx68FLz2u3ToGUO8GHvtENoLHryERJBFpULX/0m2kxoXtwfSQ9JP6N17dyI6PZJ/MP9BDY4WaICoiZOLUf2ood1ZIAxqKinOEQJq4rWQUr+7sZwDqjRjOJd+xsvuEjSX1A+ajrKK2vGf9Mb6+ZZqSSIIHA2bhri3nnc380lFrwego7kSfPJCJagIA+TmTUHHk4mjg4qOVMR59xHTmUs9CAyZViLETMFuuhu/ptJR1dAR4z1QuTxX+VsNaoScbynnq4pmO9p2VCwvKE8VmTMtEiTkWdCypqlxCVgd8cLRaHFJ9gnF+qk6t/mWZltKO2ocZasPFDHQIb1bZMS8KajiT9W0QP3RCJR6JSoweyDXofuvdP4Zda0rwGoqGfGqAiz+CDotkDCR/U4XXzToej5cT5h1VGBaIeoa+e2KavQXvc2C5Opyqji6ZdclSx2NMS17Yxt2XFR0lmrQtgmzq+sZrlP/x31R01Az+qXKhh3ljjZvcRc5PPTpOS93y62muyssNEfZJiPvjugxp/LshcaHtI9QJNRYoQUt6ry/+yvtg8afJMqMuvaIOsWehkdoG6vKbyLdoSL57ZCy15RaEfE3qCtYsjikfHejokJQjA8bUKP3lB+jnYxCt7dar+nxcW6IyWobevoEfdausWQi7JUTVOJ5BoqpVf+EEyPZ/11+A6Z/CwE=:52F4 \ n " +
" ^FO17,834^GB769,0,4^FS \ n " +
" ^FO561,790^GFA,673,810,27,:Z64:eJxt0jFr20AUB/D/8UC3qNJ6wRfrKxgy2Cam/iqGQrKqZPFgmguGeCmeCy30K3Qq2XrGg5aSOUMgFwTxlmgqghir705ukqE33KH76Ul37z3gzRi0i2oXMm9ouicRNiXP+T/a+WnSEkFa/7Jud52f8kC5RDIBPjGdv1ANxX+pmPhhzJReONuSa6kfqM8ki7kRFrSNA4n6FDHTkdEQjxJMcqc9zYUt4phcdGQ1sI0CJbo0ipZitei+ay6+CU/TxBNFo41V9Jnmi9Ghk1dwnjTIWopmT/zBL7SQuUZWwakeZkxrptstVPaDln2n6cBhoiZ4HIAai0hVUGlFy1OjJVOuLDY9oAQTn/DMkS7QbYYWvQMr1hUnlInfzJ6dHF4jK88ths9GrJiS1EelDVl5/DNCOTYYfwXdcDJlY5Kpkzf0Sx6fxCgJeJ9B1A4pH6Nb79CZV3L8oLCR4boYOLDgz2GNzp1J66JGwbnbMvVsKOlDxidcG7m6y1FEoFtO8kcO4RKehPQ6iMsKBUdo3ZK/cuLQkRXo0vkoxNxDH34D95brx/T9ivPsxDrjZ+6y+90rNQbS12iGQCVXf9WS6uyJb5pMIThIMKX73mAiDqZrJs4TrR23X0uJDA1GT/tObnxLVRjtKey1i4/0w1Mk8b+h2+UvUrvC/Q==:2E9F \ n " +
" ^FO432,753^GFA,597,817,43,:Z64:eJyN07Fq3EAQBuBZFmYbRW43WJxeYY7Aoav8KjIB1xvcpAhnCYHUhNR+jHuD7CKQu3uF6DDErUKaK0SSGemSU6pkQYWGD/HPzCpLi58w6hPoEfF6AHejCgKi3QpH8wO4RDZtys9oMFv77+XBRKAPiKkFd196oS/adDECl8iuffhWG4Q8P7ZNhKAbxMQCHIPQdVsZtEwTpnkeQn0l1LfaatAa0UYAPvRCywq1UBtNtOhe1QAzLSZqhQ4SQFWIJJS/Cnko69dMyT/rQjGtZ3rcT7RdUBLawcPg3yqhiqljevsoFFpMJurIPgyhQdtB7i409QtqBsmaes7qwojUzW2B8lNWkKwfz1khka8CZdIW0t2SxnNbn5i+4wng1ZxVaFkzdT3PVWiDK5vJXGumQ1thrHhbNqP3rg9Vnd9lW9kWcNaD2UTc1n3ZEGz3L1onvCCMHJ223j9hvsnS4guMQj/or6YHuFEVQUq7NJx4h2j6N49pM+zQb6QRfpjC+ahyz8MGfpcJzDUP6FczlW39J000XGgx/EXdRExxpnKz/kXjmcp9vVB3pvEiwB+qTktKQvnIX/C7aiD+BeFJuEw=:D211 \ n " +
" ^FO16,742^GB771,0,4^FS \ n " +
" ^FO589,119^GFA,473,720,24,:Z64:eJxt0rFOwzAQBuDfilQvFV4ZIHmFjEay6lfpI3g8REXzADxDnoGxE8pURlam4i2rpS4Zopq7FJY0nk6fE5/vzsDC6pZQvF5kFWvoRjdTzP9eo6JROUF3VQwWYZ/6torJQZ8bdeTvO59IfOhbjpzPRTd5Q2TZX13fErGnqwNkHTuJW+tQ8/k/SRzlnwfnxKFOln2HktipbzG5hjqK+84MCC+DeMm+gvp8ikCVNPs+9u1+vHrxlaUi8bSHuHHIb8jDndRIxQGJIHnNqIc1PCzXRaQPKklestVYvEs/ArslY3Wy1H8Q+RG19C3ynk+l9cGnfPFpx3lVg7MMoIrObkIV86WK5EDcWS+NNR3XH0z3fDJNcPAqwqyug7D/EwlOZWxh1jeupWWP37cuR9th5px32q5nzvfEPft25lzX9gHIcebVCCr5uO728ez+Hs18beQJLbisoll2bt0verSeQw==:6681 \ n " +
" ^FO268,702^GFA,461,570,19,:Z64:eJxd0j1LAzEYB/B/CFyWcrde4fC+gm4BhX4VQdD1ilAdxAbcdXbqV3B0M3LQLqVzl2qOgptw4HLg2fgkubZiloTf5eV5OSCMlOP/kLGfRIs6t7YGmJaZkwIDoWh1CIzNTcoU8gLJPRwNbIuR5LC2AW8jR7mlI0WEYxiwOvMHBdEoBocGarmjiwy8/6rQFDtaPyPqzzRbmEAtiupRR6s38FJ7opcKnZt49QQxCXHRi1dli/hTgX+p7V1jmyKrFKWELQ1LorMHUCR/qcc3YC8dHRA1lPY52DoQ2xAtWfX9AX7niU9ajMuU2eme2oJ2SVz3iKwPgplTf9dJNqddIa7ahCDSOURHR9pTLBeU0NITVxjOLMQhUd0VR+HynYo81GDKbOk2T8GqKZCE4vAGqZBAZcF/PDHXSk8GSalca7lLT/SowW5G6LZfwjUIyf6noEC6T7/TcY1g:949E \ n " +
" ^FO644,662^GFA,277,460,20,:Z64:eJxt0EsKwjAQBuApgbopdBuh6BUCbtz1KlO8QI+QUtClV5qQhZcQzBFcFgR1kvSl7b/I4oN5BSAmIQABvxGwtHTFspnllh56/2Qz+iW3H8cmHXZUK2/NNVOAbEqhI1KwA9NuJqNKB7uIFIMBm4l2FqI3iWRBwSEYBSs7tO1giY79jvgWo9E4w1vVTLXe7GD93GONJljL+6V16e8oHJ78DLpNd+S2K30/uvO9hYz78ettyGh6aUkwoecGtGL1fy2H/zkmCf/8BS5zVgM=:0CCA \ n " +
" ^FO286,666^GFA,269,323,17,:Z64:eJxdzzEKwzAMQFEFg7uIZM0Qmit49FDIVVRyAfcGhkC69Uw23nuF5ggeM5i0shtaiCbzMB+pCe5l+1gtvU0XEQ22C63OKFA3/5BSK1SKFucYaBQSUWdwV5tBZGiRX84XACEBO4SWXAAGA9UM/GdYKUwZzuI9N1uNStMmMohJzFjLEi0AIUe/EP5wStqQL0DhLuuuw26hsUSVf8oTb9qEdeBGlfiWYYoKAXij0gCQADvYA1RHAHcE8wM+Lk8fYZ8mfQAIF0gB:9E77 \ n " +
" ^FO17,650^GB769,0,4^FS \ n " +
" ^FO494,614^GFA,653,1116,36,:Z64:eJyF071q3TAUB/C/EERLc70a4kav4NBFlwrrVbp1CUVbVTC1Ql6rwymFTiFP0IKnZilBpYsHc2+PFOc2LXGiSZZ+1sc5R8DjTcaVif9M/YxRdAS7IBXzP6cQpMr3aRnh8VHBNnnB7OH1OMT3Sc+8vh+iHmVUs4JC1/BCeyrGpSEOk1uMSzLqYkxtsU8qr+z7IKkPts9GUggyOqtwzSbAU5X39iEICiYUk3syWqv0LYyZANL5eN7bYuxi+A7BquYdzDaxCcWkYvxi+oOpX7d8XzoYfzCOijG3qFM2eMRovpe3yu1wwgbTUTbpgUmCBJvEe3Wo2w5V0vnuyRcTFoNQTHvOpofGR46hSMHcG8Em3BlzjpPf6c0or9iolOPjjeH4KDamGLn9iab1lDY17+U4F272JueC+7NbznPN5iwGY/jIHec0m5zTjk3OKRts0IQBXfuKjfG8Fpvqk4yGTUXFXO6gP99Ac5bvqqhEyh564BjugGOuMzHeYM2IrwQxbfj7x6rBixFqaiAvrlaMtWhGHH+fIC//NbmSc4/vYGHfxu2XCUp8e/gUrIr370DPeLkfP5BB1dcrpprFfsQv8qjIYK0NXIJnbLjyV03Hz00Sw6deK28sqF2fL4aens9N/DV/AHRf7PI=:F8C9 \ n " +
" ^FO17,601^GB767,0,4^FS \ n " +
" ^FO478,562^GFA,633,1178,38,:Z64:eJyF1L1qHDEQB/BZBKfmyLUXsvG+giGNDMvtq6RLE4IghQd8sQR5DT+MqpSuXbhQSBuCIIVViNv8pdV92b6LYNAt+7vV7Iy0RKeGsGXyJ8GBatx5Jd1sZ6WdonEXmPM/tyG9zPcRo5WOdOdJXwdjO2+CcNdBKxP+3skiZs04JspqCKRNNHYIJgpnIlR8quoNAeXVNDPpNQvHfNsLt2atbvus7qHmxMuSpmaVo3GsGIqVxgzV/SmKqtL9pHR/pNovuNnuFO0VV8VPj68pDUX9DbLXUDdxfJQqr7jcKZO2yvhJGQ81bCZlSpMCVKiKqiKodlWU2JRKBGRfFU8KpYG6/AylSDzMUNUmIPOiUAmuinNeWUU8bg4lA7OcFFhWHBWPSVz9RgursgM6NCD7IWEOQ9LqWxzCJsn2nrqYq5pfcoVur4rqfOezGmLnU5LoYXcJ8C7m/PTCqqIWbuGy6tTCQX3Hy30AMOFg1027UtS9CZXL9dWSSPqMan7g5y9L8uGcojlq7nG5/HharamF+olY+pfKTldxTf0nWzJ/e6imYfbq/ehFomcrVkVb1Yw+n4rtzjka/d6HKtRLtR+rfITa/6lymC+OHv+qctPcnlUHH5J/QLn9yg==:9CAE \ n " +
" ^FO17,547^GB767,0,4^FS \ n " +
" ^FO16,401^GB771,0,4^FS \ n " +
" ^FO16,345^GB771,0,4^FS \ n " +
" ^FO16,284^GB771,0,4^FS \ n " +
" ^FO525,242^GFA,473,896,32,:Z64:eJx10zFuwyAUBuCHkOolstdUisoVMlIVxVfJEdiCVCsgZegS9QQ9DFM79QYd2DqG0YNl94ENcdQYyQP6bHj8PAMsjRU+W2DD4P/bFuChBNAeNnFCTWGSEUvsi4Fd8O3k2jFHDbXhPe0PXjs6oMvsvvbZW93i7C04n7xRSiU/ikaJlp7K9dUVVzy5Eoo3qjitJPjsQoq5Hzn6nswcrq7QRTWcLRm6yeXMX1vJB1HYbwsdZNddrt9J3gugl5DIPq0/cyzbi77QJmR1p77odakh5Jp8dj4VvPhhpCe/d/Lh0Wlbgq77lG9I1NRd8NoHB3S22+T8w/2Mzlx0WXlca/KDrUzyyo7fM9wvuYw3Ty3A2AfolwaIkwsuBfnC/nJuwRUnn+hy0RV9R3+2My9MqG500RYd+uOt6+yYxgd6ZW4dkjMH603cbPRxiNz/CHz0+/9HKDE4LDt/iv4HFbzIMA==:6D54 \ n " +
" ^FO47,242^GFA,549,1008,36,:Z64:eJx90zFuwyAUANCPkMqS2msqWfEVOlIV2VfJEdiCVCsgZehStRfoYZjaqeoFOrB1DKMHy+4Hx8RRkyBZMvwn+HwA4FJb4Hcf/8ph8P/jGLvJALSPtIgD1DAzxYkl9tFAFcz9zGhXOmqoDVb7jdeODmgkhrJkfO2TaXWLvedg+Mw0SqnJbEWjREt32TKagpjRKK74ZJRQvFFst5Dgg2GHeZSQYm62HM2aoHFFlgwcjUIj8uHFkqEDXxQHI2fmqZV8EMx+WegA2oIno7u0Lyd5L4DuQ8XWDaY1rTUzuB0veqZNqGe1cOdyjqbONIT6l7c2mdneVTDspyQ9+QX2Zs7UkEdD2wx03QN8TyZW39RdMLUPBtCUFUbz43mFMx1N6aKRucc5Z+e1sbmZTG7HeUpce25kvDnUAoz3CM2+AeJwfHXJSEE+8XI5B1BdMoqTDzTyqlH0Fc2DjaGjYSZkPBrRsg7NXTDbE6OTwWq9o8mxUw+nBiZTOlgWcWE9THUem0jvC4N8NLW59AZD2sHAlXeKja+S+QOb8Ngz:8A9E \ n " +
" ^FO639,196^GFA,453,540,18,:Z64:eJxV0b9Kw0AcB/BvOMgt5bJmqO0rRLoELPgqFgc3e6GDAZG7LrqUujoIPoQgjgcO3eoD6HDQwcUh0iGFBuPvLm3UI4Hjw/3u9+cAJAA4/Qb75SQCApJAx60YMJsgI+EaMoQQAmyTQDkxkAKR6IFpiWyW7mXebeQu9VEUsYwbeXx2N5NgmTgx47IV+pie6NFH+k/OMHr9lSHJ+V+pKwQPFco3L9knom+K2uRQPHHZVZVAsGltcvDwUHOjqs4JtYHCSoThgGpWsmPq2yH1bSHC0tc81n0jwWAR1U8+10KzLwseFFB01uVaAJcGvSvNtug6qW+Avkb0onEEN0O+vvZTZTTrAVIvcy9u+hfW1zyZAQfvpBZKSH/zPZAWwHGBVSOSMubS97bi1gvFrqk6CjxFIzlVQM9HpbBpeyYjSd0cveSx2+6kffuduPUDsax2Ew==:D7EB \ n " +
" ^FO560,165^GFA,393,644,28,:Z64:eJyN0TFKxEAUBuA/BGaaIdsGDOYKzy6CkKskNxiw2UJ0wsLuJTyEN/ANAbfzDJPGWjuLFL5xEyG7uviaCf+XTN68AY6r5pPop2z425j+YytmHtXalIGoTj6hA189g8cbea4C+1dlzKUlut08wlg7fDiJdAYi7ndiRUU07DPkeem9i5EGgftULM/lrRclhtZ9R+nSWAFinYtR4qpoW7FCLGjArHy0rZE+xZJoRqxJUY6V3yFGQMJLk+/bcTI0y//J2rpEIh3Nz2YPfVLbdRKlDGr6+XzvQ59B1nazkQhr5M3bNJfrpziXzFa81xIhk3neyTwfzEUop3nW7r7gsXZ6mriRI891uD6F9BfD0jJTnJg5Y+rMnnJ/cx0bpOcva3R33Q==:1FCC \ n " +
" ^FO17,161^GB767,0,4^FS \ n " +
" ^FO623,702^GFA,445,600,20,:Z64:eJxV0rFKBDEQBuA/DFwa2XqL5fYVtDLFga8iCNrmODibw40I2vgAioWvYZljC0tbu4vcC5xcs2C4OO7E1Usz8DGTZDIBZJUkMYd+mUKidkCd0gZQ3lSgjrP00qECDoEmLErlIgroVuwkRcwNYTKpoEmsToC1I4xnZjBotjnXrTds+LMLrmvDvq1fQEu2WjmxCPvx6Hv7IslLHayvAy0/ndZFNuCyjaD1E7Suhv2aVILObtnMYNO2hJ7eQzd237hpfR6yjdk6DtzHyIupHds79DGbFqPniIZrafvAd5Z+KVrOM6gDv+lWTIXTfr9FSFB3ud9N6M+1b5w4ynbke8OKB1Jk43ecvnKd/7Fdvp/DbNVB8cyQwmBXdQl144hHk2s7lNw7XXsVKzH1M+Le+FwjM+c0toP+D/yafArIGebfhyGXPw7wDQqRfyE=:532F \ n " +
" ^FO611,288^GB0,259,4^FS \ n " +
" ^FO202,288^GB0,261,4^FS \ n " +
" ^FO408,288^GB0,259,4^FS \ n " +
" ^FO659,508^GFA,213,270,9,:Z64:eJxjYzjAAAZ8zA1QBjuEZpBnY0gAUgkMsn1gRQ8YZGQYQYoeSMjINoMYH2RkJI+DlP7/I2PxDsR4JyNjkVYAUWPA/gPMkP3wnwHMkP9/DMKQKcBk/AMxHv6QKfgGYry/If8BLPUMKHUORQ1W7YX/D0AY30FqGB/YyLeDpBgf/2FjBGlnBAqDGQxAxzEehvqQEep3kN/AAADpXz7P:9688 \ n " +
" ^FO16,457^GB768,0,4^FS \ n " +
" ^FO675,478^GFA,133,136,8,:Z64:eJzjbz+4j+F/A4PFgYOPmRsbGAwSEg+2MTYwMCQkNvaAaIPEZh4I3S4BpOs/JP4B0QkGiQ0gGqgeRjeDaIkDCcdBNH/zjxoQDTSIQQZK80BpNigNsg8MgPYDAEdZJAA=:BBCA \ n " +
" ^FO432,509^GFA,509,580,20,:Z64:eJw1kUFLw0AQhd+w0FxKc1UozV+IeImg9K/k5jU3C0qTk14KXv0ZQkGP7q2XYq8KQbcU9FI03iKErm+2GMiS+TLzZvYNBkBiAaz1KPkOgVHkd5jKTeWQ+BYwO2LjKyTmDQ1ihmNGyCAVousWBdCjzozlBeQOpi74E70c6AeWdJD2SlnZ7JnDmArNl/ajHsZOGfWQb/Nh0EMX8g45QbNqOOi529daJDXw40FWFoGJxQnbv9bKPlLIrVN2RIn6RdmigXS5sotnyHJoB5D3DGYW2A+ZlWoAs1BWBOYhizmUdTBPgdEgWT2QCYWjWaoMUYvfnfZA4qL+RFnkbdyeVWquR+yZZMeeQVqyr2etWerdYh44blh7ql97X+gwilR9Mazrl5YsuacvO2VTC/FOPc3o5vpRPXUOfsvaCbIJsJkrWztkqpfhsoZ8prqYb3o1CCueUMml7CSOLGafEdourMrBbDjBFJpbVirBCwl3JK0OiQP8P/l+3j+CKJSy:21AF \ n " +
" ^FO417,470^GFA,377,576,24,:Z64:eJxl0bFqxDAMBmAbg7zoyKpCwK+gbh1Kn8Xhho7NmKFQh0C6HPSVcmToUjrf2NK1Q6B7qS1fkrurFokPGxv9Sn2os3JD7jrMkAeupRkzH9SBUvN84WrAEwcoujukh+5RT6gcYF21E5iAVneA1IzvtgRlAN3nM9nkajRI9bZHAKV7VFWPhQ1UiPstlNZkD+KbID4CGfFiH2D1anGKvukHoiH5kwHWbUhevfxe7Wb3i3O1g+j833tMzj76TXw3e0nR6c2TeHM9+y3tO+JD9Psf93pwJv5Hh+Lr27XtlDzuK69O/hkwrfncrbhk0HD0MTtC9hgU14yLp30e3Ysfy0yQbkk2NcNJ5Dh7OnXha9rrTCf+BwwfYUQ=:4F4C \ n " +
" ^FO257,508^GFA,281,348,12,:Z64:eJxNkL0KwjAUhU8ImKWYVSHY1+hQ6KvkEYQuDkLzSI5OEt8kU0fJ2EGs5yYqXkjul3DuL0BTAT/Tf2ziH+ei2wINDN9TwhTQCU+LDjbCYwN03kSdEIXhbVBZfbgHMpMLJw+cGFiYp99WPmvACetoFstijrxmGwZ6h2ldcFQze+wwvCRFw56uODC2d9SqXPK0uz2HqGyvQyxFzMKvMRRm70gj9fQrXZzlgsyi7l8OXMWDtcj6AnNrPpxgkqvciobMcfGUJTV1V6fq3mAkPtI=:F834 \ n " +
" ^FO255,470^GFA,209,252,12,:Z64:eJx9z7EKAjEMBuDIQbqUc81weK8Qt04+S8EX0MU54noPc4+QUtDHsI/gbTeI2oJSXcz08ZOEBOBdDLX+GE1MV9DZjL2g9X6SOHQ3l5CYk0aknediVcWcOCTiINrkhJCJ45cfcHnyWmzpUTg3xW2ZXUT8OBzzzr3YlfW8PYWhm8QeTLhvWp2Xo1K98Meu2nO1S/WZXl7pyziN:E0CE \ n " +
" ^FO61,509^GFA,317,348,12,:Z64:eJwtzr1KxTAUwPH/IdAuoV0dgr7CHTsU76v0BcSCi4PQTE59AB+lY0TwOSIOd5NM4lCIJ+k9Q/LjcL6ghJXMWHVqOvr3WD24DvPt6bRgHPTN4hfPcDv/wEtLH5j6rxVGrYsE+bBw75AkwbzaG542SMab1Z5ICZ5bWmcnucTa0w82sKt1Tzc/BCRA5+hy9qBudFZe4FFtBuTzTmeoZcOsek8sTrRvV5MwWx/J5f6I/J31O8x5R4olYnaLXH4p+xav3l31iN4/DbqrzNKcSdUS1Hk+HJ2my0ytSUdfjdld+0o0Nf8PBaxQzQ==:B2ED \ n " +
" ^FO55,474^GFA,217,272,16,:Z64:eJxjYz9gYcDf2HjAjo2xgYGBgU0mwaLA4mDjgcdQvoSBRYVBYuOBg80QPoNBTgVDYnMCI4wvkXODwbA5geFgI4x/Bplv/yPtTP3HNsP/Bw6C+QYSx84kGLYZNkD4fBIGx3sMEtsMDjb+h/HbDBJ7JA42g/XL8SQ2t0kc7JFIhrinjP1gMxt/Y48E1L0IgI8PYqLzmdHUM4LtBwBRqT1Z:F006 \ n " +
" ^FT542,424^A0I,23,25^FH \\ ^CI28^FD " + record_no + " ^FS^CI27 \ n " +
" ^FO17,105^GB771,0,4^FS \ n " +
" ^BY3,3,58^FT561,42^BCI,,Y,N \ n " +
" ^FH \\ ^FD>:YL292929201^FS \ n " +
" ^FT786,424^A0I,23,25^FH \\ ^CI28^FD{data}^FS^CI27 \ n " +
" ^FT429,758^A0I,23,25^FH \\ ^CI28^FD{pcsn}^FS^CI27 \ n " +
" ^FT439,854^A0I,23,25^FH \\ ^CI28^FD{是神恩撒旦法}^FS^CI27 \ n " +
" ^FT507,918^A0I,23,25^FH \\ ^CI28^FD{code}^FS^CI27 \ n " +
" ^PQ1,0,1,Y \ n " +
" ^XZ \ n " ;
byte [ ] zplBytes = zplContent . getBytes ( StandardCharsets . UTF_8 ) ;
outputStream . write ( zplBytes ) ;
outputStream . flush ( ) ;
} catch ( Exception e ) {
e . printStackTrace ( ) ;
} finally {
// 4. 关闭连接
try {
if ( outputStream ! = null ) outputStream . close ( ) ;
if ( socket ! = null ) socket . close ( ) ;
} catch ( IOException e ) {
e . printStackTrace ( ) ;
}
}
return PdaResponse . requestOk ( ) ;
}
@Override
public PdaResponse getPrint ( ) {
List < Dict > dictList = iSysDictService . getDictByName ( " PDA_CONFIG_PRINT " ) ;
List < JSONObject > collect = dictList . stream ( )
. map ( row - > JSONObject . parseObject ( JSONObject . toJSONString ( row ) , JSONObject . class ) )
. collect ( Collectors . toList ( ) ) ;
collect . forEach ( item - > {
item . put ( " text " , item . getString ( " name " ) ) ;
item . put ( " value " , item . getString ( " value " ) ) ;
} ) ;
return PdaResponse . requestParamOk ( collect ) ;
}
}