diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/ext/lk/wql/QLK01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/ext/lk/wql/QLK01.wql index de6978cc..dfe7acc1 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/ext/lk/wql/QLK01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/ext/lk/wql/QLK01.wql @@ -181,4 +181,44 @@ ENDSELECT ENDPAGEQUERY - ENDIF \ No newline at end of file + ENDIF + + IF 输入.flag = "5" + QUERY + SELECT + SUM (ISNULL(weight,0)) AS weight, + pallet_code, + material_code, + material_name, + pcsn, + status, + available, + MAX(inputtime) AS inputtime + FROM + VWmsInventory + WHERE + 1=1 + OPTION 输入.material_code <> "" + (material_code like 输入.material_code or + material_uuid like 输入.material_code) + ENDOPTION + OPTION 输入.pcsn <> "" + pcsn like 输入.pcsn + ENDOPTION + OPTION 输入.begin_time <> "" + inputtime >= 输入.begin_time + ENDOPTION + OPTION 输入.end_time <> "" + inputtime <= 输入.end_time + ENDOPTION + OPTION 输入.status <> "" + status = 输入.status + ENDOPTION + OPTION 输入.available <> "" + available = 输入.available + ENDOPTION + group by material_code,material_name,available,pcsn,status,pallet_code + order by material_code,pcsn + ENDSELECT + ENDQUERY + ENDIF diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/rest/LibraryqueryController.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/rest/LibraryqueryController.java index a9c5e620..e0500d25 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/rest/LibraryqueryController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/rest/LibraryqueryController.java @@ -13,6 +13,9 @@ 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; /** @@ -51,7 +54,11 @@ public class LibraryqueryController { libraryqueryService.outLk(json); return new ResponseEntity<>(HttpStatus.OK); } - + @ApiOperation("导出数据") + @GetMapping(value = "/download") + public void download(HttpServletResponse response, @RequestParam Map whereJson) throws IOException { + libraryqueryService.download(whereJson, response); + } @GetMapping("/getPoint") @Log("获取站点") @ApiOperation("获取站点") diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/LibraryqueryService.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/LibraryqueryService.java index bc8ed04c..b28e454f 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/LibraryqueryService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/LibraryqueryService.java @@ -4,6 +4,9 @@ package org.nl.wms.lk.service; 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; /** @@ -27,6 +30,14 @@ public interface LibraryqueryService { */ void outLk(JSONObject json); + /** + * + * @param whereJson + * @param response + * @throws IOException + */ + void download(Map whereJson, HttpServletResponse response) throws IOException; + /** * 获取站点 */ diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/impl/LibraryqueryServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/impl/LibraryqueryServiceImpl.java index c963c207..37b4aa75 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/impl/LibraryqueryServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/lk/service/impl/LibraryqueryServiceImpl.java @@ -2,15 +2,18 @@ package org.nl.wms.lk.service.impl; +import cn.hutool.core.date.DateUnit; import cn.hutool.core.date.DateUtil; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.StrUtil; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import org.nl.exception.BadRequestException; import org.nl.ext.lk.service.WmsToLkService; +import org.nl.utils.FileUtil; import org.nl.wms.lk.service.LibraryqueryService; import org.nl.wql.WQL; import org.nl.wql.core.bean.WQLObject; @@ -19,6 +22,8 @@ import org.springframework.data.domain.Pageable; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; import java.util.*; /** @@ -114,4 +119,54 @@ public class LibraryqueryServiceImpl implements LibraryqueryService { JSONObject json = WQL.getWO("QLK01").setDbname("dataSource2").addParamMap(map).pageQuery(WqlUtil.getHttpContext(page), ""); return json; } + + @Override + public void download(Map whereJson, HttpServletResponse response) throws IOException { + + String material_code = MapUtil.getStr(whereJson, "material_code"); + String pcsn = MapUtil.getStr(whereJson, "pcsn"); + HashMap map = new HashMap<>(); + map.put("flag", "5"); + if (ObjectUtil.isNotEmpty(material_code)) { + map.put("material_code","%"+material_code+"%" ); + } + if (ObjectUtil.isNotEmpty(pcsn)) { + map.put("pcsn","%"+pcsn+"%" ); + } + map.put("begin_time", MapUtil.getStr(whereJson,"begin_time")); + map.put("end_time", MapUtil.getStr(whereJson,"end_time")); + map.put("status", MapUtil.getStr(whereJson,"status")); + map.put("available", MapUtil.getStr(whereJson,"available")); + + JSONArray rows = WQL.getWO("QLK01").setDbname("dataSource2").addParamMap(map).process().getResultJSONArray(0); + List> list = new ArrayList<>(); + for (int i = 0; i < rows.size(); i++) { + JSONObject jo = rows.getJSONObject(i); + Map dtl_map = new LinkedHashMap<>(); + dtl_map.put("托盘", jo.getString("pallet_code")); + dtl_map.put("物料编码", jo.getString("material_code")); + dtl_map.put("物料名称", jo.getString("material_name")); + dtl_map.put("批号", jo.getString("pcsn")); + dtl_map.put("重量", jo.getString("weight")); + String status = jo.getString("status"); + if(status.equals("00")){ + dtl_map.put("品质类型", "待检品"); + }else if(status.equals("01")){ + dtl_map.put("品质类型", "合格品"); + }else if(status.equals("02")){ + dtl_map.put("品质类型", "不良品"); + }else{ + dtl_map.put("品质类型", "其他"); + } + + if(jo.getString("available").equals("1")){ + dtl_map.put("是否可用", "可用"); + }else{ + dtl_map.put("是否可用", "不可用"); + } + dtl_map.put("入库时间", jo.getString("inputtime")); + list.add(dtl_map); + } + FileUtil.downloadExcel(list, response); + } } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_AUTOFORMULA01.wql b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_AUTOFORMULA01.wql index 78f7cf28..931abd1a 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_AUTOFORMULA01.wql +++ b/mes/hd/nladmin-system/src/main/java/org/nl/wms/pf/wql/QPF_AUTOFORMULA01.wql @@ -349,7 +349,7 @@ OPTION 输入.set_type <> "" ProductMaterialSet.set_type = 输入.set_type ENDOPTION - order by classstandard.class_code asc,ProductMaterialSet.set_material_id + order by classstandard.class_code,materialbase.material_code ENDSELECT ENDQUERY ENDIF diff --git a/mes/qd/src/views/wms/lk/libraryquery/index.vue b/mes/qd/src/views/wms/lk/libraryquery/index.vue index 80b03be2..21483bfd 100644 --- a/mes/qd/src/views/wms/lk/libraryquery/index.vue +++ b/mes/qd/src/views/wms/lk/libraryquery/index.vue @@ -92,11 +92,21 @@ > 立库出库 + + 导出excel + - + @@ -125,6 +135,8 @@ import udOperation from '@crud/UD.operation' import pagination from '@crud/Pagination' import DateRangePicker from '@/components/DateRangePicker' import QueryDtlDialog from '@/views/wms/lk/libraryquery/QueryDtlDialog' +import { download } from '@/api/data' +import { downloadFile } from '@/utils' const defaultForm = { agvaddr: null } export default { @@ -181,6 +193,15 @@ export default { this.crud.toQuery() }) }, + downdtl() { + crud.downloadLoading = true + download('/api/libraryquery/download', this.crud.query).then(result => { + downloadFile(result, '立库库存', 'xlsx') + crud.downloadLoading = false + }).catch(() => { + crud.downloadLoading = false + }) + }, queryDtl(row) { this.openParam = row this.queryDtlShow = true