From c82f9100d3586218e9e41497c2cea73a2cac44fe Mon Sep 17 00:00:00 2001
From: lty <876263681@qq.com>
Date: 星期一, 20 四月 2026 15:03:32 +0800
Subject: [PATCH] #库存上下限预警导出修复
---
src/main/java/com/zy/asrs/controller/LocDetlController.java | 169 +++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 160 insertions(+), 9 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index 6eba1f6..a4739e8 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -12,12 +12,16 @@
import com.core.common.Cools;
import com.core.common.DateUtils;
import com.core.common.R;
+import com.zy.asrs.entity.FrozenParam;
import com.zy.asrs.entity.LocDetl;
-import com.zy.asrs.entity.ManLocDetl;
+import com.zy.asrs.entity.LocOwner;
import com.zy.asrs.entity.Mat;
+import com.zy.asrs.entity.param.AbnormalLocDetlParam;
+import com.zy.asrs.entity.result.LocDetlAll;
+import com.zy.asrs.entity.result.LocDetlDTO;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
-import com.zy.asrs.service.ManLocDetlService;
+import com.zy.asrs.service.LocOwnerService;
import com.zy.asrs.service.MatService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -39,12 +43,66 @@
@Autowired
private MatService matService;
+ @Autowired
+ private LocOwnerService locOwnerService;
+
@RequestMapping(value = "/locDetl/update")
public R update1() {
if (!locDetlService.updateLocNo("0402805", "0402804")) {
return R.error();
}
return R.ok();
+ }
+
+ @RequestMapping(value = "/locDetl/groupLocList/auth")
+ @ManagerAuth
+ public R groupLocList(@RequestParam(defaultValue = "1") Integer curr,
+ @RequestParam(defaultValue = "10") Integer limit,
+ @RequestParam(required = false) String orderByField,
+ @RequestParam(required = false) String orderByType,
+ @RequestParam(required = false) String condition,
+ @RequestParam Map<String, Object> param) {
+ Map<String, Object> queryParam = new HashMap<>();
+ putIfPresent(queryParam, "matnr", param.get("matnr"));
+ putIfPresent(queryParam, "maktx", param.get("maktx"));
+ putIfPresent(queryParam, "specs", param.get("specs"));
+ putIfPresent(queryParam, "warnStatus", param.get("warnStatus"));
+ queryParam.put("pageNumber", curr);
+ queryParam.put("pageSize", limit);
+
+ Page<AbnormalLocDetlParam> locDetlPage = new Page<>();
+ locDetlPage.setRecords(locDetlMapper.groupLocList(queryParam));
+ locDetlPage.setTotal(locDetlMapper.groupLocListCount(queryParam));
+ locDetlPage.setCurrent(curr);
+ locDetlPage.setSize(limit);
+ return R.ok(locDetlPage);
+ }
+
+ @RequestMapping(value = "/locDetl/groupLocExport/auth")
+ @ManagerAuth(memo = "搴撲綅姹囨�诲鍑�")
+ public R groupLocExport(@RequestBody JSONObject param) {
+ List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class);
+ Map<String, Object> map = excludeTrash(param.getJSONObject("locDetl"));
+ Map<String, Object> queryParam = new HashMap<>();
+ putIfPresent(queryParam, "matnr", map.get("matnr"));
+ putIfPresent(queryParam, "maktx", map.get("maktx"));
+ putIfPresent(queryParam, "specs", map.get("specs"));
+ putIfPresent(queryParam, "warnStatus", map.get("warnStatus"));
+ int total = Optional.ofNullable(locDetlMapper.groupLocListCount(queryParam)).orElse(0);
+ if (total <= 0) {
+ return R.ok(new ArrayList<>());
+ }
+ queryParam.put("pageNumber", 1);
+ queryParam.put("pageSize", total);
+ List<AbnormalLocDetlParam> list = locDetlMapper.groupLocList(queryParam);
+ return R.ok(exportSupport(list, fields));
+ }
+
+ private void putIfPresent(Map<String, Object> target, String key, Object value) {
+ String normalized = normalizeFilterText(value);
+ if (normalized != null) {
+ target.put(key, normalized);
+ }
}
@RequestMapping(value = "/locDetl/{id}/auth")
@@ -111,6 +169,7 @@
// }
// }
excludeTrash(param);
+ applyBeBatchFilter(param, wrapper);
convert(param, wrapper);
allLike(LocDetl.class, param.keySet(), wrapper, condition);
if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
@@ -125,18 +184,42 @@
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
String val = String.valueOf(entry.getValue());
+ String key = humpToLine(entry.getKey());
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]));
+ wrapper.ge(key, DateUtils.convert(dates[0]));
+ wrapper.le(key, DateUtils.convert(dates[1]));
} else {
- if (entry.getKey().equals("locNo")) {
+ if ("loc_no".equals(key)) {
wrapper.eq("loc_no", String.valueOf(entry.getValue()));
} else {
- wrapper.like(entry.getKey(), String.valueOf(entry.getValue()));
+ wrapper.like(key, String.valueOf(entry.getValue()));
}
}
}
+ }
+
+ private <T> void applyBeBatchFilter(Map<String, Object> map, EntityWrapper<T> wrapper) {
+ Object beBatchObj = map.remove("beBatch");
+ if (beBatchObj == null) {
+ beBatchObj = map.remove("be_batch");
+ }
+ if (beBatchObj == null) {
+ return;
+ }
+ String beBatch = String.valueOf(beBatchObj).trim();
+ if (Cools.isEmpty(beBatch)) {
+ return;
+ }
+ if ("1".equals(beBatch)) {
+ wrapper.eq("be_batch", 1);
+ return;
+ }
+ if ("0".equals(beBatch)) {
+ wrapper.andNew().isNull("be_batch").or().eq("be_batch", 0);
+ return;
+ }
+ wrapper.eq("be_batch", beBatch);
}
@RequestMapping(value = "/locDetl/add/auth")
@@ -175,6 +258,26 @@
return R.ok();
}
+ @PostMapping(value = "/locDetl/frozenInventory")
+ @ManagerAuth(memo = "搴撳瓨鍐荤粨")
+ public R frozen(@RequestBody List<FrozenParam> param){
+ if (param.size() == 0) {
+ return R.parse("鏈敹鍒版暟鎹�");
+ }
+
+ return locDetlService.frozenInventory(param);
+ }
+
+ @PostMapping(value = "/locDetl/unfreezeInventory")
+ @ManagerAuth(memo = "搴撳瓨瑙e喕")
+ public R unfreeze(@RequestBody List<FrozenParam> param){
+ if (param.size() == 0) {
+ return R.parse("鏈敹鍒版暟鎹�");
+ }
+
+ return locDetlService.unfreezeInventory(param);
+ }
+
@RequestMapping(value = "/locDetl/export/auth")
@ManagerAuth(memo = "搴撲綅鏄庣粏瀵煎嚭")
public R export(@RequestBody JSONObject param){
@@ -187,20 +290,68 @@
if (chooseRow.length() == 1) {
row = "0" + chooseRow;
map.remove("row");
- }else {
+ } else {
row = chooseRow;
map.remove("row");
}
}
+ applyBeBatchFilter(map, wrapper);
convert(map, wrapper);
- if (!row.equals("")){
+ if (!row.equals("")) {
wrapper.and()
- .where("loc_no like '" +row +"%'");
+ .where("loc_no like {0}", row + "%");
}
List<LocDetl> list = locDetlService.selectList(wrapper);
return R.ok(exportSupport(list, fields));
}
+ @RequestMapping(value = "/locDetl/selectOwner/list/auth")
+ @ManagerAuth
+ public R selectOwnerlist(@RequestParam(defaultValue = "1")Integer curr,
+ @RequestParam(defaultValue = "10")Integer limit,
+ @RequestParam(required = false)String orderByField,
+ @RequestParam(required = false)String orderByType,
+ @RequestParam Map<String, Object> param){
+ Integer owner = null;
+ if (param.get("owner$") != null && param.get("owner$") != ""){
+ LocOwner locOwner = locOwnerService.selectOne(new EntityWrapper<LocOwner>().like("owner", (String) param.get("owner$")));
+ if(locOwner == null){
+ return R.error("鍙傛暟鏈夎锛�");
+ }
+ param.remove("owner$");
+ owner = locOwner.getId();
+ }
+
+ LocDetlDTO locDetlDTO = new LocDetlDTO();
+ locDetlDTO.setPageSize(limit);
+ locDetlDTO.setPageNumber(curr);
+ String locNo = String.valueOf(param.get("locNo"));
+ String matnr = String.valueOf(param.get("matnr"));
+ if (!Cools.isEmpty(locNo) && !locNo.equals("null")) {
+ locDetlDTO.setLocNo(locNo);
+ }
+ if (!Cools.isEmpty(matnr) && !matnr.equals("null")) {
+ locDetlDTO.setMatnr(matnr);
+ }
+ if (!Cools.isEmpty(owner) && !owner.equals("null")) {
+ locDetlDTO.setOwner(owner);
+ }
+ List<LocDetlAll> list = locDetlService.selectAllOwner(locDetlDTO);
+ int count = locDetlService.selectAllCount(locDetlDTO);
+ Page<LocDetlAll> page = new Page<>();
+ page.setRecords(list);
+ page.setTotal(count);
+ if (list.size()==0){
+ locDetlDTO.setPageNumber(1);
+ list = locDetlService.selectAllOwner(locDetlDTO);
+ count = locDetlService.selectAllCount(locDetlDTO);
+ page = new Page<>();
+ page.setRecords(list);
+ page.setTotal(count);
+ }
+ return R.ok(page);
+ }
+
@RequestMapping(value = "/locDetlQuery/auth")
@ManagerAuth
public R query(String condition) {
--
Gitblit v1.9.1