src/main/java/com/zy/asrs/controller/PakoutController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/result/PakoutExcelVo.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/picking/picking.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/views/picking/picking.html | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/PakoutController.java
@@ -13,6 +13,7 @@ import com.core.common.R; import com.zy.asrs.entity.*; import com.zy.asrs.entity.param.OrderDomainParam; import com.zy.asrs.entity.result.PakoutExcelVo; import com.zy.asrs.entity.result.PakoutVo; import com.zy.asrs.service.*; import com.zy.common.web.BaseController; @@ -25,6 +26,7 @@ import java.io.IOException; import java.net.URLEncoder; import java.util.*; import java.util.stream.Collectors; @RestController public class PakoutController extends BaseController { @@ -382,4 +384,47 @@ .doWrite(pakoutVos); } @RequestMapping(value = "/pakOut/exportExcel2/auth") public void exportExcel2(HttpServletResponse response, @RequestParam String orderNo) throws IOException { //从数据库查询数据 List<Pakout> list = pakoutService.selectList(new EntityWrapper<Pakout>().eq("doc_num",orderNo).orderBy("maktx")); List<PakoutExcelVo> pakOutExcelVos=new ArrayList<>(); for (Pakout pakOut: list) { Pla pla = plaService.selectOne(new EntityWrapper<Pla>() .eq("batch", pakOut.getBatch()) .eq("package_no", pakOut.getBarcode()) .eq("brand", pakOut.getMaktx())); PakoutExcelVo pakOutVo = new PakoutExcelVo(); BeanUtils.copyProperties(pla,pakOutVo); BeanUtils.copyProperties(pakOut,pakOutVo); pakOutExcelVos.add(pakOutVo); } Map<String, List<PakoutExcelVo>> collect = pakOutExcelVos.stream().collect(Collectors.groupingBy(PakoutExcelVo::getBrand)); List<PakoutExcelVo> newPakOutExcelVos=new ArrayList<>(); for(Map.Entry<String, List<PakoutExcelVo>> entry: collect.entrySet()) { double sum = entry.getValue().stream().mapToDouble(PakoutExcelVo::getAnfme).sum(); newPakOutExcelVos.addAll(entry.getValue()); PakoutExcelVo pakoutExcelVo = new PakoutExcelVo(); pakoutExcelVo.setProDate("小计:"); pakoutExcelVo.setAnfme(sum); newPakOutExcelVos.add(pakoutExcelVo); } response.setContentType("application/vnd.ms-excel"); response.setCharacterEncoding("utf-8"); String fileName = URLEncoder.encode("拣货单", "UTF-8"); response.setHeader("Content-disposition", "attachment;filename=" + fileName+ orderNo + ".xlsx"); EasyExcel.write(response.getOutputStream(), PakoutExcelVo.class) .registerWriteHandler(new LongestMatchColumnWidthStyleStrategy()) .sheet("表1") .doWrite(newPakOutExcelVos); } } src/main/java/com/zy/asrs/entity/result/PakoutExcelVo.java
New file @@ -0,0 +1,53 @@ package com.zy.asrs.entity.result; import com.alibaba.excel.annotation.ExcelProperty; import lombok.Data; /** * @author pang.jiabao * @description 拣货单,销售发货用excel导出模板 * @createDate 2025/2/17 15:47 */ @Data public class PakoutExcelVo { @ExcelProperty(value = "牌号") private String brand; @ExcelProperty(value = "批号") private String batch; @ExcelProperty(value = "包装号") private Integer packageNo; @ExcelProperty(value = "生产日期") private String proDate; @ExcelProperty(value = "重量KG") private Double anfme; @ExcelProperty(value = "熔指,g/10min") private Double fingerMelting; @ExcelProperty(value = "熔点,℃") private Double fusingPoint; @ExcelProperty(value = "黄度") private Double yellowness; @ExcelProperty(value = "不透明度,%") private Double opacity; @ExcelProperty(value = "包装类型") private String packageType; @ExcelProperty(value = "托盘类型") private String zpalletType; @ExcelProperty(value = "质量状态") private String massState; @ExcelProperty(value = "库位") private String locNo; } src/main/webapp/static/js/picking/picking.js
@@ -109,6 +109,9 @@ case "printExcel": printExcel(data); break; case "exportExcel2": exportExcel2(data); break; case "look": var $a = $(obj.tr).find('a[lay-event="look"]'); var offset = $a.offset(); @@ -405,6 +408,15 @@ }); } function exportExcel2(data){ layer.confirm('确定导出Excel吗', {shadeClose: true}, function(){ layer.closeAll(); layer.load(1, {shade: [0.1,'#fff']}); location.href = baseUrl+"/pakOut/exportExcel2/auth?orderNo="+data.doc_num; layer.closeAll('loading'); }); } }); // 关闭动作 src/main/webapp/views/picking/picking.html
@@ -77,6 +77,7 @@ <!-- 表格操作列 --> <script type="text/html" id="operate"> <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="printExcel">导出Excel</a> <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="exportExcel2">发货Excel</a> <a class="layui-btn layui-btn-primary layui-border-blue layui-btn-xs btn-complete" lay-event="btnPrint2">打印</a> <a class="layui-btn layui-btn-danger layui-btn-xs btn-delete" lay-event="del">删除</a> <!-- <a class="layui-btn layui-btn-primary layui-btn-xs btn-edit" lay-event="btnPrint"><img src="../../static/image/nav/fn_3.png" alt="二维码"></a>