From a3776853fa6ff1c4a9805615a79852d54f700e3f Mon Sep 17 00:00:00 2001
From: zyx <zyx123456>
Date: 星期六, 20 七月 2024 09:21:04 +0800
Subject: [PATCH] 增加库位明细导出功能,曾加物料、单据、库存全局搜索功能
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java | 117 ++++++++++++++++++++++++++++++++++++++++++++++++++++------
1 files changed, 105 insertions(+), 12 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
index a38d839..4718c8e 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MatController.java
@@ -1,8 +1,12 @@
package com.zy.asrs.wms.controller;
+import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.zy.asrs.common.utils.TreeUtils;
import com.zy.asrs.common.wms.entity.Mat;
+import com.zy.asrs.common.wms.entity.OrderDetl;
import com.zy.asrs.common.wms.service.MatService;
import com.zy.asrs.framework.annotations.ManagerAuth;
import com.zy.asrs.framework.common.Cools;
@@ -10,6 +14,7 @@
import com.zy.asrs.framework.domain.KeyValueVo;
import com.zy.asrs.framework.common.DateUtils;
import com.zy.asrs.common.web.BaseController;
+import com.zy.asrs.framework.exception.CoolException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@@ -20,6 +25,8 @@
@Autowired
private MatService matService;
+ @Autowired
+ private TreeUtils treeUtils;
@RequestMapping(value = "/mat/{id}/auth")
@ManagerAuth
@@ -27,28 +34,82 @@
return R.ok(matService.getById(id));
}
+ @RequestMapping(value = "/mat/auth")
+ @ManagerAuth
+ public R find(@RequestParam("matnr") String matnr) {
+ Mat one = matService.getOne(new LambdaQueryWrapper<Mat>()
+ .eq(Mat::getMatnr, matnr)
+ .eq(Mat::getHostId, getHostId()));
+ if (Cools.isEmpty(one)){
+ return R.error("鏈煡璇㈠埌鐩稿叧鐗╂枡");
+ }
+ return R.ok(one);
+ }
+
@RequestMapping(value = "/mat/page/auth")
@ManagerAuth
public R page(@RequestParam(defaultValue = "1") Integer curr,
@RequestParam(defaultValue = "10") Integer limit,
@RequestParam(required = false) String condition,
- @RequestParam(required = false) String timeRange) {
- LambdaQueryWrapper<Mat> wrapper = new LambdaQueryWrapper<>();
- if (!Cools.isEmpty(condition)) {
- wrapper.like(Mat::getId, condition);
- }
+ @RequestParam(required = false) String timeRange,
+ @RequestParam Map<String, Object> param) {
+ QueryWrapper<Mat> wrapper = new QueryWrapper<>();
+// convert(param, wrapper);
+ wrapper.eq("host_id", getHostId());
+// if (!Cools.isEmpty(condition)) {
+// wrapper.like(Mat::getId, condition);
+// }
if (!Cools.isEmpty(timeRange)) {
String[] range = timeRange.split(RANGE_TIME_LINK);
- wrapper.ge(Mat::getCreateTime, DateUtils.convert(range[0]));
- wrapper.le(Mat::getCreateTime, DateUtils.convert(range[1]));
+ wrapper.ge("create_time", DateUtils.convert(range[0]));
+ wrapper.le("create_time", DateUtils.convert(range[1]));
}
+ Object tagId = param.get("tag_id");
+ ArrayList<Long> nodes = new ArrayList<>();
+ if (Cools.isEmpty(tagId)) {
+ tagId = getOriginTag().getId();
+ }
+ treeUtils.getTagIdList(Long.parseLong(tagId.toString()), nodes);
+ wrapper.in("tag_id", nodes);
+ if (!Cools.isEmpty(param.get("matnr"))) {
+ wrapper.eq("matnr", param.get("matnr"));
+ }
+ if (!Cools.isEmpty(param.get("maktx"))) {
+ wrapper.eq("maktx", param.get("maktx"));
+ }
+ param.remove("matnr");
+ param.remove("maktx");
+ allLike(Mat.class, param.keySet(), wrapper, condition);
return R.ok(matService.page(new Page<>(curr, limit), wrapper));
}
+
+
+// private <T> void convert(Map<String, Object> map, QueryWrapper<T> wrapper){
+// for (Map.Entry<String, Object> entry : map.entrySet()){
+// String val = String.valueOf(entry.getValue());
+// if (val.contains(RANGE_TIME_LINK)){
+// String[] dates = val.split(RANGE_TIME_LINK);
+// wrapper.ge(entry.getKey(), DateUtils.convert(dates[0]));
+// wrapper.le(entry.getKey(), DateUtils.convert(dates[1]));
+// } else {
+// if (entry.getKey().equals("locNo")) {
+// wrapper.eq("loc_no", String.valueOf(entry.getValue()));
+// } else {
+// wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+// }
+// }
+// }
+// }
@RequestMapping(value = "/mat/add/auth")
@ManagerAuth
public R add(Mat mat) {
+ int count = matService.count(new LambdaQueryWrapper<Mat>().eq(Mat::getMatnr, mat.getMatnr()));
+ if(count > 0){
+ return R.error("褰撳墠鐗╂枡鍙峰凡瀛樺湪");
+ }
+ mat.setHostId(getHostId());
matService.save(mat);
return R.ok();
}
@@ -65,9 +126,15 @@
@RequestMapping(value = "/mat/delete/auth")
@ManagerAuth
- public R delete(@RequestParam(value="ids[]") Long[] ids){
- for (Long id : ids){
- matService.removeById(id);
+ public R delete(@RequestParam String param){
+ List<Mat> list = JSONArray.parseArray(param, Mat.class);
+ if (Cools.isEmpty(list)){
+ return R.error();
+ }
+ for (Mat entity : list){
+ if (!matService.remove(new LambdaQueryWrapper<>(entity))) {
+ throw new CoolException("鍒犻櫎澶辫触锛岃鑱旂郴绠$悊鍛�");
+ }
}
return R.ok();
}
@@ -77,6 +144,7 @@
public R query(String condition) {
LambdaQueryWrapper<Mat> wrapper = new LambdaQueryWrapper<>();
wrapper.like(Mat::getId, condition);
+ wrapper.eq(Mat::getHostId, getHostId());
Page<Mat> page = matService.page(new Page<>(0, 10), wrapper);
List<Map<String, Object>> result = new ArrayList<>();
for (Mat mat : page.getRecords()){
@@ -93,11 +161,36 @@
public R getDataKV(@RequestParam(required = false) String condition) {
List<KeyValueVo> vos = new ArrayList<>();
LambdaQueryWrapper<Mat> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(Mat::getHostId, getHostId());
if (!Cools.isEmpty(condition)) {
- wrapper.like(Mat::getId, condition);
+ wrapper.like(Mat::getMatnr, condition);
}
- matService.page(new Page<>(1, 30), wrapper).getRecords().forEach(item -> vos.add(new KeyValueVo(String.valueOf(item.getId()), item.getId())));
+ matService.page(new Page<>(1, 30), wrapper).getRecords().forEach(item -> vos.add(new KeyValueVo(item.getMatnr(), item.getId())));
return R.ok().add(vos);
}
+ @RequestMapping(value = "/mat/covert/{id}/auth")
+ @ManagerAuth
+ public R covert(@PathVariable("id") String id) {
+ Mat mat = matService.getOne(new LambdaQueryWrapper<Mat>().eq(Mat::getId, id).eq(Mat::getHostId, getHostId()));
+ if (mat == null) {
+ return R.ok();
+ }
+ OrderDetl orderDetl = new OrderDetl();
+ orderDetl.sync(mat);
+ orderDetl.setAnfme(0.0D);
+ return R.ok().add(orderDetl);
+ }
+
+ @RequestMapping(value = "/mat/list/pda/page/auth")
+ @ManagerAuth
+ public R pdaPageList(@RequestParam(required = true)Long tagId,
+ @RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit){
+ LambdaQueryWrapper<Mat> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(Mat::getHostId, getHostId());
+ wrapper.orderBy(true, false,Mat::getCreateTime);
+ return R.ok().add(matService.page(new Page<>(curr, limit), wrapper));
+ }
+
}
--
Gitblit v1.9.1