From 5821b61e3b4a3133f6b2ead2301be7bd5d25b143 Mon Sep 17 00:00:00 2001 From: "ZHOUZ\\Noble'lift" <1014987728@qq.com> Date: Thu, 24 Nov 2022 23:49:39 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/CheckOutBillServiceImpl.java | 79 ++++++++++++------- 1 file changed, 49 insertions(+), 30 deletions(-) diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java index 88504f844..f0fbaf271 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/outbill/service/impl/CheckOutBillServiceImpl.java @@ -1645,7 +1645,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { // 更新子卷包装关系表 状态 - 3 JSONObject jsonSub = subTab.query("container_name = '" + dis.getString("pcsn") + "' and status = '2'").uniqueResult(0); - if (ObjectUtil.isEmpty(jsonSub)) throw new BadRequestException("此子卷不存在或不为入库状态:"+dis.getString("pcsn")); + if (ObjectUtil.isEmpty(jsonSub)) throw new BadRequestException("此子卷不存在或不为入库状态:" + dis.getString("pcsn")); jsonSub.put("status", "3"); subTab.update(jsonSub); } @@ -1820,7 +1820,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { // 去除日期中的横杠、冒号、空格 String biz_date = jo_mst.getString("biz_date"); - String response = biz_date.replaceAll("[[\\s-:punct:]]",""); + String response = biz_date.replaceAll("[[\\s-:punct:]]", ""); paramMst.put("BLDAT", response); // 去掉- paramMst.put("BUDAT", response); // 去掉- @@ -1852,7 +1852,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { // 销售订单:子卷包装关系 - 前内容 jsonDtl.put("KDAUF", sale_order_name.substring(0, sale_order_name.indexOf("-"))); // 销售订单行项目:子卷包装关系 - 后内容 - jsonDtl.put("KDPOS", sale_order_name.substring(sale_order_name.indexOf("-")+1, sale_order_name.length())); + jsonDtl.put("KDPOS", sale_order_name.substring(sale_order_name.indexOf("-") + 1, sale_order_name.length())); } jsonDtl.put("CHARG", json.getString("pcsn")); @@ -1871,9 +1871,9 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { //查询该子卷对应的分切计划 //JSONArray cut_rows = WQLObject.getWQLObject("") - mes_jo.put("contain_name",disArr.getJSONObject(0).getString("pcsn")); - mes_jo.put("package_box_sn",disArr.getJSONObject(0).getString("box_no")); - mes_jo.put("warehouse","3"); + mes_jo.put("contain_name", disArr.getJSONObject(0).getString("pcsn")); + mes_jo.put("package_box_sn", disArr.getJSONObject(0).getString("box_no")); + mes_jo.put("warehouse", "3"); new LmsToMesServiceImpl().cutPlanMomRollDeliveryComplete(mes_jo); } @@ -2138,6 +2138,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { JSONObject jsonCust = custTab.query("cust_code = '" + cust_code + "'").uniqueResult(0); + int j = Integer.parseInt((String) whereJson.get("j")); //1.根据出入库主表中 收货单位 查询客户表中的模板路径 String code_template = jsonCust.getString("shd_print_no"); // 2.获取输出流 @@ -2146,13 +2147,31 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { ExcelWriter workBook = EasyExcel.write(outputStream, null).withTemplate(code_template).build(); // 4.获取第一个sheet // WriteSheet sheet = EasyExcel.writerSheet().build(); - // 5.多组填充 + // 5.单组填充 + HashMap oneMap = new HashMap<>(); + oneMap.put("vbeln", ""); + oneMap.put("consignee", jsonMst.getString("consignee")); + oneMap.put("receiver", jsonMst.getString("receiver")); + oneMap.put("receiptaddress", jsonMst.getString("receiptaddress")); + oneMap.put("receiptphone", jsonMst.getString("receiptphone")); + oneMap.put("logisticscompany", jsonMst.getString("logisticscompany")); + oneMap.put("drivername", jsonMst.getString("drivername")); + oneMap.put("carno", jsonMst.getString("carno")); + oneMap.put("driverphone", jsonMst.getString("driverphone")); + oneMap.put("contractno", jsonMst.getString("contractno")); + oneMap.put("all_box", ""); + oneMap.put("all_qty", ""); + oneMap.put("deliveryaddress", jsonMst.getString("deliveryaddress")); + oneMap.put("deliveryname", jsonMst.getString("deliveryname")); + oneMap.put("deliveryphone", jsonMst.getString("deliveryphone")); + // 6.多组填充 JSONArray dtlArr = WQL.getWO("ST_OUTIVT02").addParam("flag", "3").addParam("iostorinv_id", MapUtil.getStr(whereJson, "iostorinv_id")).process().getResultJSONArray(0); int shd_dtl_num = jsonCust.getIntValue("shd_dtl_num"); // 送货单明细数 - ArrayList> flData = new ArrayList<>(); + if (shd_dtl_num > dtlArr.size()) { + ArrayList> flData = new ArrayList<>(); WriteSheet sheet = EasyExcel.writerSheet().build(); for (int i = 0; i < dtlArr.size(); i++) { JSONObject json = dtlArr.getJSONObject(i); @@ -2166,6 +2185,7 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { mapFL.put("remark", json.getString("remark")); flData.add(mapFL); } + workBook.fill(oneMap, sheet); workBook.fill(new FillWrapper("data", flData), sheet); workBook.finish(); } else { @@ -2174,33 +2194,32 @@ public class CheckOutBillServiceImpl implements CheckOutBillService { Integer integer = Integer.valueOf(String.valueOf(NumberUtil.round(ceil, 0))); - for (int j = 0; j < integer; j++) { - HashMap mapFL = new HashMap<>(); - - for (int i = j*shd_dtl_num; i < (j+1)*shd_dtl_num; i++) { - if (i == dtlArr.size()) { - break; - } - JSONObject json = dtlArr.getJSONObject(i); - mapFL.put("index", i + 1); - mapFL.put("source_bill_code", json.getString("source_bill_code")); - mapFL.put("material_name", json.getString("material_name")); - mapFL.put("material_spec", json.getString("material_spec")); - mapFL.put("qty", json.getString("real_qty")); - mapFL.put("remark", json.getString("remark")); - flData.add(mapFL); - + HashMap mapFL = new HashMap<>(); + ArrayList> flData = new ArrayList<>(); + for (int i = j * shd_dtl_num; i < (j + 1) * shd_dtl_num; i++) { + if (i == dtlArr.size()) { + break; } - WriteSheet sheet = EasyExcel.writerSheet(j+1).build(); - workBook.fill(new FillWrapper("data", flData), sheet); - workBook.finish(); + JSONObject json = dtlArr.getJSONObject(i); + mapFL.put("index", i + 1); + mapFL.put("source_bill_code", json.getString("source_bill_code")); + mapFL.put("material_name", json.getString("material_name")); + mapFL.put("material_spec", json.getString("material_spec")); + mapFL.put("qty", json.getString("real_qty")); + mapFL.put("remark", json.getString("remark")); + flData.add(mapFL); + } + + WriteSheet sheet = EasyExcel.writerSheet(0).build(); + workBook.fill(oneMap, sheet); + workBook.fill(new FillWrapper("data", flData), sheet); + } - - + workBook.finish(); // workBook.fill(oneMap, sheet); // workBook.fill(ylData, sheet); - } + } public static void main(String[] args) { double ceil = Math.ceil(2.2);