igds-core/src/main/java/com/ld/igds/config/WebMvcConfig.java
@@ -61,15 +61,15 @@ * * @param registry */ // @Override // public void addInterceptors(InterceptorRegistry registry) { //// registry.addInterceptor(new LicenseHandlerAdepter()) //// .addPathPatterns("/index") //// .addPathPatterns("/index-gateway") //// .addPathPatterns("/databoard/*"); // @Override public void addInterceptors(InterceptorRegistry registry) { // registry.addInterceptor(new LicenseHandlerAdepter()) // .addPathPatterns("/login"); // // } // .addPathPatterns("/index") // .addPathPatterns("/index-gateway") // .addPathPatterns("/databoard/*"); registry.addInterceptor(new LicenseHandlerAdepter()) .addPathPatterns("/login"); } } igds-inout/pom.xml
@@ -26,6 +26,26 @@ <artifactId>base-io-netty</artifactId> <version>1.0.0-SNAPSHOT</version> </dependency> <!-- æ¡å½¢ç --> <dependency> <groupId>net.sf.barcode4j</groupId> <artifactId>barcode4j-light</artifactId> <version>2.0</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>core</artifactId> <version>3.3.1</version> </dependency> <dependency> <groupId>com.google.zxing</groupId> <artifactId>javase</artifactId> <version>3.3.1</version> </dependency> </dependencies> igds-inout/src/main/java/com/ld/igds/common/bar/BarCodeUtils.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,291 @@ package com.ld.igds.common.bar; import java.awt.BasicStroke; import java.awt.Color; import java.awt.Font; import java.awt.Graphics2D; import java.awt.RenderingHints; import java.awt.Stroke; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; import javax.imageio.ImageIO; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang3.StringUtils; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.Writer; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.oned.Code128Writer; import com.google.zxing.pdf417.PDF417Writer; /** * çææ¡å½¢ç (坿¾ç¤ºææ¬å 容) */ public class BarCodeUtils { /** * é»è®¤å¾ç宽度 */ private static final int DEFAULT_PICTURE_WIDTH = 300; /** * é»è®¤å¾çé«åº¦ */ private static final int DEFAULT_PICTURE_HEIGHT = 200; /** * é»è®¤æ¡å½¢ç 宽度 */ private static final int DEFAULT_BAR_CODE_WIDTH = 295; /** * é»è®¤æ¡å½¢ç é«åº¦ */ private static final int DEFAULT_BAR_CODE_HEIGHT = 75; /** * é»è®¤åä½å¤§å° */ private static final int DEFAULT_FONT_SIZE = 18; /** * 设置 æ¡å½¢ç åæ° */ private static final Map<EncodeHintType, Object> hints = new HashMap<>(); static { hints.put(EncodeHintType.CHARACTER_SET, "utf-8"); } /** * è·åæ¡å½¢ç å¾ç * * @param codeValue æ¡å½¢ç å 容 * @return æ¡å½¢ç å¾ç */ public static BufferedImage getBarCodeImage(String codeValue) { return getBarCodeImage(codeValue, DEFAULT_BAR_CODE_WIDTH, DEFAULT_BAR_CODE_HEIGHT); } /** * è·åæ¡å½¢ç å¾ç * * @param codeValue æ¡å½¢ç å 容 * @param width 宽度 * @param height é«åº¦ * @return æ¡å½¢ç å¾ç */ public static BufferedImage getBarCodeImage(String codeValue, int width, int height) { // CODE_128æ¯æå¸¸ç¨çæ¡å½¢ç æ ¼å¼ return getBarCodeImage(codeValue, width, height, BarcodeFormat.CODE_128); } /** * è·åæ¡å½¢ç å¾ç * * @param codeValue æ¡å½¢ç å 容 * @param width 宽度 * @param height é«åº¦ * @param barcodeFormat æ¡å½¢ç ç¼ç æ ¼å¼ * @return æ¡å½¢ç å¾ç */ public static BufferedImage getBarCodeImage(String codeValue, int width, int height, BarcodeFormat barcodeFormat) { Writer writer; switch (barcodeFormat) { case CODE_128: // æå¸¸è§çæ¡å½¢ç ï¼ä½æ¯ä¸æ¯æä¸æ writer = new Code128Writer(); break; case PDF_417: // æ¯æä¸æçæ¡å½¢ç æ ¼å¼ writer = new PDF417Writer(); break; // å¦æä½¿ç¨å°å ¶ä»æ ¼å¼ï¼å¯ä»¥å¨è¿éæ·»å default: writer = new Code128Writer(); } // ç¼ç å 容, ç¼ç ç±»å, 宽度, é«åº¦, è®¾ç½®åæ° BitMatrix bitMatrix; try { bitMatrix = writer.encode(codeValue, barcodeFormat, width, height, hints); } catch (WriterException e) { throw new RuntimeException("æ¡å½¢ç å 容åå ¥å¤±è´¥"); } return MatrixToImageWriter.toBufferedImage(bitMatrix); } /** * è·åæ¡å½¢ç * * @param codeValue æ¡å½¢ç å 容 * @param bottomStr åºé¨æå * @return */ public static BufferedImage getBarCodeWithWords(String codeValue, String bottomStr) { return getBarCodeWithWords(codeValue, bottomStr, "", ""); } /** * è·åæ¡å½¢ç * * @param codeValue æ¡å½¢ç å 容 * @param bottomStr1 åºé¨æå1 * @param bottomStr2 åºé¨æå2 * @param bottomStr2 åºé¨æå3 * @return */ public static BufferedImage getBarCodeWithWords(String codeValue, String bottomStr1, String bottomStr2, String bottomStr3) { return getCodeWithWords(getBarCodeImage(codeValue), bottomStr1, bottomStr2, bottomStr3, DEFAULT_PICTURE_WIDTH, DEFAULT_PICTURE_HEIGHT, 0, 0, DEFAULT_FONT_SIZE); } /** * è·åæ¡å½¢ç * * @param codeImage æ¡å½¢ç å¾ç * @param bottomStr1 åºé¨æå1 * @param bottomStr2 åºé¨æå2 * @param bottomStr3 åºé¨æå3 * @param pictureWidth å¾ç宽度 * @param pictureHeight å¾çé«åº¦ * @param codeOffsetX æ¡å½¢ç 宽度 * @param codeOffsetY æ¡å½¢ç é«åº¦ * @param fontSize åä½å¤§å° * @return æ¡å½¢ç å¾ç */ public static BufferedImage getCodeWithWords(BufferedImage codeImage, String bottomStr1, String bottomStr2, String bottomStr3, int pictureWidth, int pictureHeight, int codeOffsetX, int codeOffsetY, int fontSize) { BufferedImage picImage = new BufferedImage(pictureWidth, pictureHeight, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = picImage.createGraphics(); // æé¯é½¿ setGraphics2D(g2d); // 设置ç½è² setColorWhite(g2d, picImage.getWidth(), picImage.getHeight()); // æ¡å½¢ç é»è®¤å± 䏿¾ç¤º int codeStartX = (pictureWidth - codeImage.getWidth()) / 2 + codeOffsetX; int codeStartY = (pictureHeight - codeImage.getHeight()) / 2 + codeOffsetY; if (StringUtils.isNotEmpty(bottomStr2)) { codeStartY = codeStartY - 16; } if (StringUtils.isNotEmpty(bottomStr3)) { codeStartY = codeStartY - 16; } // ç»æ¡å½¢ç å°æ°ç颿¿ g2d.drawImage(codeImage, codeStartX, codeStartY, codeImage.getWidth(), codeImage.getHeight(), null); // ç»æåå°æ°ç颿¿ g2d.setColor(Color.BLACK); // åä½ãååãåå· g2d.setFont(new Font("微软é é»", Font.PLAIN, fontSize)); // æå䏿¡å½¢ç ä¹é´çé´é int wordAndCodeSpacing = 5; // æåé¿åº¦ int strWidth = g2d.getFontMetrics().stringWidth(bottomStr1); // æåXè½´å¼å§åæ ï¼è¿éæ¯å± ä¸ int strStartX = codeStartX + (codeImage.getWidth() - strWidth) / 2; // æåYè½´å¼å§åæ int strStartY = codeStartY + codeImage.getHeight() + fontSize + wordAndCodeSpacing; // ç»æå g2d.drawString(bottomStr1, strStartX, strStartY); if (StringUtils.isNotEmpty(bottomStr2)) { // æåé¿åº¦ strWidth = g2d.getFontMetrics().stringWidth(bottomStr2); // æåXè½´å¼å§åæ ï¼è¿éæ¯å± ä¸ strStartX = codeStartX + (codeImage.getWidth() - strWidth) / 2; // æåYè½´å¼å§åæ strStartY = codeStartY + codeImage.getHeight() + fontSize * 2 + wordAndCodeSpacing * 2; g2d.setFont(new Font("微软é é»", Font.PLAIN, 16)); // ç»æå g2d.drawString(bottomStr2, strStartX, strStartY); } if (StringUtils.isNotEmpty(bottomStr3)) { // æåé¿åº¦ strWidth = g2d.getFontMetrics().stringWidth(bottomStr3); // æåXè½´å¼å§åæ ï¼è¿éæ¯å± ä¸ strStartX = codeStartX + (codeImage.getWidth() - strWidth) / 2; // æåYè½´å¼å§åæ strStartY = codeStartY + codeImage.getHeight() + fontSize * 3 + wordAndCodeSpacing * 3; g2d.setFont(new Font("微软é é»", Font.PLAIN, 16)); // ç»æå g2d.drawString(bottomStr3, strStartX, strStartY); } g2d.dispose(); picImage.flush(); return picImage; } /** * 设置 Graphics2D 屿§ ï¼æé¯é½¿ï¼ * * @param g2d Graphics2Dæä¾å¯¹å ä½å½¢ç¶ãåæ è½¬æ¢ãé¢è²ç®¡çåææ¬å¸å±æ´ä¸ºå¤æçæ§å¶ */ private static void setGraphics2D(Graphics2D g2d) { g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT); Stroke s = new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER); g2d.setStroke(s); } /** * è®¾ç½®èæ¯ä¸ºç½è² * * @param g2d Graphics2Dæä¾å¯¹å ä½å½¢ç¶ãåæ è½¬æ¢ãé¢è²ç®¡çåææ¬å¸å±æ´ä¸ºå¤æçæ§å¶ */ private static void setColorWhite(Graphics2D g2d, int width, int height) { g2d.setColor(Color.WHITE); // å¡«å æ´ä¸ªå±å¹ g2d.fillRect(0, 0, width, height); // 设置ç¬å· g2d.setColor(Color.BLACK); } public static String getBarCodeImageBase64(String codeValue, String bottomStr1, String bottomStr2, String bottomStr3) { BufferedImage image = getBarCodeWithWords(codeValue, bottomStr1, bottomStr2, bottomStr3); return GetBase64FromImage(image); } /** * BufferedImage 转base64 */ public static String GetBase64FromImage(BufferedImage img) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); try { // 设置å¾ççæ ¼å¼ ImageIO.write(img, "jpg", stream); } catch (IOException e) { e.printStackTrace(); } byte[] bytes = Base64.encodeBase64(stream.toByteArray()); String base64 = new String(bytes); return "data:image/jpeg;base64," + base64; } public static void main(String[] args) throws IOException { BufferedImage image = BarCodeUtils.getBarCodeWithWords("C_202306290005", "202306290005", "ä¸å¿ç²®åº", "2023-06-29 12:25"); ImageIO.write(image, "jpg", new File("D:/IGDS/TEMP/BR_CODE_T.jpg")); } } igds-inout/src/main/java/com/ld/igds/common/bar/BarCodeUtils3.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,218 @@ package com.ld.igds.common.bar; import com.google.zxing.BarcodeFormat; import com.google.zxing.EncodeHintType; import com.google.zxing.WriterException; import com.google.zxing.client.j2se.MatrixToImageWriter; import com.google.zxing.common.BitMatrix; import com.google.zxing.oned.Code128Writer; import org.apache.commons.codec.binary.Base64; import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.StringUtils; import org.krysalis.barcode4j.HumanReadablePlacement; import org.krysalis.barcode4j.impl.code128.Code128Bean; import org.krysalis.barcode4j.output.bitmap.BitmapCanvasProvider; import javax.imageio.ImageIO; import java.awt.*; import java.awt.image.BufferedImage; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.util.HashMap; import java.util.Map; /** * @Desc: æ¡å½¢ç å·¥å · * @author: Andy * @update-time: 2023/6/30 */ public class BarCodeUtils3 { /** * æ¡å½¢ç 宽度 */ private static final int WIDTH = 300; /** * æ¡å½¢ç é«åº¦ */ private static final int HEIGHT = 100; /** * å æå æ¡å½¢ç */ private static final int WORD_HEIGHT = 150; /** * 设置 æ¡å½¢ç åæ° */ private static Map<EncodeHintType, Object> hints = new HashMap<EncodeHintType, Object>() { private static final long serialVersionUID = 1L; { put(EncodeHintType.CHARACTER_SET, "utf-8"); } }; /** * çæcode128æ¡å½¢ç * * @param height æ¡å½¢ç çé«åº¦ * @param width æ¡å½¢ç ç宽度 * @param message è¦çæçææ¬ * @param withQuietZone æ¯å¦ä¸¤è¾¹çç½ * @param hideText éèå¯è¯»ææ¬ * @return å¾ç对åºçåèç */ public static byte[] generateBarCode128(String message, Double height, Double width, boolean withQuietZone, boolean hideText) { Code128Bean bean = new Code128Bean(); // å辨ç int dpi = 512; // 设置两侧æ¯å¦çç½ bean.doQuietZone(withQuietZone); // 设置æ¡å½¢ç é«åº¦å宽度 bean.setBarHeight((double) ObjectUtils.defaultIfNull(height, 9.0D)); if (width != null) { bean.setModuleWidth(width); } // è®¾ç½®ææ¬ä½ç½®ï¼å æ¬æ¯å¦æ¾ç¤ºï¼ if (hideText) { bean.setMsgPosition(HumanReadablePlacement.HRP_NONE); } // 设置å¾çç±»å String format = "image/png"; ByteArrayOutputStream ous = new ByteArrayOutputStream(); BitmapCanvasProvider canvas = new BitmapCanvasProvider(ous, format, dpi, BufferedImage.TYPE_BYTE_BINARY, false, 0); // ç产æ¡å½¢ç bean.generateBarcode(canvas, message); try { canvas.finish(); } catch (IOException e) { } return ous.toByteArray(); } /** * çæ å¾çç¼å² * * @param vaNumber VA ç * @return è¿åBufferedImage * @author fxbin */ public static BufferedImage getBarCode(String vaNumber) { try { Code128Writer writer = new Code128Writer(); // ç¼ç å 容, ç¼ç ç±»å, 宽度, é«åº¦, è®¾ç½®åæ° BitMatrix bitMatrix = writer.encode(vaNumber, BarcodeFormat.CODE_128, WIDTH, HEIGHT, hints); return MatrixToImageWriter.toBufferedImage(bitMatrix); } catch (WriterException e) { e.printStackTrace(); } return null; } /** * æå¸¦logoçæ¡å½¢ç ä¸é¢å 䏿å * * @param image æ¡å½¢ç å¾ç * @param words åºé¨æå * @return è¿åBufferedImage * @author fxbin */ public static BufferedImage insertWords(BufferedImage image, String words) { // æ°çå¾çï¼æå¸¦logoçäºç»´ç ä¸é¢å 䏿å if (StringUtils.isNotEmpty(words)) { BufferedImage outImage = new BufferedImage(WIDTH, WORD_HEIGHT, BufferedImage.TYPE_INT_RGB); Graphics2D g2d = outImage.createGraphics(); // æé¯é½¿ setGraphics2D(g2d); // 设置ç½è² setColorWhite(g2d); // ç»æ¡å½¢ç å°æ°ç颿¿ g2d.drawImage(image, 0, 0, image.getWidth(), image.getHeight(), null); // ç»æåå°æ°ç颿¿ Color color = new Color(0, 0, 0); g2d.setColor(color); // åä½ãååãåå· g2d.setFont(new Font("微软é é»", Font.PLAIN, 18)); //æåé¿åº¦ int strWidth = g2d.getFontMetrics().stringWidth(words); //æ»é¿åº¦å廿åé¿åº¦çä¸å ï¼å± 䏿¾ç¤ºï¼ int wordStartX = (WIDTH - strWidth) / 2; //height + (outImage.getHeight() - height) / 2 + 12 int wordStartY = HEIGHT + 20; // ç»æå g2d.drawString(words, wordStartX, wordStartY); // ç»æå wordStartY = HEIGHT + 20; g2d.drawString(words, wordStartX, wordStartY); g2d.dispose(); outImage.flush(); return outImage; } return null; } /** * 设置 Graphics2D 屿§ ï¼æé¯é½¿ï¼ * * @param g2d Graphics2Dæä¾å¯¹å ä½å½¢ç¶ãåæ è½¬æ¢ãé¢è²ç®¡çåææ¬å¸å±æ´ä¸ºå¤æçæ§å¶ */ private static void setGraphics2D(Graphics2D g2d) { g2d.setRenderingHint(RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON); g2d.setRenderingHint(RenderingHints.KEY_STROKE_CONTROL, RenderingHints.VALUE_STROKE_DEFAULT); Stroke s = new BasicStroke(1, BasicStroke.CAP_ROUND, BasicStroke.JOIN_MITER); g2d.setStroke(s); } /** * è®¾ç½®èæ¯ä¸ºç½è² * * @param g2d Graphics2Dæä¾å¯¹å ä½å½¢ç¶ãåæ è½¬æ¢ãé¢è²ç®¡çåææ¬å¸å±æ´ä¸ºå¤æçæ§å¶ */ private static void setColorWhite(Graphics2D g2d) { g2d.setColor(Color.WHITE); //å¡«å æ´ä¸ªå±å¹ g2d.fillRect(0, 0, 600, 600); //设置ç¬å· g2d.setColor(Color.BLACK); } /** * BufferedImage 转base64 */ public String GetBase64FromImage(BufferedImage img) { ByteArrayOutputStream stream = new ByteArrayOutputStream(); try { // 设置å¾ççæ ¼å¼ ImageIO.write(img, "jpg", stream); } catch (IOException e) { e.printStackTrace(); } byte[] bytes = Base64.encodeBase64(stream.toByteArray()); String base64 = new String(bytes); return "data:image/jpeg;base64," + base64; } public static void main(String[] args) throws IOException { BufferedImage image = insertWords(getBarCode("202306290001"), "202306290001\r\nä½ å¥½"); ImageIO.write(image, "jpg", new File("D:/IGDS/TEMP/BRCODE_abc.jpg")); } } igds-inout/src/main/java/com/ld/igds/common/package-info.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1 @@ package com.ld.igds.common; igds-inout/src/main/java/com/ld/igds/inout/controller/InoutReportController.java
@@ -3,6 +3,7 @@ import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.data.PageResponse; import com.ld.igds.inout.InoutConstant; import com.ld.igds.inout.dto.InoutCheckData; import com.ld.igds.inout.dto.InoutData; import com.ld.igds.inout.manager.InoutReportManager; import lombok.extern.slf4j.Slf4j; @@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; import java.util.Date; /** @@ -21,7 +23,7 @@ @RequestMapping("basic/inout/report") public class InoutReportController { @Autowired @Resource private InoutReportManager reportManager; @@ -49,4 +51,28 @@ "åå°å¼å¸¸ï¼" + e.getMessage()); } } /** * æå°æ¦æ ·å * * @param data * @return */ @RequestMapping("/bill-simple") public PageResponse<String> simpleBill(@RequestBody InoutCheckData data) { try { String html = reportManager.simpleBill(data); if (null == html) { return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "çææå°ç 失败"); } return new PageResponse<>(RespCodeEnum.CODE_0000, html); } catch (Exception e) { log.error("åå°å¼å¸¸:{}", e); return new PageResponse<>(RespCodeEnum.CODE_1111.getCode(), "åå°å¼å¸¸ï¼" + e.getMessage()); } } } igds-inout/src/main/java/com/ld/igds/inout/controller/SampleController.java
@@ -4,11 +4,12 @@ import com.ld.igds.data.PageResponse; import com.ld.igds.inout.manager.SampleManager; import com.ld.igds.io.sample.data.SampleDto; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import javax.annotation.Resource; /** * æ¦æ ·æºååéªæ¥å£ @@ -20,7 +21,7 @@ @RequestMapping("api/sample") public class SampleController { @Autowired @Resource private SampleManager sampleManager; /** igds-inout/src/main/java/com/ld/igds/inout/manager/InoutReportManager.java
@@ -4,13 +4,11 @@ import com.ld.igds.check.dto.CheckItemData; import com.ld.igds.check.service.CoreCheckStandardService; import com.ld.igds.common.CoreCommonService; import com.ld.igds.common.bar.BarCodeUtils; import com.ld.igds.constant.FoodVariety; import com.ld.igds.inout.InoutBill; import com.ld.igds.inout.InoutConstant; import com.ld.igds.inout.dto.InoutData; import com.ld.igds.inout.dto.InoutRecordItemData; import com.ld.igds.inout.dto.InoutRecordItemParam; import com.ld.igds.inout.dto.WeightBill; import com.ld.igds.inout.dto.*; import com.ld.igds.inout.service.InoutRecordItemService; import com.ld.igds.m.dto.NoticeDto; import com.ld.igds.m.service.HInoutNoticeService; @@ -706,6 +704,26 @@ return htmlStr; } /** * æå°æ¦æ ·åï¼ç´æ¥è¿åæ¡å½¢ç Base64å¾ç * * @param data * @return */ public String simpleBill(InoutCheckData data) { if (null == data.getId()) return null; if (null == data.getCheckId()) return null; if (null == data.getCheckTime()) { data.setCheckTime(new Date()); } String imgBase64 = BarCodeUtils.getBarCodeImageBase64(data.getId(), data.getCheckId(), "ç²®åºæ¦æ ·åæ¡ç ", DateFormatUtils.format(data.getCheckTime(), "yyyy-MM-dd HH:mm")); return imgBase64; } public static void main(String[] args) { List<String> result = new ArrayList<>(); result.add("1"); @@ -724,4 +742,6 @@ List<String> strings3 = result.subList(6, 8); System.out.println(strings3); } } igds-inout/src/main/java/com/ld/igds/models/InoutCustomer.java
@@ -2,10 +2,8 @@ import java.io.Serializable; import java.util.Date; import com.bstek.dorado.annotation.PropertyDef; import lombok.Data; import javax.persistence.*; /** igds-web/src/main/resources/static/admin/inout/in-sample.js
@@ -6,7 +6,6 @@ var page = 1; var limit = 10; var curSampleData = null;// å½åç¼è¾æ°æ® var curCheckItems = null;// å½åæ°æ®çæ£æ¥é¡¹ä¿¡æ¯ $(function () { layui.use(['layer', 'laydate', 'form', 'table'], function () { @@ -308,18 +307,16 @@ shade: 0, content: $('#checkDetail'), btnAlign: 'c', btn: ['ä¿åå¹¶æå°', 'ä¿åæäº¤', 'å ³éåæ¶'], btn: ['æå°å¹¶ä¿å', 'ä» ä¿å', 'å ³éåæ¶'], yes: function () { alertSuccess("æ¡å½¢ç å¾ ç¡®å®ï¼"); printSimpleStart(); }, btn2: function () { // æ´æ°å°é¡µé¢ var data = form.val("form-detail"); obj.update(data); // åå¹¶æ´æ°ç¶åç¼è¾æ°æ® Object.assign(curSampleData, data); submit(); }, btn3: function () { layer.closeAll(); }, @@ -327,9 +324,34 @@ }); } //æ§è¡æå° function printSimpleStart() { var index = layer.load(); $.ajax({ type: "POST", url: "../../basic/inout/report/bill-simple", dataType: "json", contentType: "application/json;charset=UTF-8", data: JSON.stringify(curSampleData), success: function (result) { layer.close(index); if (result.code != "0000") { alertError(result.msg); } else { printSimpleBill(result.data); submit(); } }, error: function () { layer.close(index); alertError("æå°åæ®è°ç¨å¤±è´¥"); } }); } // å½å宿 function submit() { if (!curSampleData.sampleUser) { layer.alert("请è¾å ¥æ¦æ ·äººï¼ï¼"); return; igds-web/src/main/resources/static/admin/inout/inout-print.js
@@ -25,5 +25,13 @@ } }; //æå°æ¦æ ·å printSimpleBill = function (imgBase64) { var LODOP = getLodop(); LODOP.PRINT_INIT("æ¦æ ·å"); LODOP.SET_PRINT_PAGESIZE(1, "40mm", "30mm", "CreateCustomPage"); LODOP.ADD_PRINT_IMAGE(imgBase64); LODOP.PREVIEW(); }; igds-web/src/main/resources/static/images/br-code.jpgigds-web/src/main/resources/templates/admin/inout/in-sample.html
@@ -9,9 +9,12 @@ <title>åºå ¥åºç®¡ç-æ¦æ ·</title> <link rel="stylesheet" type="text/css" th:href="@{../../static/plugins/layui/css/layui.css?v=2.5.5}"> th:href="@{../../static/plugins/layui/css/layui.css}"> <link rel="stylesheet" type="text/css" th:href="@{../../static/admin/inout/style.css}"> <!--ä½¿ç¨æå°æä»¶ éèå½åæä»¶ --> <script th:src="@{../../static/plugins/lodop/LodopFuncs.js}"></script> <style type="text/css"> .qyzj-tabBox { @@ -287,8 +290,9 @@ </div> <script th:inline="javascript"> //æå±ååº var deptId = [[${deptId}]]; var progress = [[${progress}]]; var listDepot = [[${listDepot}]]; //ä¸å¡æ¥éª¤ var bizType = [[${bizType}]]; //åºå ¥åºç±»å @@ -301,8 +305,6 @@ var endTime = [[${endTime}]]; //æ¦æ ·æºä¿¡æ¯ var checkDto = [[${checkDto}]]; //æå±ååº var deptId = [[${deptId}]]; //åºåºåç§° var deptName = [[${deptName}]]; var inoutProgress = [[${inoutProgress}]]; @@ -313,6 +315,7 @@ <script th:src="@{../../static/js/constant.js}"></script> <script th:src="@{../../static/js/igds-common.js}"></script> <script th:src="@{../../static/admin/inout/inout-common.js}"></script> <script th:src="@{../../static/admin/inout/inout-print.js}"></script> <script th:src="@{../../static/admin/inout/in-sample.js}"></script> <script type="text/html" id="barControl"> @@ -404,19 +407,19 @@ <div style="height: 100%; width: 42%; float: right"> <div class="layui-col-xs12"> <blockquote class="layui-elem-quote"> <span style="font-weight: bold; margin-right: 10px;">æå°ä¿¡æ¯</span> <span style="font-weight: bold; margin-right: 10px;">æ¡ç ä¿¡æ¯</span> </blockquote> <div style="text-align: center; margin-top: 10px"> <img style="max-width: 100px;" th:src="@{/static/images/login-app-code.png}"/> </div> <div style="text-align: center; margin-top: 10px"> <img style="max-width: 220px;" th:src="@{/static/images/txm.jpg}"/> <img style="max-width: 220px;" th:src="@{/static/images/br-code.jpg}"/> </div> <div style="text-align: center; font-size: 16px; margin-top: 10px"> <span th:text="${deptName}"></span> </div> <div style="text-align: center; font-size: 14px; margin-top: 10px"> <span id="printTime">2023-05-31 17:30:30</span> <span id="printTime">--------</span> </div> </div> </div> @@ -453,5 +456,4 @@ </tbody> </table> </div> </html> igds-web/src/main/resources/templates/admin/inout/in-weight.html
@@ -11,6 +11,7 @@ th:href="@{../../static/plugins/layui/css/layui.css?v=2.5.5}"> <link rel="stylesheet" type="text/css" th:href="@{../../static/admin/inout/style.css}"> <!--ä½¿ç¨æå°æä»¶ éèå½åæä»¶ --> <script th:src="@{../../static/plugins/lodop/LodopFuncs.js}"></script>