From bb1ea2fa55fcd2ed4b0dc0762fe55eb7732936c0 Mon Sep 17 00:00:00 2001 From: linfso Date: Sun, 12 May 2024 19:19:28 +0800 Subject: [PATCH] md --- .../erp/web/emis/EmisCommonController.java | 19 ++++ .../erp/web/emis/EmisWaybillController.java | 107 ++++++++++++++++-- .../resources/mapper/EmisWaybillMapper.xml | 13 +++ 3 files changed, 132 insertions(+), 7 deletions(-) diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java index b491ea463..d4d0ccd68 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisCommonController.java @@ -132,5 +132,24 @@ public class EmisCommonController extends BaseController } } + /** + * 预览电子面单打印 + */ + @RequestMapping(value = "/previewBillPrintImage") + public AjaxResult previewBillPrintImage(String uuid) + { + try { + return AjaxResult.success("解析成功"); + }catch (Exception ex){ + ex.printStackTrace(); + // 返回子定义异常 + if(ex instanceof EmisBizError){ + return AjaxResult.error("("+((EmisBizError)ex).getErrorCode()+")"+ex.getMessage()); + } + + return AjaxResult.error("服务器异常,联系客服"); + } + } + } diff --git a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java index 9b85bb5bf..3c4026308 100644 --- a/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java +++ b/emis-biz-web/src/main/java/com/xdadan/erp/web/emis/EmisWaybillController.java @@ -11,9 +11,7 @@ package com.xdadan.erp.web.emis; -import java.io.ByteArrayOutputStream; -import java.io.OutputStream; -import java.io.PrintWriter; +import java.io.*; import java.nio.charset.Charset; import java.util.*; import javax.servlet.http.HttpServletRequest; @@ -23,13 +21,17 @@ import javax.validation.Valid; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.xdadan.erp.common.annotation.filter.jackson.JacksonFilter; +import com.xdadan.erp.common.config.PayConfig; import com.xdadan.erp.common.utils.DateUtils; +import com.xdadan.erp.common.utils.idgen.UUID; import com.xdadan.erp.emis.domain.EmisBrand; import com.xdadan.erp.emis.domain.exception.EmisBizError; import com.xdadan.erp.emis.domain.vo.*; import com.xdadan.erp.emis.service.*; import com.xdadan.erp.emis.service.print.IXddTplPrint; import com.xdadan.erp.emis.service.print.tanex.TanexTplPrintImpl; +import com.xdadan.erp.system.domain.SysFileInfo; +import com.xdadan.erp.system.service.ISysFileInfoService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; @@ -61,6 +63,9 @@ public class EmisWaybillController extends BaseController @Autowired private EmisBaseService emisBaseService; + @Autowired + private ISysFileInfoService sysFileInfoService; + @Autowired @@ -234,10 +239,6 @@ public class EmisWaybillController extends BaseController return getDataTable(list); } -// @PreAuthorize("@ss.hasPermi('emis:emisWaybill:list')") -// ,"receiveCounty","receiveAddress", -// ,"sendCounty","sendAddress", -// "sendCity","sendCounty","sendAddress", @JacksonFilter(include= { "id","orderSn","billCode","orderStatus","waybillStatus", @@ -263,6 +264,21 @@ public class EmisWaybillController extends BaseController return getDataTable(list); } + @JacksonFilter(include= { + "orderSn","billCode","orderStatus","waybillStatus", "sendDate" + },value= EmisWaybill.class,type= JacksonFilter.JscksonFilterType.RESPONSE) + @RequestMapping("/queryPrintListSimple") + public TableDataInfo queryPrintListSimple(EmisWaybill emisWaybill) + { + startPage(); +// emisWaybill.setCreateSite(getLoginUser().getUser().getOwnerSiteCode()); + List list = emisWaybillService.selectEmisWaybillList(emisWaybill); + return getDataTable(list); + } + + + + /** * 查询扫描统计数据 @@ -361,6 +377,81 @@ public class EmisWaybillController extends BaseController return AjaxResult.error("获取失败"); } + @RequestMapping("/realGetPrintList") + public AjaxResult realGetPrintList(String billCode, String billCodeRange, String lang, String printType) + { + /* + , HttpServletRequest request, HttpServletResponse response + [ + { + "billCode": "T7080300000206", + "result": "success", + "message": "打印", + "imageUrl": "http://oss-emis.xxx.com/m123213123.png" + } + ] + */ + + if(!StringUtils.isEmpty(billCode)){ + try { + JSONArray jArr = new JSONArray(); + String[] billCodeArr = billCode.split(","); + + for(String billCodeItem:billCodeArr) { + Map order = emisBaseService.getWaybillPrintOrder(billCode, billCodeRange, lang, printType); + JSONObject printItem = new JSONObject(); + printItem.put("billCode",billCodeItem); + if(order!=null) { + + try + { + String fileId = UUID.fastUUID().toString(); + String fileUploadDir = PayConfig.getUploadPath(); + String saveFileName = fileUploadDir+ File.separator+DateUtils.datePath()+"/"+fileId+".png"; + + FileOutputStream os = new FileOutputStream(saveFileName);//输出流 + IXddTplPrint tplPrint = new TanexTplPrintImpl(); + tplPrint.genPNG(order, os); + + JSONObject jObjRemark = new JSONObject(); + jObjRemark.put("billCode",billCodeItem); + jObjRemark.put("billCodeRange",billCodeRange); + jObjRemark.put("lang",lang); + jObjRemark.put("printType",printType); + + SysFileInfo sysFileInfo=sysFileInfoService.ossUploadLocalFile(saveFileName,billCodeItem,jObjRemark.toJSONString()); + String imageUrl = sysFileInfo.getFileRemoteUrl(); + printItem.put("imageUrl", imageUrl); + printItem.put("result","success"); + printItem.put("message","success"); + } + catch (Exception e) + { + e.printStackTrace(); + printItem.put("imageUrl", ""); + printItem.put("result","fail"); + printItem.put("message","生成图片异常"); + + } + + + }else{ + printItem.put("result","fail"); + printItem.put("message","未获取到数据"); + } + jArr.add(printItem); + } + + return AjaxResult.success("获取成功",jArr); + }catch (Exception ex){ + ex.printStackTrace(); + return AjaxResult.error("获取失败"); + } + } + + return AjaxResult.error("获取失败"); + } + @RequestMapping("/realGetWaybillPdf") public AjaxResult realGetWaybillPdf(HttpServletRequest request, HttpServletResponse response,String billCode, String billCodeRange, String lang, String printType,String isNeedPdf) @@ -428,6 +519,8 @@ public class EmisWaybillController extends BaseController } + + private void responseJson(HttpServletResponse response,String text){ response.setCharacterEncoding("UTF-8"); response.setContentType("application/json; charset=utf-8"); diff --git a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml index f314cdd3a..c95455498 100644 --- a/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml +++ b/emis-biz/src/main/resources/mapper/EmisWaybillMapper.xml @@ -437,6 +437,19 @@ and remark like concat('%', #{remark}, '%') and create_site like concat('%', #{createSite}, '%') and update_site like concat('%', #{updateSite}, '%') + + + and send_date = ]]> #{params.beginSendDate} + + + and send_date #{params.endSendDate} + + + + and bl_print=#{params.printFlag} + + + order by create_time desc