From a1dd6ff24f7cae0b529ad313ba07351c07965605 Mon Sep 17 00:00:00 2001
From: pang.jiabao <pang_jiabao@163.com>
Date: 星期一, 03 十一月 2025 13:04:09 +0800
Subject: [PATCH] 管控线边仓库存
---
src/main/java/com/zy/asrs/controller/MobileController.java | 309 ++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 245 insertions(+), 64 deletions(-)
diff --git a/src/main/java/com/zy/asrs/controller/MobileController.java b/src/main/java/com/zy/asrs/controller/MobileController.java
index af7f3fb..3dd3986 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -9,11 +9,12 @@
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
+import com.zy.asrs.entity.param.GDYKConfirmGoodsParam;
import com.zy.asrs.entity.param.MobileAdjustParam;
+import com.zy.asrs.entity.param.OffSaleParam;
import com.zy.asrs.entity.result.MobileAdjustResult;
+import com.zy.asrs.mapper.ManLocDetlMapper;
import com.zy.asrs.service.*;
-import com.zy.common.model.LocDto;
-import com.zy.common.model.TaskDto;
import com.zy.common.model.WrkDto;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
@@ -21,6 +22,7 @@
import org.springframework.web.bind.annotation.*;
import java.util.*;
+import java.util.stream.Collectors;
/**
* 绉诲姩绔帴鍙f帶鍒跺櫒
@@ -51,7 +53,151 @@
@Autowired
private PackService packService;
@Autowired
- private WorkService workService;
+ private ManLocDetlMapper manLocDetlMapper;
+ @Autowired
+ private WrkDetlLogService wrkDetlLogService;
+
+ @PostMapping("/pda/OutOrder")
+ @ManagerAuth(memo = "鑾峰緱鍑哄簱鍗�",value = ManagerAuth.Auth.NONE)
+ @Transactional
+ public R OutOrder(@RequestParam String orderNo) {
+ List<Order> orders=new ArrayList<Order>();
+ List<Order> OrderList=new ArrayList<Order>();
+ if(Cools.isEmpty(orderNo)){
+ orders= orderService.selectList(new EntityWrapper<Order>()
+ .in("settle",1,2)
+ );
+ }else{
+ orders= orderService.selectList(new EntityWrapper<Order>()
+ .like("order_no",orderNo)
+ .in("settle",1,2)
+ );
+ }
+ if(Cools.isEmpty(orders)){
+ return R.parse("鏃犳暟鎹�");
+ }
+ for (Order o:orders
+ ) {
+ DocType docType=docTypeService.selectOne(new EntityWrapper<DocType>()
+ .eq("doc_id",o.getDocType()));
+ if(docType.getPakout()==1){
+ OrderList.add(o);
+ }
+ }
+
+
+ return R.ok(OrderList);
+ }
+
+ @PostMapping("/pda/OutLocNo")
+ @ManagerAuth(memo = "鑾峰緱骞冲簱鍑哄簱鐨勫搴斿簱浣嶅彿",value = ManagerAuth.Auth.NONE)
+ @Transactional
+ public R OutLocNo(@RequestParam Long orderId) {
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+ .eq("order_id", orderId)
+ );
+ if (Cools.isEmpty(orderDetls)) {
+ return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ List<String> list = new ArrayList<>();
+ for (OrderDetl o : orderDetls
+ ) {
+ if (o.getAnfme() <= o.getWorkQty()) {
+ continue;
+ } else {
+ //鏌ョ湅搴撲綅鏄庣粏涓湁鐨勭墿鏂�
+ List<ManLocDetl> locDetls = manLocDetlMapper.selectList(new EntityWrapper<ManLocDetl>()
+ .eq("matnr", o.getMatnr()).orderBy("modi_time",false)
+ );
+ if (Cools.isEmpty(locDetls)) {
+ continue;
+ } else {
+ for (ManLocDetl l : locDetls
+ ) {
+// String s = l.getLocNo().substring(0, 2);
+// if (Integer.parseInt(s) > 8) {
+ list.add(l.getLocNo());
+// }
+ }
+ }
+ }
+ }
+ List<String> myList = list.stream().distinct().collect(Collectors.toList());
+ return R.ok(myList);
+ }
+
+ @PostMapping("/pda/OrderDetlContrastLocDetl")
+ @ManagerAuth(memo = "鑾峰緱璁㈠崟鏄庣粏瀵瑰簲鐨勫簱瀛樻槑缁�",value = ManagerAuth.Auth.NONE)
+ @Transactional
+ public R OrderDetlContrastLocDetl(@RequestParam Long orderId, @RequestParam String locNo) {
+ List<ManLocDetl> locDetlList = new ArrayList<ManLocDetl>();
+ List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>()
+ .eq("order_id", orderId)
+ );
+ if (Cools.isEmpty(orderDetls)) {
+ return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ List<ManLocDetl> locDetls = manLocDetlMapper.selectList(new EntityWrapper<ManLocDetl>()
+ .eq("loc_no", locNo));
+ if (Cools.isEmpty(locDetls)) {
+ return R.error("搴撲綅涓虹┖");
+ }
+ for (OrderDetl o : orderDetls
+ ) {
+ if(o.getAnfme().equals(o.getQty())){
+ continue;
+ }
+ for (ManLocDetl l : locDetls
+ ) {
+ if (o.getMatnr().equals(l.getMatnr())) {
+ if (o.getAnfme() - o.getWorkQty() >= l.getAnfme()) {
+
+ } else {
+ l.setAnfme(o.getAnfme() - o.getWorkQty());
+ }
+ locDetlList.add(l);
+ break;
+ }
+ }
+ }
+ return R.ok(locDetlList);
+ }
+
+ /**
+ * 骞冲韩涓嬫灦
+ */
+ @RequestMapping("/pda/WarehouseOut")
+ @ManagerAuth
+ public R WarehouseOut(@RequestBody CombParam combParam) {
+ return mobileService.WarehouseOut(combParam, getUserId());
+ }
+
+ /**
+ * 骞冲韩涓婃灦
+ */
+ @RequestMapping("/pda/WarehouseIn")
+ @ManagerAuth
+ public R WarehouseIn(@RequestParam String locNo, @RequestParam String barcode) {
+ return mobileService.WarehouseIn(locNo, barcode, getUserId());
+ }
+
+ // 鍟嗗搧涓婃灦
+ @RequestMapping("/mat/onSale/auth")
+ @ManagerAuth
+ public R matOnSale(@RequestBody CombParam combParam){
+ mobileService.onSale(combParam, getUserId());
+ return R.ok("涓婃灦鎴愬姛");
+ }
+
+ // 鍟嗗搧涓嬫灦
+ @RequestMapping("/mat/offSale/auth")
+ //@ManagerAuth
+ public R matOffSale(@RequestBody OffSaleParam offSaleParam){
+ mobileService.offSale(offSaleParam, getUserId());
+ return R.ok("涓嬫灦鎴愬姛");
+ }
+
+
// 缁勬墭 ----------------------------------------------------------------------------------------------------
@@ -59,25 +205,69 @@
* 鏍规嵁鍗曞彿妫�绱㈠崟鎹暟鎹�
* http://localhost:8081/jkwms/mobile/order/serach/orderNo/auth?orderNo=123123
*/
+// @RequestMapping("/order/search/orderNo/auth")
+// @ManagerAuth
+// public R orderSearchByBarcode(@RequestParam String orderNo){
+// Order order = orderService.selectByNo(orderNo);
+// if (order == null) {
+// return R.ok();
+// }
+// DocType docType = docTypeService.selectById(order.getDocType());
+// if (docType.getPakin() == null || docType.getPakin() != 1) {
+// return R.ok();
+// }
+// if (order.getSettle() > 2) {
+// return R.ok();
+// }
+// List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
+// if (Cools.isEmpty(orderDetls)) {
+// return R.ok();
+// }
+// return R.ok().add(orderDetls);
+// }
@RequestMapping("/order/search/orderNo/auth")
@ManagerAuth
public R orderSearchByBarcode(@RequestParam String orderNo){
- Order order = orderService.selectByNo(orderNo);
- if (order == null) {
+ if (Cools.isEmpty(orderNo)){
+ orderNo=null;
+ }
+ List<Order> orders = orderService.selectorderNoL(orderNo);
+ if (Cools.isEmpty(orders)){
return R.ok();
}
- DocType docType = docTypeService.selectById(order.getDocType());
- if (docType.getPakin() == null || docType.getPakin() != 1) {
- return R.ok();
+ LinkedList<CombParam> combParams = new LinkedList<>();
+ if (!Cools.isEmpty(orders)){
+ for (Order order:orders){
+ CombParam combParam=new CombParam();
+ if (order == null) {
+ continue;
+ }
+ DocType docType = docTypeService.selectById(order.getDocType());
+ if (docType.getPakin() == null || docType.getPakin() != 1) {
+ continue;
+ }
+ if (order.getSettle() > 2) {
+ continue;
+ }
+ List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
+ if (!Cools.isEmpty(orderDetls)) {
+ LinkedList<CombParam.CombMat> combMats = new LinkedList<>();
+ for (OrderDetl orderDetl:orderDetls){
+ CombParam.CombMat combMat = new CombParam.CombMat();
+ combMat.setMatnr(orderDetl.getMatnr());
+ combMat.setBatch(orderDetl.getBatch());
+ combMat.setAnfme(orderDetl.getAnfme()-orderDetl.getWorkQty());
+ combMat.setMaktx(orderDetl.getMaktx());
+ combMat.setSpecs(orderDetl.getSpecs());
+ combMats.add(combMat);
+ }
+ combParam.setCombMats(combMats);
+ }
+ combParam.setOrderNo(order.getOrderNo());
+ combParams.add(combParam);
+ }
}
- if (order.getSettle() > 2) {
- return R.ok();
- }
- List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId());
- if (Cools.isEmpty(orderDetls)) {
- return R.ok();
- }
- return R.ok().add(orderDetls);
+ return R.ok().add(combParams);
}
@RequestMapping("/comb/auth")
@@ -151,6 +341,41 @@
return R.ok().add(Cools.add("wrkNo", wrkMast.getWrkNo()).add("ioType", wrkMast.getIoType()).add("list", wrkDetls));
}
return R.ok();
+ }
+
+ /**
+ * 鍑哄簱纭 - 鎵揣鐗� 骞垮痉瀹滅鐗�
+ * 1.鍏ㄦ澘 杩斿洖 101
+ * 2.鎷f枡 杩斿洖 103
+ */
+ @RequestMapping("/pakout/confirm/goods/auth") //寰呭畬鍠� 鍘熷洜锛堝鎴锋湭缁欏嚭璇︾粏淇℃伅锛�
+ @ManagerAuth
+ public R pakoutQueryByGoods(@RequestBody GDYKConfirmGoodsParam combParam){
+ if (Cools.isEmpty(combParam)) {
+ return R.ok();
+ }
+// List<Order> orders = orderService.selectorderNoL(batch);
+ OrderDetl orderDetl = orderDetlService.selectOne(new EntityWrapper<OrderDetl>().eq("matnr", combParam.getMatnr()).eq("batch", combParam.getBatch()).eq("order_no",combParam.getOrderNo()));
+ if (Cools.isEmpty(orderDetl)){
+ return R.error("鏈煡鍒版暟鎹�");
+ }
+ if (!orderDetl.getQty$().equals("宸插畬鎴�")){
+ return R.error("浠诲姟鏈畬鎴�");
+ }
+ //澶嶆牳鏁�
+ orderDetl.setSource(1);
+ orderDetlService.updateById(orderDetl);
+ return R.ok();
+ }
+
+ // 鏍规嵁搴撲綅鐮佸拰鍟嗗搧鐮佹悳绱㈠晢鍝�
+ @RequestMapping("/mat/find/auth")
+ public R find(@RequestParam(required = false) String locNo
+ , @RequestParam(required = false) String matnr){
+ //List<ManLocDetl> manLocDetls = manLocDetlMapper.selectItem0(locNo, matnr);
+ ManLocDetl manLocDetl = manLocDetlMapper.selectLocNo0(locNo, matnr);
+ return R.ok(manLocDetl);
+ //return R.ok(manLocDetlMapper.selectItem0(locNo, matnr));
}
/**
@@ -299,58 +524,14 @@
return R.ok("鐩樼偣鎴愬姛");
}
- @PostMapping("/out/pakout/auth")
-// @ManagerAuth(memo = "鏍规嵁璁㈠崟鍑哄簱")
+ @PostMapping("/order/out/pakout/auth")
+ @ManagerAuth(memo = "璁㈠崟鍑哄簱")
public synchronized R pakoutByOrder(@RequestBody JSONObject param) {
if(!param.containsKey("staNo") || !param.containsKey("orderNo")){
return R.parse(BaseRes.PARAM);
}
- Integer staNo = param.containsKey("staNo") ? Integer.parseInt(param.get("staNo").toString()) : 0;
- String orderNo = param.containsKey("orderNo") ? param.get("orderNo").toString() : "";
-
- BasDevp sta = basDevpService.checkSiteStatus(staNo);
- //鏍规嵁璁㈠崟鍙风敓鎴愬嚭搴撲换鍔″伐浣滄。,寰呭疄鐜�
- List<OrderDetl> orderDetls = orderDetlService.selectList(new EntityWrapper<OrderDetl>().eq("order_no", orderNo));
- for(OrderDetl orderDetl : orderDetls){
-
- }
-
-
-// if (Cools.isEmpty(locDtos)) {
-// return R.parse(BaseRes.PARAM);
-// }
-// boolean lack = true;
-// for (LocDto locDto : locDtos) {
-// if (!locDto.isLack()) {
-// lack = false;
-// break;
-// }
-// }
-// if (lack) {
-// return R.error("搴撳瓨涓嶈冻");
-// }
-//
-// Thread.sleep(1000L);
-//
-// List<TaskDto> taskDtos = new ArrayList<>();
-// // 鏍规嵁 锛堝簱浣� & 鍑哄簱绔欙級 鍒嗙粍锛� 鐞嗘兂鐘舵�侊細涓�缁勪负涓�娆″嚭搴撲换鍔�
-// for (LocDto locDto : locDtos) {
-// if (locDto.isLack()) { continue; }
-// TaskDto taskDto = new TaskDto(locDto.getLocNo(), locDto.getStaNo(), locDto);
-// if (TaskDto.has(taskDtos, taskDto)) {
-// TaskDto dto = TaskDto.find(taskDtos, taskDto);
-// assert dto != null;
-// dto.getLocDtos().addAll(taskDto.getLocDtos());
-// } else {
-// taskDtos.add(taskDto);
-// }
-// }
-// // -----------------------------------------------------------------------------------------------
-// for (TaskDto taskDto : taskDtos) {
-// BasDevp staNo = basDevpService.checkSiteStatus(taskDto.getStaNo());
-// workService.stockOut(staNo, taskDto, getUserId());
-// }
- return R.ok();
+ mobileService.pakoutByOrder(param,getUserId());
+ return R.ok("鍑哄簱鎴愬姛");
}
}
--
Gitblit v1.9.1