zhs před 2 roky
rodič
revize
bfa6cb14a0

+ 3 - 3
build.gradle

@@ -32,9 +32,9 @@ dependencies {
     implementation 'cn.hutool:hutool-captcha:5.8.5'
     implementation 'org.springframework.boot:spring-boot-starter-aop'
     implementation 'org.springframework.boot:spring-boot-starter-data-redis:2.5.4'
-    implementation 'com.google.zxing:core:3.5.1'
-    implementation 'com.google.zxing:javase:3.5.1'
-    implementation 'org.iherus:qrext4j:1.3.1'
+//    implementation 'com.google.zxing:core:3.5.1'
+//    implementation 'com.google.zxing:javase:3.5.1'
+//    implementation 'org.iherus:qrext4j:1.3.1'
 //    implementation 'cn.afterturn:easypoi-base:4.4.0'
 //    implementation 'cn.afterturn:easypoi-web:4.4.0'
 //    implementation 'cn.afterturn:easypoi-annotation:4.4.0'

+ 116 - 116
src/main/java/com/tld/controller/WebPrintController.java

@@ -1,116 +1,116 @@
-package com.tld.controller;
-
-
-import com.google.zxing.client.j2se.MatrixToImageWriter;
-import com.google.zxing.common.BitMatrix;
-import com.tld.util.MyQRUtils;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.io.File;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.nio.file.Path;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 打印二维码
- */
-@RestController
-@RequestMapping("/Printer")
-public class WebPrintController {
-    private static final Log logger = LogFactory.getLog(MyQRUtils.class);
-
-    /**
-     * 二维码预览页面
-     * @param model
-     * @return
-     */
-     @PostMapping("/showList")
-     public  String  showQRList(Model model){
-         //模拟获取数据库数据
-         List listData = new ArrayList();
-         StringBuffer ids = new StringBuffer();
-         String code = "print00";
-         for (int i = 0; i < 3; i++) {
-             Map<String,String> map = new HashMap<String,String>(); //模拟VO
-             map.put("id",code+""+i);
-             ids.append(code+""+i).append(",");
-             listData.add(map);
-         }
-         model.addAttribute("showListData", listData);
-         model.addAttribute("ids", ids);
-         return "showQR";
-     }
-
-    /**
-     * 二维码打印页面
-     * 隐藏在iframe中
-     * @param model
-     * @return
-     */
-    @PostMapping("/printEWM")
-    public  String  printQRFrame(Model model, HttpServletRequest request){
-         String ids = request.getParameter("ids");
-         model.addAttribute("ids", ids);
-         return "printFrameQR";
-    }
-
-    /**
-     * 显示二维码图片保存打印
-     * @param request
-     * @param response
-     * @throws Exception
-     */
-     @PostMapping("/showEWMImage")
-     public void showImageByType(HttpServletRequest request, HttpServletResponse response){
-                 String id = request.getParameter("showID"); //ID
-
-                 //此处可从数据库中获取内容
-                 String content ="打印二维码\n打印测试\nID:"+id;
-                 //content   二维码中的信息
-
-                 OutputStream outStream = null;
-                 try {
-                         outStream = response.getOutputStream();
-                         String format = "jpg";
-                         String type = "png" ;
-                         String bottomText = ""; //水印文字
-                         //生成二维码前的配置信息
-                         BitMatrix bitMatrix = MyQRUtils.setBitMatrix(content, 30 , 30);
-                         //暂时不使用LOGO图片
-                         //以流的形式展示
-                         MyQRUtils.megerToFile(bitMatrix, format, outStream, null,bottomText);
-                         //定义路径,用绝对路径
-                        Path file = new File("D:/workspace/code.png").toPath();
-                     System.out.println("---路径---"+file.toFile());
-                        //生成路径并且保存文件
-                        MatrixToImageWriter.writeToPath(bitMatrix,type,file);
-                        //开始打印
-                         MyQRUtils.getPrint(file.toFile());
-
-                 } catch (Exception e) {
-                         logger.error("二维码生成失败", e);
-                     }finally{
-                         try {
-                                if(outStream!=null){
-                                         outStream.flush();
-                                         outStream.close();
-                                     }
-                            } catch (IOException e) {
-                                logger.error("关闭数据流失败", e);
-                            }
-                     }
-     }
-
-
-}
+//package com.tld.controller;
+//
+//
+//import com.google.zxing.client.j2se.MatrixToImageWriter;
+//import com.google.zxing.common.BitMatrix;
+//import com.tld.util.MyQRUtils;
+//import org.apache.commons.logging.Log;
+//import org.apache.commons.logging.LogFactory;
+//import org.springframework.ui.Model;
+//import org.springframework.web.bind.annotation.PostMapping;
+//import org.springframework.web.bind.annotation.RequestMapping;
+//import org.springframework.web.bind.annotation.RestController;
+////
+//import javax.servlet.http.HttpServletRequest;
+//import javax.servlet.http.HttpServletResponse;
+//import java.io.File;
+//import java.io.IOException;
+//import java.io.OutputStream;
+//import java.nio.file.Path;
+//import java.util.ArrayList;
+//import java.util.HashMap;
+//import java.util.List;
+//import java.util.Map;
+//
+///**
+// * 打印二维码
+// */
+//@RestController
+//@RequestMapping("/Printer")
+//public class WebPrintController {
+//    private static final Log logger = LogFactory.getLog(MyQRUtils.class);
+//
+//    /**
+//     * 二维码预览页面
+//     * @param model
+//     * @return
+//     */
+//     @PostMapping("/showList")
+//     public  String  showQRList(Model model){
+//         //模拟获取数据库数据
+//         List listData = new ArrayList();
+//         StringBuffer ids = new StringBuffer();
+//         String code = "print00";
+//         for (int i = 0; i < 3; i++) {
+//             Map<String,String> map = new HashMap<String,String>(); //模拟VO
+//             map.put("id",code+""+i);
+//             ids.append(code+""+i).append(",");
+//             listData.add(map);
+//         }
+//         model.addAttribute("showListData", listData);
+//         model.addAttribute("ids", ids);
+//         return "showQR";
+//     }
+//
+//    /**
+//     * 二维码打印页面
+//     * 隐藏在iframe中
+//     * @param model
+//     * @return
+//     */
+//    @PostMapping("/printEWM")
+//    public  String  printQRFrame(Model model, HttpServletRequest request){
+//         String ids = request.getParameter("ids");
+//         model.addAttribute("ids", ids);
+//         return "printFrameQR";
+//    }
+//
+//    /**
+//     * 显示二维码图片保存打印
+//     * @param request
+//     * @param response
+//     * @throws Exception
+//     */
+//     @PostMapping("/showEWMImage")
+//     public void showImageByType(HttpServletRequest request, HttpServletResponse response){
+//                 String id = request.getParameter("showID"); //ID
+//
+//                 //此处可从数据库中获取内容
+//                 String content ="打印二维码\n打印测试\nID:"+id;
+//                 //content   二维码中的信息
+//
+//                 OutputStream outStream = null;
+//                 try {
+//                         outStream = response.getOutputStream();
+//                         String format = "jpg";
+//                         String type = "png" ;
+//                         String bottomText = ""; //水印文字
+//                         //生成二维码前的配置信息
+//                         BitMatrix bitMatrix = MyQRUtils.setBitMatrix(content, 30 , 30);
+//                         //暂时不使用LOGO图片
+//                         //以流的形式展示
+//                         MyQRUtils.megerToFile(bitMatrix, format, outStream, null,bottomText);
+//                         //定义路径,用绝对路径
+//                        Path file = new File("D:/workspace/code.png").toPath();
+//                     System.out.println("---路径---"+file.toFile());
+//                        //生成路径并且保存文件
+//                        MatrixToImageWriter.writeToPath(bitMatrix,type,file);
+//                        //开始打印
+//                         MyQRUtils.getPrint(file.toFile());
+//
+//                 } catch (Exception e) {
+//                         logger.error("二维码生成失败", e);
+//                     }finally{
+//                         try {
+//                                if(outStream!=null){
+//                                         outStream.flush();
+//                                         outStream.close();
+//                                     }
+//                            } catch (IOException e) {
+//                                logger.error("关闭数据流失败", e);
+//                            }
+//                     }
+//     }
+//
+//
+//}

+ 0 - 1
src/main/java/com/tld/mapper/AskGoodsMapper.java

@@ -27,7 +27,6 @@ public interface AskGoodsMapper {
 
     void addAskGoodsVitrual(AskGoods askGoods);
 
-
     void addAskGoodsLog(AskGoods askGoods);
 
     Inventory getInventory(AskGoods askGoods);

+ 239 - 239
src/main/java/com/tld/util/MyQRUtils.java

@@ -1,239 +1,239 @@
-package com.tld.util;
-
-import com.google.zxing.BarcodeFormat;
-import com.google.zxing.EncodeHintType;
-import com.google.zxing.MultiFormatWriter;
-import com.google.zxing.WriterException;
-import com.google.zxing.common.BitMatrix;
-import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-import org.apache.poi.hssf.usermodel.HSSFCellStyle;
-import org.apache.poi.hssf.usermodel.HSSFFont;
-import org.apache.poi.hssf.usermodel.HSSFSheet;
-import org.apache.poi.hssf.usermodel.HSSFWorkbook;
-import org.apache.poi.ss.usermodel.HorizontalAlignment;
-import org.apache.poi.ss.usermodel.VerticalAlignment;
-
-import javax.imageio.ImageIO;
-import javax.print.*;
-import javax.print.attribute.*;
-import javax.print.attribute.standard.JobName;
-import javax.print.attribute.standard.MediaPrintableArea;
-import javax.print.attribute.standard.MediaSizeName;
-import javax.print.attribute.standard.OrientationRequested;
-import javax.print.event.PrintJobEvent;
-import javax.print.event.PrintJobListener;
-import java.awt.*;
-import java.awt.image.BufferedImage;
-import java.awt.print.PrinterJob;
-import java.io.*;
-import java.util.Hashtable;
-import java.util.Locale;
-
-
-/**
- * 二维码图片打印机工具类
- */
-public class MyQRUtils {
-
-    private static final Log logger = LogFactory.getLog(MyQRUtils.class);
-
-    private static final int BLACK = 0xFF000000;
-    private static final int WHITE = 0xFFFFFFFF;
-    private static final int LogoPart = 4;
-
-    /**
-      * 生成二维码前的配置信息
-      * @param content 生成二维码图片内容
-      * @param width   二维码图片的宽度
-      * @param height  二维码图片的高度
-      * @return
-      */
-    public static BitMatrix setBitMatrix(String content, int width, int height){
-        Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
-        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
-        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);  //指定纠错等级
-        BitMatrix bitMatrix=null;
-        try {
-            //生成二维码
-            bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
-        } catch (WriterException e) {
-            logger.error("生成二维码错误",e);
-         }
-         return bitMatrix;
-    }
-
-    /**
-     * 将LOGO图片放在二维码中间(水印效果)
-     * 将生成的图片以流的形式输出到页面展示
-     * @param matrix          BitMatrix
-     * @param format          图片格式
-     * @param outStream       输出流
-     * @param logoPath        LOGO地址
-     * @param showBottomText  二维码图片底部需要显示的问题
-     * @throws IOException
-     */
-    public static void megerToFile(BitMatrix matrix,String format,OutputStream outStream,String logoPath,String showBottomText) throws IOException {
-                 BufferedImage image = toBufferedImage(matrix);
-                Graphics2D gs = image.createGraphics();
-
-                 //1.加入LOGO水印效果
-                 if(null != logoPath && !"".equals(logoPath)){
-                         //1.1 载入LOGO图片
-                         BufferedImage logoImg = ImageIO.read(new File(logoPath));
-                         //1.2 考虑到LOGO图片贴到二维码中,建议大小不要超过二维码的1/5;
-                         int width = image.getWidth() / LogoPart;
-                         int height = image.getHeight() / LogoPart;
-                         //1.3 LOGO居中显示
-                         int x = (image.getWidth() - width) / 2;
-                         int y = (image.getHeight() - height) / 2;
-                         gs.drawImage(logoImg, x, y, logoImg.getWidth(), logoImg.getHeight(), null);
-                         logoImg.flush();
-                     }
-                 //2.二维码图片底部插入文字
-                 if(null != showBottomText && !"".equals(showBottomText)){
-                         //2.1 设置字体样式
-                         Font font = new Font("微软雅黑", Font.PLAIN, 14);
-                         gs.setColor(Color.BLACK);
-                         gs.setFont(font);
-                         //2.2 字体显示位置
-                         int x = (image.getWidth() - getWatermarkLength(showBottomText, gs))/2;
-                         int y = image.getHeight()-2;
-                         gs.drawString(showBottomText, x, y);
-                     }
-                 gs.dispose();
-                 ImageIO.write(image, format, outStream);
-    }
-
-    /**
-     * 将LOGO图片放在二维码中间(水印效果)
-     * 将生成的图片生成到本地硬盘路径下
-     * @param matrix          BitMatrix
-     * @param format          图片格式
-     * @param imagePath       图片存放路径
-      * @param logoPath        LOGO地址
-      * @param showBottomText  二维码图片底部需要显示的问题
-      * @throws IOException
-      */
-     public static void megerToFile2(BitMatrix matrix,String format,String imagePath,String logoPath,String showBottomText) throws IOException {
-                 BufferedImage image = toBufferedImage(matrix);
-                 Graphics2D gs = image.createGraphics();
-
-                 //1.加入LOGO水印效果
-                 if(null != logoPath && !"".equals(logoPath)){
-                         BufferedImage logoImg = ImageIO.read(new File(logoPath));
-                         int width = image.getWidth() / LogoPart;
-                         int height = image.getHeight() / LogoPart;
-                         int x = (image.getWidth() - width) / 2;
-                         int y = (image.getHeight() - height) / 2;
-                         gs.drawImage(logoImg, x, y, logoImg.getWidth(), logoImg.getHeight(), null);
-                         logoImg.flush();
-                     }
-
-                 //2.二维码图片底部插入文字
-                 if(null != showBottomText && !"".equals(showBottomText)){
-                         //2.1 设置字体样式
-                         Font font = new Font("微软雅黑", Font.PLAIN, 14);
-                         gs.setColor(Color.BLACK);
-                         gs.setFont(font);
-                         //2.2 字体显示位置
-                         int x = (image.getWidth() - getWatermarkLength(showBottomText, gs))/2;
-                         int y = image.getHeight()-2;
-                         gs.drawString(showBottomText, x, y);
-                     }
-                 gs.dispose();
-                 ImageIO.write(image, format, new File(imagePath));
-     }
-
-    /**
-     * 获取水印字体的长度
-     * @param fontString
-     * @param gs
-     * @return
-     */
-     public static int getWatermarkLength(String fontString,Graphics2D gs){
-         return gs.getFontMetrics(gs.getFont()).charsWidth(fontString.toCharArray(),0,fontString.length());
-     }
-
-    public static BufferedImage toBufferedImage(BitMatrix matrix){
-         int width = matrix.getWidth();
-        int height = matrix.getHeight();
-         BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
-
-       for(int x=0;x<width;x++){
-            for(int y=0;y<height;y++){
-                 image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
-             }
-         }
-        return image;
-     }
-
-
-    /**
-     * 打印保存的图片/二维码
-     * @param file
-     * @return
-     */
-    public static void getPrint(File file ){
-        // 构建打印请求属性集
-        DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
-        // 设置打印格式
-        PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
-        // 查找所有的打印服务
-        PrintService[] printServices = PrintServiceLookup.lookupPrintServices(flavor, pras);
-        //循环打印机名称
-        for (int i = 0; i < printServices.length; i++) {
-            String name = printServices[i].getName();
-            System.out.println("打印机名称:"+name);
-        }
-        // 测试,直接用第一个了
-        PrintService printService = printServices[0];
-        String printName = printService.getName();
-        File picFile = new File(file.toURI());
-        if (!picFile.exists() || !picFile.isFile()) {
-            return;
-        }
-        String fileName = picFile.getName();
-        // 获取图片后缀名,设置打印文件格式
-        String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
-        switch (suffix) {
-            case "jpg":
-            case "jpeg":
-                flavor = DocFlavor.INPUT_STREAM.JPEG;
-                break;
-            case "png":
-                flavor = DocFlavor.INPUT_STREAM.PNG;
-                break;
-            case "pdf":
-                flavor = DocFlavor.INPUT_STREAM.PDF;
-                break;
-            case "gif":
-                flavor = DocFlavor.INPUT_STREAM.GIF;
-            default:
-                break;
-        }
-        // 设置打印文件名
-        pras.add(new JobName(fileName, Locale.CHINA));
-        // 设置打印方向
-        pras.add(OrientationRequested.LANDSCAPE);
-        // 设置打印区域
-        MediaPrintableArea mp = new MediaPrintableArea(0, 0, 100, 100, Size2DSyntax.MM);
-        pras.add(mp);
-        try {
-            FileInputStream fis = new FileInputStream(picFile);
-            HashDocAttributeSet das = new HashDocAttributeSet();
-            // 使用打印服务生成打印任务
-            DocPrintJob job = printService.createPrintJob();
-            // 获取需要打印的文档类doc
-            SimpleDoc doc = new SimpleDoc(fis, flavor, das);
-            job.print(doc, pras);
-        } catch (PrintException e) {
-            e.printStackTrace();
-        } catch (FileNotFoundException e) {
-            e.printStackTrace();
-        }
-
-    }
-
-}
+//package com.tld.util;
+//
+//import com.google.zxing.BarcodeFormat;
+//import com.google.zxing.EncodeHintType;
+//import com.google.zxing.MultiFormatWriter;
+//import com.google.zxing.WriterException;
+//import com.google.zxing.common.BitMatrix;
+//import com.google.zxing.qrcode.decoder.ErrorCorrectionLevel;
+//import org.apache.commons.logging.Log;
+//import org.apache.commons.logging.LogFactory;
+//import org.apache.poi.hssf.usermodel.HSSFCellStyle;
+//import org.apache.poi.hssf.usermodel.HSSFFont;
+//import org.apache.poi.hssf.usermodel.HSSFSheet;
+//import org.apache.poi.hssf.usermodel.HSSFWorkbook;
+//import org.apache.poi.ss.usermodel.HorizontalAlignment;
+//import org.apache.poi.ss.usermodel.VerticalAlignment;
+//
+//import javax.imageio.ImageIO;
+//import javax.print.*;
+//import javax.print.attribute.*;
+//import javax.print.attribute.standard.JobName;
+//import javax.print.attribute.standard.MediaPrintableArea;
+//import javax.print.attribute.standard.MediaSizeName;
+//import javax.print.attribute.standard.OrientationRequested;
+//import javax.print.event.PrintJobEvent;
+//import javax.print.event.PrintJobListener;
+//import java.awt.*;
+//import java.awt.image.BufferedImage;
+//import java.awt.print.PrinterJob;
+//import java.io.*;
+//import java.util.Hashtable;
+//import java.util.Locale;
+//
+//
+///**
+// * 二维码图片打印机工具类
+// */
+//public class MyQRUtils {
+//
+//    private static final Log logger = LogFactory.getLog(MyQRUtils.class);
+//
+//    private static final int BLACK = 0xFF000000;
+//    private static final int WHITE = 0xFFFFFFFF;
+//    private static final int LogoPart = 4;
+//
+//    /**
+//      * 生成二维码前的配置信息
+//      * @param content 生成二维码图片内容
+//      * @param width   二维码图片的宽度
+//      * @param height  二维码图片的高度
+//      * @return
+//      */
+//    public static BitMatrix setBitMatrix(String content, int width, int height){
+//        Hashtable<EncodeHintType, Object> hints = new Hashtable<EncodeHintType, Object>();
+//        hints.put(EncodeHintType.CHARACTER_SET, "utf-8");
+//        hints.put(EncodeHintType.ERROR_CORRECTION, ErrorCorrectionLevel.H);  //指定纠错等级
+//        BitMatrix bitMatrix=null;
+//        try {
+//            //生成二维码
+//            bitMatrix = new MultiFormatWriter().encode(content, BarcodeFormat.QR_CODE, width, height, hints);
+//        } catch (WriterException e) {
+//            logger.error("生成二维码错误",e);
+//         }
+//         return bitMatrix;
+//    }
+//
+//    /**
+//     * 将LOGO图片放在二维码中间(水印效果)
+//     * 将生成的图片以流的形式输出到页面展示
+//     * @param matrix          BitMatrix
+//     * @param format          图片格式
+//     * @param outStream       输出流
+//     * @param logoPath        LOGO地址
+//     * @param showBottomText  二维码图片底部需要显示的问题
+//     * @throws IOException
+//     */
+//    public static void megerToFile(BitMatrix matrix,String format,OutputStream outStream,String logoPath,String showBottomText) throws IOException {
+//                 BufferedImage image = toBufferedImage(matrix);
+//                Graphics2D gs = image.createGraphics();
+//
+//                 //1.加入LOGO水印效果
+//                 if(null != logoPath && !"".equals(logoPath)){
+//                         //1.1 载入LOGO图片
+//                         BufferedImage logoImg = ImageIO.read(new File(logoPath));
+//                         //1.2 考虑到LOGO图片贴到二维码中,建议大小不要超过二维码的1/5;
+//                         int width = image.getWidth() / LogoPart;
+//                         int height = image.getHeight() / LogoPart;
+//                         //1.3 LOGO居中显示
+//                         int x = (image.getWidth() - width) / 2;
+//                         int y = (image.getHeight() - height) / 2;
+//                         gs.drawImage(logoImg, x, y, logoImg.getWidth(), logoImg.getHeight(), null);
+//                         logoImg.flush();
+//                     }
+//                 //2.二维码图片底部插入文字
+//                 if(null != showBottomText && !"".equals(showBottomText)){
+//                         //2.1 设置字体样式
+//                         Font font = new Font("微软雅黑", Font.PLAIN, 14);
+//                         gs.setColor(Color.BLACK);
+//                         gs.setFont(font);
+//                         //2.2 字体显示位置
+//                         int x = (image.getWidth() - getWatermarkLength(showBottomText, gs))/2;
+//                         int y = image.getHeight()-2;
+//                         gs.drawString(showBottomText, x, y);
+//                     }
+//                 gs.dispose();
+//                 ImageIO.write(image, format, outStream);
+//    }
+//
+//    /**
+//     * 将LOGO图片放在二维码中间(水印效果)
+//     * 将生成的图片生成到本地硬盘路径下
+//     * @param matrix          BitMatrix
+//     * @param format          图片格式
+//     * @param imagePath       图片存放路径
+//      * @param logoPath        LOGO地址
+//      * @param showBottomText  二维码图片底部需要显示的问题
+//      * @throws IOException
+//      */
+//     public static void megerToFile2(BitMatrix matrix,String format,String imagePath,String logoPath,String showBottomText) throws IOException {
+//                 BufferedImage image = toBufferedImage(matrix);
+//                 Graphics2D gs = image.createGraphics();
+//
+//                 //1.加入LOGO水印效果
+//                 if(null != logoPath && !"".equals(logoPath)){
+//                         BufferedImage logoImg = ImageIO.read(new File(logoPath));
+//                         int width = image.getWidth() / LogoPart;
+//                         int height = image.getHeight() / LogoPart;
+//                         int x = (image.getWidth() - width) / 2;
+//                         int y = (image.getHeight() - height) / 2;
+//                         gs.drawImage(logoImg, x, y, logoImg.getWidth(), logoImg.getHeight(), null);
+//                         logoImg.flush();
+//                     }
+//
+//                 //2.二维码图片底部插入文字
+//                 if(null != showBottomText && !"".equals(showBottomText)){
+//                         //2.1 设置字体样式
+//                         Font font = new Font("微软雅黑", Font.PLAIN, 14);
+//                         gs.setColor(Color.BLACK);
+//                         gs.setFont(font);
+//                         //2.2 字体显示位置
+//                         int x = (image.getWidth() - getWatermarkLength(showBottomText, gs))/2;
+//                         int y = image.getHeight()-2;
+//                         gs.drawString(showBottomText, x, y);
+//                     }
+//                 gs.dispose();
+//                 ImageIO.write(image, format, new File(imagePath));
+//     }
+//
+//    /**
+//     * 获取水印字体的长度
+//     * @param fontString
+//     * @param gs
+//     * @return
+//     */
+//     public static int getWatermarkLength(String fontString,Graphics2D gs){
+//         return gs.getFontMetrics(gs.getFont()).charsWidth(fontString.toCharArray(),0,fontString.length());
+//     }
+//
+//    public static BufferedImage toBufferedImage(BitMatrix matrix){
+//         int width = matrix.getWidth();
+//        int height = matrix.getHeight();
+//         BufferedImage image = new BufferedImage(width, height, BufferedImage.TYPE_3BYTE_BGR);
+//
+//       for(int x=0;x<width;x++){
+//            for(int y=0;y<height;y++){
+//                 image.setRGB(x, y, matrix.get(x, y) ? BLACK : WHITE);
+//             }
+//         }
+//        return image;
+//     }
+//
+//
+//    /**
+//     * 打印保存的图片/二维码
+//     * @param file
+//     * @return
+//     */
+//    public static void getPrint(File file ){
+//        // 构建打印请求属性集
+//        DocFlavor flavor = DocFlavor.INPUT_STREAM.AUTOSENSE;
+//        // 设置打印格式
+//        PrintRequestAttributeSet pras = new HashPrintRequestAttributeSet();
+//        // 查找所有的打印服务
+//        PrintService[] printServices = PrintServiceLookup.lookupPrintServices(flavor, pras);
+//        //循环打印机名称
+//        for (int i = 0; i < printServices.length; i++) {
+//            String name = printServices[i].getName();
+//            System.out.println("打印机名称:"+name);
+//        }
+//        // 测试,直接用第一个了
+//        PrintService printService = printServices[0];
+//        String printName = printService.getName();
+//        File picFile = new File(file.toURI());
+//        if (!picFile.exists() || !picFile.isFile()) {
+//            return;
+//        }
+//        String fileName = picFile.getName();
+//        // 获取图片后缀名,设置打印文件格式
+//        String suffix = fileName.substring(fileName.lastIndexOf(".") + 1);
+//        switch (suffix) {
+//            case "jpg":
+//            case "jpeg":
+//                flavor = DocFlavor.INPUT_STREAM.JPEG;
+//                break;
+//            case "png":
+//                flavor = DocFlavor.INPUT_STREAM.PNG;
+//                break;
+//            case "pdf":
+//                flavor = DocFlavor.INPUT_STREAM.PDF;
+//                break;
+//            case "gif":
+//                flavor = DocFlavor.INPUT_STREAM.GIF;
+//            default:
+//                break;
+//        }
+//        // 设置打印文件名
+//        pras.add(new JobName(fileName, Locale.CHINA));
+//        // 设置打印方向
+//        pras.add(OrientationRequested.LANDSCAPE);
+//        // 设置打印区域
+//        MediaPrintableArea mp = new MediaPrintableArea(0, 0, 100, 100, Size2DSyntax.MM);
+//        pras.add(mp);
+//        try {
+//            FileInputStream fis = new FileInputStream(picFile);
+//            HashDocAttributeSet das = new HashDocAttributeSet();
+//            // 使用打印服务生成打印任务
+//            DocPrintJob job = printService.createPrintJob();
+//            // 获取需要打印的文档类doc
+//            SimpleDoc doc = new SimpleDoc(fis, flavor, das);
+//            job.print(doc, pras);
+//        } catch (PrintException e) {
+//            e.printStackTrace();
+//        } catch (FileNotFoundException e) {
+//            e.printStackTrace();
+//        }
+//
+//    }
+//
+//}

+ 1 - 0
src/main/resources/mapper/WarehousingMapper.xml

@@ -56,6 +56,7 @@
             tld_storage_location
         WHERE
             #{storageLocationCode} like CONCAT('%', CONCAT(storage_location_code, ','), '%') and warehouse_where != '5000'
+    </select>
     <!-- 查询是否是混合物料 -->
     <select id="getIsNotSisable" resultType="String">
         select is_not_disable from tld_material where code = #{wllbCode}