From 055743022694b6fc1bb1864137e0c81b6ea658c5 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期四, 29 一月 2026 19:45:26 +0800
Subject: [PATCH] 盘点出库增加一个标记 可筛选可清除
---
src/main/java/com/zy/asrs/controller/LocDetlController.java | 155 ++++++++++++++++++++++++++++++++++++++-------------
1 files changed, 114 insertions(+), 41 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/LocDetlController.java b/src/main/java/com/zy/asrs/controller/LocDetlController.java
index edfb2a5..888be35 100644
--- a/src/main/java/com/zy/asrs/controller/LocDetlController.java
+++ b/src/main/java/com/zy/asrs/controller/LocDetlController.java
@@ -12,7 +12,9 @@
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.LocMast;
import com.zy.asrs.entity.LocOwner;
import com.zy.asrs.entity.Mat;
import com.zy.asrs.entity.param.AbnormalLocDetlParam;
@@ -20,6 +22,7 @@
import com.zy.asrs.entity.result.LocDetlDTO;
import com.zy.asrs.mapper.LocDetlMapper;
import com.zy.asrs.service.LocDetlService;
+import com.zy.asrs.service.LocMastService;
import com.zy.asrs.service.LocOwnerService;
import com.zy.asrs.service.MatService;
import com.zy.common.web.BaseController;
@@ -44,6 +47,9 @@
@Autowired
private LocOwnerService locOwnerService;
+
+ @Autowired
+ private LocMastService locMastService;
@RequestMapping(value = "/locDetl/update")
public R update1() {
@@ -151,13 +157,13 @@
public R stockOutList(@RequestParam(defaultValue = "1")Integer curr,
@RequestParam(defaultValue = "10")Integer limit,
@RequestParam Map<String, Object> param){
- if (!Cools.isEmpty(param.get("modi_time"))){
- String val = String.valueOf(param.get("modi_time"));
+ if (!Cools.isEmpty(param.get("appe_time"))){
+ String val = String.valueOf(param.get("appe_time"));
if (val.contains(RANGE_TIME_LINK)) {
String[] dates = val.split(RANGE_TIME_LINK);
param.put("startTime", DateUtils.convert(dates[0]));
param.put("endTime", DateUtils.convert(dates[1]));
- param.remove("modi_time");
+ param.remove("appe_time");
}
}
Page<LocDetl> stockOut = locDetlService.getStockOut(toPage(curr, limit, param, LocDetl.class));
@@ -188,19 +194,86 @@
// }
// }
excludeTrash(param);
+ // 澶勭悊 mk 瀛楁鏌ヨ锛堥渶瑕佸叧鑱� LocMast 琛級
+ Object mkParam = param.get("mk");
+ if (!Cools.isEmpty(mkParam)) {
+ String mkValue = String.valueOf(mkParam);
+ EntityWrapper<LocMast> locMastWrapper = new EntityWrapper<>();
+ if ("Y".equals(mkValue)) {
+ locMastWrapper.eq("mk", "Y");
+ } else {
+ locMastWrapper.ne("mk", "Y");
+ }
+ // 鏌ヨ绗﹀悎鏉′欢鐨勫簱浣嶅彿鍒楄〃
+ List<LocMast> locMastList = locMastService.selectList(locMastWrapper);
+ if (locMastList != null && !locMastList.isEmpty()) {
+ List<String> locNos = new ArrayList<>();
+ for (LocMast locMast : locMastList) {
+ if (!Cools.isEmpty(locMast.getLocNo())) {
+ locNos.add(locMast.getLocNo());
+ }
+ }
+ if (!locNos.isEmpty()) {
+ wrapper.in("loc_no", locNos);
+ } else {
+ // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勫簱浣嶏紝杩斿洖绌虹粨鏋�
+ wrapper.eq("1", "0");
+ }
+ } else {
+ // 濡傛灉娌℃湁绗﹀悎鏉′欢鐨勫簱浣嶏紝杩斿洖绌虹粨鏋�
+ wrapper.eq("1", "0");
+ }
+ // 绉婚櫎 mk 鍙傛暟锛岄伩鍏嶅湪 convert 鏂规硶涓噸澶嶅鐞�
+ param.remove("mk");
+ }
convert(param, wrapper);
- allLike(LocDetl.class, param.keySet(), wrapper, condition);
+ // 鍦� allLike 涓帓闄� mk 瀛楁锛屽洜涓� mk 瀛楁鍦� LocMast 琛ㄤ腑
+ Set<String> excludeFields = new HashSet<>(param.keySet());
+ excludeFields.add("mk"); // 纭繚 mk 瀛楁琚帓闄�
+ allLike(LocDetl.class, excludeFields, wrapper, condition);
if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));}
// if (!row.equals("")){
// wrapper.and()
// .where("loc_no like '" +row +"%'");
// }
- return R.ok(locDetlService.selectPage(new Page<>(curr, limit), wrapper));
+ Page<LocDetl> page = locDetlService.selectPage(new Page<>(curr, limit), wrapper);
+ // 濉厖 mk 瀛楁锛堟槸鍚︾洏鐐圭姸鎬侊級
+ if (page != null && page.getRecords() != null && !page.getRecords().isEmpty()) {
+ // 鏀堕泦鎵�鏈夊簱浣嶅彿
+ Set<String> locNos = new HashSet<>();
+ for (LocDetl locDetl : page.getRecords()) {
+ if (!Cools.isEmpty(locDetl.getLocNo())) {
+ locNos.add(locDetl.getLocNo());
+ }
+ }
+ // 鎵归噺鏌ヨ搴撲綅淇℃伅
+ if (!locNos.isEmpty()) {
+ Map<String, String> locMkMap = new HashMap<>();
+ for (String locNo : locNos) {
+ com.zy.asrs.entity.LocMast locMast = locMastService.selectById(locNo);
+ if (locMast != null) {
+ locMkMap.put(locNo, locMast.getMk());
+ }
+ }
+ // 濉厖 mk 瀛楁
+ for (LocDetl locDetl : page.getRecords()) {
+ if (!Cools.isEmpty(locDetl.getLocNo())) {
+ locDetl.setMk(locMkMap.get(locDetl.getLocNo()));
+ }
+ }
+ }
+ }
+ return R.ok(page);
}
private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper){
for (Map.Entry<String, Object> entry : map.entrySet()){
+ String key = entry.getKey();
+ // 鎺掗櫎 mk 瀛楁锛屽洜涓� mk 瀛楁鍦� LocMast 琛ㄤ腑锛屼笉鍦� LocDetl 琛ㄤ腑
+ if ("mk".equals(key)) {
+ continue;
+ }
String val = String.valueOf(entry.getValue());
if (val.contains(RANGE_TIME_LINK)){
String[] dates = val.split(RANGE_TIME_LINK);
@@ -252,6 +325,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){
@@ -275,41 +368,7 @@
.where("loc_no like '" + row + "%'");
}
List<LocDetl> list = locDetlService.selectList(wrapper);
- List<AbnormalLocDetlParam> result = new ArrayList<>();
-
- Page<LocDetl> groupLocDetl = locDetlService.getStockStatis2(toPage(1, 10000, param, LocDetl.class));
- for (LocDetl locDetl : groupLocDetl.getRecords()) {
- AbnormalLocDetlParam abnormalLocDetlParam = new AbnormalLocDetlParam();
- Mat mat = matService.selectOne(new EntityWrapper<Mat>()
- .eq("matnr", locDetl.getMatnr()));
- if (Cools.isEmpty(mat)) {
- continue;
- }
- if (!Cools.isEmpty(mat .getStoreMax()) || !Cools.isEmpty(mat.getStoreMin())) {
- abnormalLocDetlParam.setStoreMax(mat.getStoreMax());
- abnormalLocDetlParam.setStoreMaxDate(mat.getStoreMaxDate());
- abnormalLocDetlParam.setStoreMin(mat.getStoreMin());
- abnormalLocDetlParam.setAnfme(locDetl.getAnfme());
- abnormalLocDetlParam.setMaktx(mat.getMaktx());
- abnormalLocDetlParam.setMatnr(mat.getMatnr());
- abnormalLocDetlParam.setSpecs(mat.getSpecs());
- abnormalLocDetlParam.setBatch(locDetl.getBatch());
-
-// SimpleDateFormat simple = new SimpleDateFormat("yyyyMMdd");
-// Date maxDate = simple.parse(locDetl.getBatch());
-// long time = maxDate.getTime();
-// Date now = new Date();
-// long time1 = now.getTime();
-// abnormalLocDetlParam.setNowTime((int) ((time1 - time) / (1000 * 60 * 60 * 24)));
-
- if (!Cools.isEmpty(mat.getStoreMax()) && locDetl.getAnfme() > mat.getStoreMax()) {
- result.add(abnormalLocDetlParam);
- } else if (!Cools.isEmpty(mat.getStoreMin()) && locDetl.getAnfme() < mat.getStoreMin()) {
- result.add(abnormalLocDetlParam);
- }
- }
- }
- return R.ok(exportSupport(result, fields));
+ return R.ok(exportSupport(list, fields));
}
@RequestMapping(value = "/locDetl/selectOwner/list/auth")
@@ -364,7 +423,7 @@
public R query(String condition) {
EntityWrapper<LocDetl> wrapper = new EntityWrapper<>();
wrapper.like("matnr", condition);
- Page<LocDetl> page = locDetlService.selectPage(new Page<>(0, 10), wrapper);
+ Page<LocDetl> page = locDetlService.selectPage(new Page<>(0, 10000), wrapper);
List<Map<String, Object>> result = new ArrayList<>();
for (LocDetl locDetl : page.getRecords()){
Map<String, Object> map = new HashMap<>();
@@ -392,9 +451,13 @@
@RequestParam Map<String, Object> param) {
Page<LocDetl> stockStatis = locDetlService.getStockStatis(toPage(curr, limit, param, LocDetl.class));
for (LocDetl locDetl : stockStatis.getRecords()) {
+ Double weight = locDetl.getWeight();
+ String standby1 = locDetl.getStandby1();
Mat mat = matService.selectByMatnr(locDetl.getMatnr());
if (mat != null) {
locDetl.sync(mat);
+ locDetl.setStandby1(standby1);
+ locDetl.setWeight(weight);
}
}
return R.ok().add(stockStatis);
@@ -433,4 +496,14 @@
return R.ok(sum);
}
+ /**
+ * 鑾峰彇搴撳瓨鎬绘暟
+ * @return
+ */
+ @RequestMapping("/locDetl/count2")
+ public R getAllCount2(){
+ Integer sum = locDetlService.sum2();
+ return R.ok(sum);
+ }
+
}
--
Gitblit v1.9.1