Revert "feat(wms): 出库查询新增木箱编码和木箱描述字段"

This reverts commit a89e7507fd.
This commit is contained in:
zhouz
2025-07-10 14:55:34 +08:00
parent a89e7507fd
commit 4a1b8ac17a
2 changed files with 108 additions and 128 deletions

View File

@@ -29,6 +29,7 @@ import javax.servlet.http.HttpServletResponse;
import java.io.IOException; import java.io.IOException;
import java.util.*; import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ConcurrentLinkedDeque; import java.util.concurrent.ConcurrentLinkedDeque;
import java.util.function.Function; import java.util.function.Function;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@@ -44,8 +45,7 @@ import java.util.stream.Collectors;
public class OutBillQueryServiceImpl implements OutBillQueryService { public class OutBillQueryServiceImpl implements OutBillQueryService {
@Autowired @Autowired
private IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService; private IpdmBiSubpackagerelationService ipdmBiSubpackagerelationService;
@Override @Override
public Map<String, Object> queryAll(Map whereJson, Pageable page, String[] bill_types) { public Map<String, Object> queryAll(Map whereJson, Pageable page, String[] bill_types) {
String stor_id = MapUtil.getStr(whereJson, "stor_id"); String stor_id = MapUtil.getStr(whereJson, "stor_id");
@@ -285,7 +285,6 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
String end_time = MapUtil.getStr(map, "end_time"); String end_time = MapUtil.getStr(map, "end_time");
String pcsn = MapUtil.getStr(map, "pcsn"); String pcsn = MapUtil.getStr(map, "pcsn");
String customer_name = MapUtil.getStr(map, "customer_name"); String customer_name = MapUtil.getStr(map, "customer_name");
map.put("flag", "22"); map.put("flag", "22");
map.put("stor_id", stor_id); map.put("stor_id", stor_id);
if (ObjectUtil.isNotEmpty(bill_types)) { if (ObjectUtil.isNotEmpty(bill_types)) {
@@ -300,11 +299,9 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
if (StrUtil.isNotEmpty(pcsn)){ if (StrUtil.isNotEmpty(pcsn)){
// 判断是否有空格 // 判断是否有空格
boolean matches = pcsn.matches(".*\\s.*"); boolean matches = pcsn.matches(".*\\s.*");
if (matches) { if (matches) {
String[] s = pcsn.split(" "); String[] s = pcsn.split(" ");
String pcsn_in = String.join("','", Arrays.asList(s)); String pcsn_in = String.join("','", Arrays.asList(s));
map.put("pcsn_in", "('"+pcsn_in+"')"); map.put("pcsn_in", "('"+pcsn_in+"')");
map.put("pcsn", ""); map.put("pcsn", "");
} else { } else {
@@ -314,7 +311,6 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
if (ObjectUtil.isNotEmpty(customer_name)) { if (ObjectUtil.isNotEmpty(customer_name)) {
map.put("customer_name", "%" + customer_name + "%"); map.put("customer_name", "%" + customer_name + "%");
} }
// 处理时间 // 处理时间
if (ObjectUtil.isNotEmpty(begin_time) && ObjectUtil.isNotEmpty(end_time)) { if (ObjectUtil.isNotEmpty(begin_time) && ObjectUtil.isNotEmpty(end_time)) {
String begin_time_today = begin_time.substring(0, 10); String begin_time_today = begin_time.substring(0, 10);
@@ -346,133 +342,122 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
for (List<JSONObject> jsonObjects : deque) { for (List<JSONObject> jsonObjects : deque) {
datas.addAll(jsonObjects); datas.addAll(jsonObjects);
} }
ConcurrentLinkedDeque<List<Map<String,String>>> listDeque = new ConcurrentLinkedDeque<>(); List<Map<String, String>> list = new ArrayList<>();
Lists.partition(resultJSONArray,1000).stream().map((Function<List, CompletableFuture>) o->CompletableFuture.runAsync(() -> { for (int i = 0; i < resultJSONArray.size(); i++) {
List<Map<String, String>> items = new ArrayList<>(); JSONObject json = resultJSONArray.getJSONObject(i);
for (Object item : o) { Map<String, String> mp = new LinkedHashMap<>();
JSONObject json = (JSONObject) item; // 查询第一次入库的源销售订单
Map<String, String> mp = new LinkedHashMap<>(); JSONObject jsonSub = datas.stream()
// 查询第一次入库的源销售订单 .filter(row -> row.getString("container_name").equals(json.getString("pcsn")))
JSONObject jsonSub = datas.stream() .min(Comparator.comparing(row -> row.getString("insert_time")))
.filter(row -> row.getString("container_name").equals(json.getString("pcsn"))) .orElse(null);
.min(Comparator.comparing(row -> row.getString("insert_time")))
.orElse(null);
mp.put("仓库", json.getString("stor_name")); mp.put("仓库", json.getString("stor_name"));
if (ObjectUtil.isNotEmpty(bill_type) && "1004".equals(bill_type)) { if (ObjectUtil.isNotEmpty(bill_type) && "1004".equals(bill_type)) {
mp.put("移入仓库", json.getString("in_stor_name")); mp.put("移入仓库", json.getString("in_stor_name"));
}
mp.put("库区", json.getString("sect_name"));
mp.put("生产区域", json.getString("pcsn").substring(0, 2));
String bill_type1 = json.getString("bill_type");
String bill_name = "";
switch (bill_type1) {
case "1001" :
bill_name = "发货出库";
break;
case "1003" :
bill_name = "改切出库";
break;
case "1004" :
bill_name = "调拨出库";
break;
case "1005" :
bill_name = "拆箱出库";
break;
case "1006" :
bill_name = "返检出库";
break;
case "1007" :
bill_name = "超期报废";
break;
case "1008" :
bill_name = "退货报废";
break;
case "1010" :
bill_name = "质量问题报废";
break;
case "1002" :
bill_name = "其他报废";
break;
case "1011" :
bill_name = "分拣出库";
break;
case "1009" :
bill_name = "手工出库";
break;
}
mp.put("业务类型", bill_name);
mp.put("交货单号", json.getString("vbeln"));
mp.put("物流公司", json.getString("cust_name"));
mp.put("运费", json.getString("estimated_freight"));
mp.put("木箱号", json.getString("box_no"));
mp.put("物料编码", json.getString("material_code"));
mp.put("物料名称", json.getString("material_name"));
mp.put("子卷号", json.getString("pcsn"));
mp.put("sap批次", json.getString("sap_pcsn"));
mp.put("净重", json.getString("net_weight"));
mp.put("单位", json.getString("qty_unit_name"));
mp.put("管件类型", json.getString("paper_type"));
mp.put("管件编码", json.getString("paper_code"));
mp.put("管件描述", json.getString("paper_name"));
mp.put("客户编码", json.getString("customer_name"));
mp.put("发货客户名称", json.getString("customer_description"));
mp.put("销售订单", json.getString("sale_order_name"));
mp.put("行号", "");
mp.put("原销售订单", json.getString("sale_order_name"));
mp.put("原行号", "");
if (ObjectUtil.isNotEmpty(json.getString("sale_order_name"))) {
try {
mp.put("销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-")));
mp.put("行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length()));
} catch (Exception e) {
mp.put("销售订单", json.getString("sale_order_name"));
mp.put("行号", "");
} }
mp.put("库区", json.getString("sect_name")); }
mp.put("生产区域", json.getString("pcsn").substring(0, 2)); // 原销售订单
String bill_type1 = json.getString("bill_type"); if (ObjectUtil.isEmpty(jsonSub)) {
String bill_name = "";
switch (bill_type1) {
case "1001" :
bill_name = "发货出库";
break;
case "1003" :
bill_name = "改切出库";
break;
case "1004" :
bill_name = "调拨出库";
break;
case "1005" :
bill_name = "拆箱出库";
break;
case "1006" :
bill_name = "返检出库";
break;
case "1007" :
bill_name = "超期报废";
break;
case "1008" :
bill_name = "退货报废";
break;
case "1010" :
bill_name = "质量问题报废";
break;
case "1002" :
bill_name = "其他报废";
break;
case "1011" :
bill_name = "分拣出库";
break;
case "1009" :
bill_name = "手工出库";
break;
}
mp.put("业务类型", bill_name);
mp.put("交货单号", json.getString("vbeln"));
mp.put("物流公司", json.getString("cust_name"));
mp.put("运费", json.getString("estimated_freight"));
mp.put("木箱号", json.getString("box_no"));
mp.put("木箱编码", json.getString("box_material_code"));
mp.put("木箱描述", json.getString("box_material_name"));
mp.put("物料编码", json.getString("material_code"));
mp.put("物料名称", json.getString("material_name"));
mp.put("子卷号", json.getString("pcsn"));
mp.put("sap批次", json.getString("sap_pcsn"));
mp.put("净重", json.getString("net_weight"));
mp.put("单位", json.getString("qty_unit_name"));
mp.put("管件类型", json.getString("paper_type"));
mp.put("管件编码", json.getString("paper_code"));
mp.put("管件描述", json.getString("paper_name"));
mp.put("客户编码", json.getString("customer_name"));
mp.put("发货客户名称", json.getString("customer_description"));
mp.put("销售订单", json.getString("sale_order_name"));
mp.put("行号", "");
mp.put("原销售订单", json.getString("sale_order_name"));
mp.put("原行号", "");
if (ObjectUtil.isNotEmpty(json.getString("sale_order_name"))) { if (ObjectUtil.isNotEmpty(json.getString("sale_order_name"))) {
try { try {
mp.put("销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-"))); mp.put("销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-")));
mp.put("行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length())); mp.put("行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length()));
} catch (Exception e) { } catch (Exception e) {
mp.put("销售订单", json.getString("sale_order_name")); mp.put("销售订单", json.getString("sale_order_name"));
mp.put("行号", ""); mp.put("行号", "");
} }
} }
// 原销售订单 } else {
if (ObjectUtil.isEmpty(jsonSub)) { if (ObjectUtil.isNotEmpty(jsonSub.getString("sale_order_name"))) {
if (ObjectUtil.isNotEmpty(json.getString("sale_order_name"))) { try {
try { mp.put("原销售订单", jsonSub.getString("sale_order_name").substring(0, jsonSub.getString("sale_order_name").indexOf("-")));
mp.put("销售订单", json.getString("sale_order_name").substring(0, json.getString("sale_order_name").indexOf("-"))); mp.put("行号", jsonSub.getString("sale_order_name").substring(jsonSub.getString("sale_order_name").indexOf("-") + 1, jsonSub.getString("sale_order_name").length()));
mp.put("原行号", json.getString("sale_order_name").substring(json.getString("sale_order_name").indexOf("-") + 1, json.getString("sale_order_name").length())); } catch (Exception e) {
} catch (Exception e) { mp.put("原销售订单", jsonSub.getString("sale_order_name"));
mp.put("销售订单", json.getString("sale_order_name")); mp.put("行号", "");
mp.put("原行号", "");
}
}
} else {
if (ObjectUtil.isNotEmpty(jsonSub.getString("sale_order_name"))) {
try {
mp.put("原销售订单", jsonSub.getString("sale_order_name").substring(0, jsonSub.getString("sale_order_name").indexOf("-")));
mp.put("原行号", jsonSub.getString("sale_order_name").substring(jsonSub.getString("sale_order_name").indexOf("-") + 1, jsonSub.getString("sale_order_name").length()));
} catch (Exception e) {
mp.put("原销售订单", jsonSub.getString("sale_order_name"));
mp.put("原行号", "");
}
} }
} }
mp.put("业务员", json.getString("sales_owner"));
mp.put("出库日期", json.getString("input_time"));
mp.put("产品规格", String.format("%.0f", json.getDoubleValue("width")));
mp.put("产品厚度", json.getString("thickness"));
mp.put("单位面积", json.getString("mass_per_unit_area"));
mp.put("制单人", json.getString("input_optname"));
mp.put("备注", json.getString("remark"));
items.add(mp);
} }
listDeque.add(items); mp.put("业务员", json.getString("sales_owner"));
})).parallel().forEach(CompletableFuture::join); mp.put("出库日期", json.getString("input_time"));
List<Map<String, String>> list = new ArrayList<>(); mp.put("产品规格", String.format("%.0f", json.getDoubleValue("width")));
for (List<Map<String, String>> maps : listDeque) { mp.put("产品厚度", json.getString("thickness"));
list.addAll(maps); mp.put("单位面积", json.getString("mass_per_unit_area"));
mp.put("制单人", json.getString("input_optname"));
mp.put("备注", json.getString("remark"));
list.add(mp);
} }
Set<String> set = listDeque.getFirst().get(0).keySet(); Set<String> set = list.get(0).keySet();
int colIndex = 0; int colIndex = 0;
String[] col = new String[set.size()]; String[] col = new String[set.size()];
for (String s : set) { for (String s : set) {
@@ -480,5 +465,6 @@ public class OutBillQueryServiceImpl implements OutBillQueryService {
colIndex++; colIndex++;
} }
new FileUtil().downloadExcelIO(list,col,response); new FileUtil().downloadExcelIO(list,col,response);
// FileUtil.downloadExcel(list, response);
} }
} }

View File

@@ -266,8 +266,6 @@
base.cust_name, base.cust_name,
dis.sect_name, dis.sect_name,
dis.box_no, dis.box_no,
bib.material_code box_material_code,
bib.material_name box_material_name,
dis.qty_unit_name, dis.qty_unit_name,
mater.material_code, mater.material_code,
mater.material_name, mater.material_name,
@@ -319,7 +317,6 @@
a.pcsn a.pcsn
) AS c ) AS c
inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
inner JOIN bst_ivt_boxinfo bib ON dis.box_no = bib.box_no
inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id
LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code
@@ -388,8 +385,6 @@
base.cust_name, base.cust_name,
dis.sect_name, dis.sect_name,
dis.box_no, dis.box_no,
bib.material_code box_material_code,
bib.material_name box_material_name,
dis.qty_unit_name, dis.qty_unit_name,
mater.material_code, mater.material_code,
mater.material_name, mater.material_name,
@@ -441,7 +436,6 @@
a.pcsn a.pcsn
) AS c ) AS c
inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id inner JOIN st_ivt_iostorinvdis dis ON dis.iostorinvdis_id = c.iostorinvdis_id
inner JOIN bst_ivt_boxinfo bib ON dis.box_no = bib.box_no
inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id inner JOIN st_ivt_iostorinv mst ON mst.iostorinv_id = dis.iostorinv_id
inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id inner JOIN st_ivt_iostorinvdtl dtl ON dtl.iostorinvdtl_id = dis.iostorinvdtl_id
LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code LEFT JOIN md_cs_transportationbase base ON base.cust_code = mst.trans_code