From 419c6a9b87b37be567a581d6a80d7e3f505d84e9 Mon Sep 17 00:00:00 2001 From: lty <876263681@qq.com> Date: 星期一, 23 六月 2025 13:39:04 +0800 Subject: [PATCH] #新增空箱入库功能,界面等修改 --- src/main/java/com/zy/asrs/importexcle/ImportOrderListener.java | 74 +++++++++++++++++++++++++++++++----- 1 files changed, 63 insertions(+), 11 deletions(-) diff --git a/src/main/java/com/zy/asrs/importexcle/ImportOrderListener.java b/src/main/java/com/zy/asrs/importexcle/ImportOrderListener.java index 3ae6405..6414451 100644 --- a/src/main/java/com/zy/asrs/importexcle/ImportOrderListener.java +++ b/src/main/java/com/zy/asrs/importexcle/ImportOrderListener.java @@ -69,7 +69,7 @@ public void invoke(ImportOrderDto data, AnalysisContext context) { log.info("瑙f瀽鍒扮 {} 鏉℃暟鎹�:{}", ++count, JSON.toJSONString(data)); list.add(data); - if (context.getCurrentRowNum() == 5) { + if (context.getCurrentRowNum() == 3) { String time = DateUtils.convert(new Date(),DateUtils.yyyyMMddHHmmss_F); Order order2 = orderService.selectByNo(list.get(0).getColumn2()); // 璁㈠崟鍙� if(order2 != null) { @@ -86,8 +86,8 @@ order.setOrderNo(orderNo); order.setOrderTime(time); order.setDocType(docType.getDocId()); - order.setCstmrName(Cools.isEmpty(list.get(2).getColumn2()) ? "" : list.get(2).getColumn2()); // 瀹㈡埛鍚嶇О - order.setMemo(Cools.isEmpty(list.get(3).getColumn2()) ? "" : list.get(3).getColumn2()); // 澶囨敞 +// order.setCstmrName(Cools.isEmpty(list.get(2).getColumn2()) ? "" : list.get(2).getColumn2()); // 瀹㈡埛鍚嶇О +// order.setMemo(Cools.isEmpty(list.get(3).getColumn2()) ? "" : list.get(3).getColumn2()); // 澶囨敞 order.setSettle(1L); order.setStatus(1); order.setCreateBy(userId); @@ -119,26 +119,69 @@ log.info("鎵�鏈夋暟鎹В鏋愬畬鎴愶紒"); } +// /** +// * 鍔犱笂瀛樺偍鏁版嵁搴� +// */ +// private void saveData() { +// log.info("{}鏉℃暟鎹紝寮�濮嬪瓨鍌ㄦ暟鎹簱锛�", list.size()); +// log.info("鍗曟嵁鍙凤細{}锛屾暟鎹細{},",orderNo, JSON.toJSONString(list)); +// List<OrderDetl> orderDetlList = new ArrayList<>(); +// list.forEach(importOrderDto -> { +// OrderDetl orderDetl = new OrderDetl(); +// if (docTypeId == 24) { +// orderDetl.setSpecs(String.format("%07d",Integer.parseInt(importOrderDto.getColumn1()))); // 婧愬簱浣� +// if (importOrderDto.getColumn2() != null) { +// orderDetl.setModel(String.format("%07d",Integer.parseInt(importOrderDto.getColumn2()))); // 鐩爣搴撲綅 +// } +// if (importOrderDto.getColumn3() != null) { +// orderDetl.setBeBatch(Integer.parseInt(importOrderDto.getColumn3())); //宸烽亾 +// } +// } else { +// orderDetl.setBrand(importOrderDto.getColumn1()); +// } +// orderDetl.setBatch(""); +// orderDetl.setOrderId(orderId); +// orderDetl.setOrderNo(orderNo); +// orderDetl.setCreateBy(9527L); +// orderDetl.setCreateTime(new Date()); +// orderDetl.setUpdateBy(9527L); +// orderDetl.setUpdateTime(new Date()); +// orderDetl.setStatus(1); +// orderDetl.setQty(0.0D); +// orderDetl.setAnfme(1.0); +// orderDetlList.add(orderDetl); +// }); +// orderDetlMapper.batchDetls(orderDetlList); +// +// log.info("瀛樺偍鏁版嵁搴撴垚鍔燂紒"); +// } +private static final int MAX_BATCH_SIZE = 150; // 寤鸿 100~200锛屾牴鎹瓧娈垫暟鎺у埗 + /** - * 鍔犱笂瀛樺偍鏁版嵁搴� + * 鍒嗘壒瀛樺偍鏁版嵁搴擄紝閬垮厤SQL Server鍙傛暟涓婇檺锛�2100锛夐敊璇� */ private void saveData() { log.info("{}鏉℃暟鎹紝寮�濮嬪瓨鍌ㄦ暟鎹簱锛�", list.size()); - log.info("鍗曟嵁鍙凤細{}锛屾暟鎹細{},",orderNo, JSON.toJSONString(list)); + log.info("鍗曟嵁鍙凤細{}锛屾暟鎹細{},", orderNo, JSON.toJSONString(list)); + List<OrderDetl> orderDetlList = new ArrayList<>(); - list.forEach(importOrderDto -> { + for (ImportOrderDto importOrderDto : list) { OrderDetl orderDetl = new OrderDetl(); + if (docTypeId == 24) { - orderDetl.setSpecs(String.format("%07d",Integer.parseInt(importOrderDto.getColumn1()))); // 婧愬簱浣� + orderDetl.setSpecs(String.format("%07d", Integer.parseInt(importOrderDto.getColumn1()))); // 婧愬簱浣� if (importOrderDto.getColumn2() != null) { - orderDetl.setModel(String.format("%07d",Integer.parseInt(importOrderDto.getColumn2()))); // 鐩爣搴撲綅 + orderDetl.setModel(String.format("%07d", Integer.parseInt(importOrderDto.getColumn2()))); // 鐩爣搴撲綅 } if (importOrderDto.getColumn3() != null) { - orderDetl.setBeBatch(Integer.parseInt(importOrderDto.getColumn3())); //宸烽亾 + orderDetl.setBeBatch(Integer.parseInt(importOrderDto.getColumn3())); // 宸烽亾 } } else { orderDetl.setBrand(importOrderDto.getColumn1()); + orderDetl.setSupp(importOrderDto.getColumn3()); + orderDetl.setMemo(importOrderDto.getColumn4()); } + orderDetl.setBatch(""); orderDetl.setOrderId(orderId); orderDetl.setOrderNo(orderNo); @@ -149,12 +192,21 @@ orderDetl.setStatus(1); orderDetl.setQty(0.0D); orderDetl.setAnfme(1.0); + orderDetlList.add(orderDetl); - }); - orderDetlMapper.batchDetls(orderDetlList); + } + + // 鉁� 鍏抽敭鐐癸細鍒嗘壒鎻愪氦 + for (int i = 0; i < orderDetlList.size(); i += MAX_BATCH_SIZE) { + int end = Math.min(i + MAX_BATCH_SIZE, orderDetlList.size()); + List<OrderDetl> batch = orderDetlList.subList(i, end); + orderDetlMapper.batchDetls(batch); + } log.info("瀛樺偍鏁版嵁搴撴垚鍔燂紒"); } + + /** *瑙f瀽鍑虹幇閿欒浼氳繘鍏ヨ鏂规硶 鍏蜂綋鐪嬫簮浠g爜鎴栨枃妗� */ -- Gitblit v1.9.1