diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/rest/InAndOutReturnlController.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/rest/InAndOutReturnlController.java index 9d89f46b9..4616ffa2c 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/rest/InAndOutReturnlController.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/rest/InAndOutReturnlController.java @@ -1,17 +1,22 @@ package org.nl.wms.st.returns.rest; +import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.logging.annotation.Log; +import org.nl.modules.wql.util.SpringContextHolder; +import org.nl.wms.st.outbill.service.impl.CheckOutBillServiceImpl; import org.nl.wms.st.returns.service.InAndOutReturnService; import org.springframework.data.domain.Pageable; import org.springframework.http.HttpStatus; import org.springframework.http.ResponseEntity; import org.springframework.web.bind.annotation.*; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Map; @RestController @@ -62,4 +67,11 @@ public class InAndOutReturnlController { return new ResponseEntity<>(HttpStatus.OK); } + @ApiOperation("导出数据") + @GetMapping(value = "/download") + public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { + JSONArray outBillDis = SpringContextHolder.getBean(CheckOutBillServiceImpl.class).getOutBillDis(whereJson); + inAndOutReturnService.download(outBillDis, response); + } + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java index 11f601249..c6b8aca73 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/InAndOutReturnService.java @@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.springframework.data.domain.Pageable; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.Map; public interface InAndOutReturnService { @@ -24,4 +26,6 @@ public interface InAndOutReturnService { void disupload(JSONObject whereJson); + void download(JSONArray arr, HttpServletResponse response) throws IOException; + } diff --git a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java index 75d6cd3f3..ba59221f9 100644 --- a/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java +++ b/lms/nladmin-system/src/main/java/org/nl/wms/st/returns/service/impl/InAndOutRetrunServiceImpl.java @@ -10,6 +10,7 @@ import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.nl.modules.common.exception.BadRequestException; import org.nl.common.utils.SecurityUtils; +import org.nl.modules.common.utils.FileUtil; import org.nl.system.service.param.impl.SysParamServiceImpl; import org.nl.system.service.user.ISysUserService; import org.nl.system.service.user.dao.SysUser; @@ -32,9 +33,9 @@ import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.support.TransactionCallbackWithoutResult; import org.springframework.transaction.support.TransactionTemplate; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.Map; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.util.*; /** * PC端出入库新增 @@ -675,6 +676,40 @@ public class InAndOutRetrunServiceImpl implements InAndOutReturnService { } } + @Override + public void download(JSONArray array, HttpServletResponse response) throws IOException { + + List> list = new ArrayList<>(); + + for (int i = 0; i < array.size(); i++) { + JSONObject json = array.getJSONObject(i); + + Map map = new LinkedHashMap<>(); + + map.put("物料编码", json.getString("material_code")); + map.put("物料名称", json.getString("material_name")); + map.put("子卷批次号", json.getString("pcsn")); + map.put("sap批次", json.getString("sap_pcsn")); + map.put("箱号", json.getString("box_no")); + map.put("重量", json.getString("real_qty")); + map.put("仓位", json.getString("struct_code")); + + String statusName = ""; + if (StrUtil.equals(json.getString("work_status"), "00")) { + statusName = "未生成"; + } else if (StrUtil.equals(json.getString("work_status"), "01")) { + statusName = "生成"; + } else if (StrUtil.equals(json.getString("work_status"), "02")) { + statusName = "执行中"; + } else if (StrUtil.equals(json.getString("work_status"), "99")) { + statusName = "完成"; + } + map.put("状态", statusName); + list.add(map); + } + FileUtil.downloadExcel(list, response); + } + @Override public void upload(JSONObject whereJson) { //出库分配表 diff --git a/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue b/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue index 83601b058..b276655e3 100644 --- a/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue +++ b/lms/nladmin-ui/src/views/wms/st/inAndOutReturn/index.vue @@ -208,6 +208,18 @@ > 不回传 + + 导出 + { + downloadFile(result, '出入库单据明细', 'xlsx') + crud.downloadLoading = false + }).catch(() => { + crud.downloadLoading = false + }) + } } } }