From 70b86bb70e6941127888979dbde37dda3b1db0b6 Mon Sep 17 00:00:00 2001
From: cp <513960435@qq.com>
Date: 星期二, 19 十一月 2024 09:14:43 +0800
Subject: [PATCH] 完善下架功能
---
zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java | 390 +++++++++++++++++++++++++++++++++++++++++++++++++++++--
1 files changed, 371 insertions(+), 19 deletions(-)
diff --git a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
index a9c372d..0f9375b 100644
--- a/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
+++ b/zy-asrs-wms/src/main/java/com/zy/asrs/wms/controller/MobileController.java
@@ -10,6 +10,8 @@
import com.zy.asrs.common.domain.param.PickConfirmParam;
import com.zy.asrs.common.domain.param.PickMatParam;
import com.zy.asrs.common.openapi.entity.param.CombParam;
+import com.zy.asrs.common.openapi.entity.param.WarehouseOutMergeBoardManyParam;
+import com.zy.asrs.common.openapi.entity.param.WarehouseOutPickMergeParam;
import com.zy.asrs.common.sys.service.StaDescService;
import com.zy.asrs.common.web.BaseController;
import com.zy.asrs.common.wms.entity.*;
@@ -20,10 +22,7 @@
import com.zy.asrs.framework.exception.CoolException;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
@@ -64,15 +63,125 @@
@Autowired
private MatService matService;
+
+ /**
+ * 骞冲韩涓婃灦
+ *
+ * @param locNo
+ * @param barcode
+ * @return
+ */
@RequestMapping("/pda/WarehouseIn")
@ManagerAuth
- public R WarehouseIn(@RequestParam String locNo,@RequestParam String barcode){
- return mobileService.WarehouseIn(locNo,barcode,getHostId());
+ public R WarehouseIn(@RequestParam String locNo, @RequestParam String barcode) {
+ return mobileService.WarehouseIn(locNo, barcode, getHostId(), getUserId());
+ }
+
+ /**
+ * 骞冲韩涓嬫灦
+ *
+ * @param combParam
+ * @return
+ */
+ @RequestMapping("/pda/WarehouseOut")
+ @ManagerAuth
+ public R WarehouseOut(@RequestBody CombParam combParam) {
+ return mobileService.WarehouseOut(combParam, getHostId(), getUserId());
+ }
+
+ @RequestMapping("/outBound/mat/list")
+ @ManagerAuth
+ public R WarehouseMat(@RequestParam String matnr, @RequestParam String orderNo) {
+ if (Cools.isEmpty(matnr)) {
+ R.error("鍝佸彿涓嶈兘涓虹┖");
+ }
+ ArrayList<PickMatParam> maps = new ArrayList<>();
+ if (Cools.isEmpty(orderNo)) {
+ List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getMatnr, matnr)
+ .orderByDesc(OrderDetl::getCreateTime));
+ List<OrderDetl> orderDetls = new ArrayList<OrderDetl>();
+ for (OrderDetl orderDetl : list
+ ) {
+ Order order = orderService.getOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderNo, orderDetl.getOrderNo()));
+ if (!Cools.isEmpty(order)) {
+ DocType docType = docTypeService.getOne(new LambdaQueryWrapper<DocType>().eq(DocType::getDocId, order.getDocType()));
+ if (!Cools.isEmpty(docType) && docType.getPakout() == 1) {
+ double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
+ PickMatParam matParam = new PickMatParam();
+ matParam.setMatnr(orderDetl.getMatnr());
+ matParam.setBatch(orderDetl.getBatch());
+ matParam.setOrderNo(orderDetl.getOrderNo());
+ matParam.setOrderId(orderDetl.getOrderId());
+ matParam.setCount(count);
+ matParam.setUseCount(count);
+ maps.add(matParam);
+ }
+
+
+ }
+ }
+ return R.ok(maps);
+ } else {
+ List<OrderDetl> list = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getMatnr, matnr)
+ .like(OrderDetl::getOrderNo, orderNo)
+ .orderByDesc(OrderDetl::getCreateTime));
+ for (OrderDetl orderDetl : list
+ ) {
+ double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
+ PickMatParam matParam = new PickMatParam();
+ matParam.setMatnr(orderDetl.getMatnr());
+ matParam.setBatch(orderDetl.getBatch());
+ matParam.setOrderNo(orderDetl.getOrderNo());
+ matParam.setOrderId(orderDetl.getOrderId());
+ matParam.setCount(count);
+ matParam.setUseCount(count);
+ maps.add(matParam);
+ }
+ return R.ok(maps);
+ }
+ }
+
+ /**
+ * 骞舵澘閫斾腑鎷f枡
+ *
+ * @param combParam
+ * @return
+ */
+ @RequestMapping("/pda/WarehouseOut/v1")
+ @ManagerAuth
+ public R WarehouseOutV1(@RequestBody CombParam combParam) {
+ return mobileService.WarehouseOutV1(combParam, getHostId(), getUserId());
+ }
+
+ /**
+ * 鎷f枡閫斾腑骞舵澘
+ *
+ * @param param
+ * @return
+ */
+ @RequestMapping("/pda/WarehouseOutPickMerge/v1")
+ @ManagerAuth
+ public R WarehouseOutPickMergeV1(@RequestBody WarehouseOutPickMergeParam param) {
+ return mobileService.WarehouseOutPickMergeV1(param, getHostId(), getUserId());
+ }
+
+ /**
+ * 澶氭骞舵澘
+ *
+ * @param param
+ * @return
+ */
+ @RequestMapping("/pda/WarehouseOutMergeBoardMany/v1")
+ @ManagerAuth
+ public R WarehouseOutMergeBoardManyV1(@RequestBody WarehouseOutMergeBoardManyParam param) {
+ return mobileService.WarehouseOutMergeBoardMany(param, getHostId(), getUserId());
}
@RequestMapping("/menu/pda/auth")
@ManagerAuth
- public R menuPda(){
+ public R menuPda() {
List<RolePermission> rolePermissions;
Long roleId = getUser().getRoleId();
rolePermissions = rolePermissionService.list(new LambdaQueryWrapper<RolePermission>().eq(RolePermission::getRoleId, getHostId()));
@@ -86,11 +195,50 @@
}
/**
+ * 鍏ュ簱鍒朵护妫�娴� -- 鎸囦护鍦ㄥ簱瀛橀噷闈㈠�熺敤鎵瑰彿瀛楁batch
+ * 1.鍙甯稿叆搴�
+ * 2.搴撳瓨鍖呭惈鐩稿悓鍒朵护璐х墿锛屾槸鍚﹁繘琛岃ˉ璐�
+ * 3.宸ヤ綔妗e瓨鍦ㄦ鍦ㄥ叆搴撲换鍔★紝鎷掔粷鍏ュ簱
+ */
+ @RequestMapping("/pda/decrees/check")
+ @ManagerAuth
+ public R pdaDecreesCheck(@RequestParam String decrees) {
+ if (Cools.isEmpty(decrees)) {
+ return R.error("鍒朵护涓嶈兘涓虹┖");
+ }
+ Long hostId = getHostId();
+ //鏌ヨ鏄惁鏈夊簱瀛�
+ List<LocDetl> list = locDetlService.list(new LambdaQueryWrapper<LocDetl>().eq(LocDetl::getBatch, decrees));
+ //鏌ヨ鏄惁鏈夋鍦ㄥ伐浣滅殑宸ヤ綔妗�
+ List<WrkDetl> wrkDetls = wrkDetlService.list(new LambdaQueryWrapper<WrkDetl>().eq(WrkDetl::getBatch, decrees));
+ HashMap<String, Object> map = new HashMap<>();
+ if (list.isEmpty() && wrkDetls.isEmpty()) {
+ map.put("status", 1);//鍙甯稿叆搴�
+ } else if (!wrkDetls.isEmpty()) {
+ map.put("status", 3);//瀛樺湪宸ヤ綔妗o紝鎷掔粷鍏ュ簱
+ } else {
+ //鑾峰彇搴撳瓨鏈�灏戠殑涓�鏉¤褰�
+ Double anfme = 999999999D;
+ LocDetl miniLocDetl = null;
+ for (LocDetl locDetl : list) {
+ if (locDetl.getAnfme() < anfme) {
+ anfme = locDetl.getAnfme();
+ miniLocDetl = locDetl;
+ }
+ }
+
+ map.put("status", 2);//搴撳瓨鍖呭惈鐩稿悓鍒朵护璐х墿锛屾槸鍚﹁繘琛岃ˉ璐�
+ map.put("data", miniLocDetl);//搴撳瓨淇℃伅
+ }
+ return R.ok().add(map);
+ }
+
+ /**
* 鏍规嵁鍗曞彿妫�绱㈠崟鎹暟鎹�
*/
@RequestMapping("/order/search/orderNo/auth")
@ManagerAuth
- public R orderSearchByBarcode(@RequestParam String orderNo){
+ public R orderSearchByBarcode(@RequestParam String orderNo) {
Order order = orderService.selectByNo(orderNo, getHostId());
if (order == null) {
return R.ok();
@@ -111,7 +259,7 @@
@RequestMapping("/comb/auth")
@ManagerAuth(memo = "缁勬墭")
- public R comb(@RequestBody CombParam combParam){
+ public R comb(@RequestBody CombParam combParam) {
mobileService.comb(combParam, getUserId(), getHostId());
return R.ok("缁勬墭鎴愬姛");
}
@@ -121,7 +269,7 @@
@Deprecated
public R pakoutQuery(@RequestParam(required = false) String barcode,
@RequestParam(required = false) Integer staNo,
- @RequestParam(required = false) String matnr){
+ @RequestParam(required = false) String matnr) {
if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) {
return R.ok();
}
@@ -146,7 +294,7 @@
*/
@RequestMapping("/pakout/confirm/barcode/auth")
@ManagerAuth
- public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode){
+ public R pakoutQueryByBarcode(@RequestParam(required = false) String barcode) {
if (Cools.isEmpty(barcode)) {
return R.ok();
}
@@ -167,7 +315,7 @@
@RequestMapping("/pakout/confirm/pick/auth")
@ManagerAuth
public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
- , @RequestParam(required = false) String matnr){
+ , @RequestParam(required = false) String matnr) {
if (Cools.isEmpty(wrkNo)) {
return R.ok();
}
@@ -303,14 +451,14 @@
@RequestMapping("/adjust/auth")
@ManagerAuth(memo = "鐩樼偣")
- public R adjust(@RequestBody MobileAdjustParam combParam){
+ public R adjust(@RequestBody MobileAdjustParam combParam) {
mobileService.adjust(combParam, getUserId(), getHostId());
return R.ok("鐩樼偣鎴愬姛");
}
@RequestMapping("/loc/f/list")
@ManagerAuth(memo = "鑾峰彇鍦ㄥ簱搴撲綅")
- public R locNoF(@RequestParam(required = false) String locNo){
+ public R locNoF(@RequestParam(required = false) String locNo) {
LambdaQueryWrapper<LocMast> wrapper = new LambdaQueryWrapper<LocMast>()
.eq(LocMast::getLocSts, "F")
.eq(LocMast::getHostId, getHostId());
@@ -323,7 +471,7 @@
@RequestMapping("/pick/sta/list")
@ManagerAuth(memo = "鑾峰彇骞舵澘绔�")
- public R pickSta(){
+ public R pickSta() {
List<StaDesc> list = staDescService.list(new LambdaQueryWrapper<StaDesc>()
.eq(StaDesc::getTypeNo, 104)
.eq(StaDesc::getHostId, getHostId()));
@@ -332,8 +480,62 @@
@RequestMapping("/pick/mat/list")
@ManagerAuth(memo = "鑾峰彇骞舵澘鐗╂枡")
- public R pickMats(@RequestParam(required = false) String matnr){
- List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getDocName, "鍏ュ簱"));
+ public R pickMats(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) {
+ List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakin, 1));
+ ArrayList<Long> typeList = new ArrayList<>();
+ for (DocType docType : docTypes) {
+ typeList.add(docType.getDocId());
+ }
+
+ LambdaQueryWrapper<Order> wrapper = new LambdaQueryWrapper<>();
+ wrapper.eq(Order::getStatus, 1);
+ wrapper.eq(Order::getHostId, getHostId());
+ wrapper.in(Order::getDocType, typeList);
+ List<Order> orders = orderService.list(wrapper);
+
+ ArrayList<Long> orderIds = new ArrayList<>();
+ for (Order order : orders) {
+ orderIds.add(order.getId());
+ }
+
+ //鎼滅储鏄庣粏
+ LambdaQueryWrapper<OrderDetl> wrapper1 = new LambdaQueryWrapper<>();
+ wrapper1.eq(OrderDetl::getStatus, 1);
+ wrapper1.eq(OrderDetl::getHostId, getHostId());
+ wrapper1.in(OrderDetl::getOrderId, orderIds);
+ wrapper1.orderByDesc(OrderDetl::getCreateTime);
+ if (!Cools.isEmpty(matnr)) {
+ wrapper1.like(OrderDetl::getMatnr, matnr);
+ }
+ if (!Cools.isEmpty(orderNo)) {
+ wrapper1.like(OrderDetl::getOrderNo, orderNo);
+ }
+ List<OrderDetl> list = orderDetlService.list(wrapper1);
+
+ ArrayList<PickMatParam> maps = new ArrayList<>();
+ for (OrderDetl orderDetl : list) {
+ //鍓╀綑鍙敤鏁伴噺
+ double count = orderDetl.getAnfme() - orderDetl.getWorkQty();
+ if (count <= 0) {
+ continue;
+ }
+
+ PickMatParam matParam = new PickMatParam();
+ matParam.setMatnr(orderDetl.getMatnr());
+ matParam.setBatch(orderDetl.getBatch());
+ matParam.setOrderNo(orderDetl.getOrderNo());
+ matParam.setOrderId(orderDetl.getOrderId());
+ matParam.setCount(count);
+ matParam.setUseCount(count);
+ maps.add(matParam);
+ }
+ return R.ok().add(maps);
+ }
+
+ @RequestMapping("/outBound/order/list")
+ @ManagerAuth(memo = "鑾峰彇鍑哄簱璁㈠崟")
+ public R outBound(@RequestParam(required = false) String matnr, @RequestParam(required = false) String orderNo) {
+ List<DocType> docTypes = docTypeService.list(new LambdaQueryWrapper<DocType>().like(DocType::getPakout, 1));
ArrayList<Long> typeList = new ArrayList<>();
for (DocType docType : docTypes) {
typeList.add(docType.getDocId());
@@ -375,6 +577,7 @@
matParam.setOrderNo(orderDetl.getOrderNo());
matParam.setOrderId(orderDetl.getOrderId());
matParam.setCount(count);
+ matParam.setUseCount(count);
maps.add(matParam);
}
return R.ok().add(maps);
@@ -383,7 +586,7 @@
@RequestMapping("/pick/in")
@ManagerAuth(memo = "骞舵澘鍏ュ簱")
@Transactional
- public R pickConfirm(@RequestBody PickConfirmParam param){
+ public R pickConfirm(@RequestBody PickConfirmParam param) {
LocMast locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>()
.eq(LocMast::getLocNo, param.getLocNo())
.eq(LocMast::getHostId, getHostId()));
@@ -475,12 +678,18 @@
wrkDetl.setModiUser(getUserId());
wrkDetl.setHostId(getHostId());
wrkDetl.setWrkMastId(wrkMast.getId());
+ wrkDetl.setZpallet(wrkMast.getBarcode());
if (!wrkDetlService.save(wrkDetl)) {
throw new CoolException("淇濆瓨宸ヤ綔妗f槑缁嗗け璐�");
}
+ Order order = orderService.selectByNo(matParam.getOrderNo(), getHostId());
+ if (order == null) {
+ throw new CoolException("Order is not exits");
+ }
//鏇存柊璁㈠崟宸ヤ綔鏁伴噺
- orderDetlService.increaseWorkQtyByOrderNo(matParam.getOrderNo(), matParam.getMatnr(), matParam.getBatch(), matParam.getUseCount());
+ orderDetlService.increaseWorkQtyByOrderNo(matParam.getOrderNo(), matParam.getMatnr(), matParam.getBatch(), matParam.getUseCount(), getHostId());
+ orderService.updateSettle(order.getId(), 2L, getUserId(), getHostId());
}
// 淇敼搴撲綅鐘舵��: F.鍦ㄥ簱 ====>>> R.鍑哄簱棰勭害/P.鎷f枡/鐩樼偣/骞舵澘鍑哄簱涓�
locMast = locMastService.getOne(new LambdaQueryWrapper<LocMast>().eq(LocMast::getLocNo, param.getLocNo()).eq(LocMast::getHostId, getHostId()));
@@ -498,4 +707,147 @@
return R.ok();
}
+ @RequestMapping("/barcode/list/all")
+ @ManagerAuth(memo = "骞舵澘鍏ュ簱閫斾腑鎷f枡鍑哄簱鑾峰彇浠诲姟淇℃伅")
+ @Transactional
+ public R orderOutListOrder(@RequestBody String barcode) {
+ ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>();
+ if (Cools.isEmpty(barcode) || barcode.isEmpty()) {
+ List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 104));
+ wrkMastArrayList.addAll(wrkMasts);
+ List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 107));
+ wrkMastArrayList.addAll(wrkMasts1);
+ } else {
+ List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .like(WrkMast::getBarcode, barcode)
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 104));
+ wrkMastArrayList.addAll(wrkMasts);
+ List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .like(WrkMast::getBarcode, barcode)
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 107));
+ wrkMastArrayList.addAll(wrkMasts1);
+ }
+
+ return R.ok().add(wrkMastArrayList);
+ }
+
+ @RequestMapping("/barcode/list/pick")
+ @ManagerAuth(memo = "鎷f枡鍏ュ簱閫斾腑骞舵澘")
+ @Transactional
+ public R orderOutListOrderPick(@RequestBody String barcode) {
+ ArrayList<WrkMast> wrkMastArrayList = new ArrayList<>();
+ if (Cools.isEmpty(barcode) || barcode.isEmpty()) {
+ List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 103));
+ wrkMastArrayList.addAll(wrkMasts);
+ List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 107));
+ wrkMastArrayList.addAll(wrkMasts1);
+ } else {
+ List<WrkMast> wrkMasts = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .like(WrkMast::getBarcode, barcode)
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 103)
+ );
+ wrkMastArrayList.addAll(wrkMasts);
+ List<WrkMast> wrkMasts1 = wrkMastService.list(new LambdaQueryWrapper<WrkMast>()
+ .like(WrkMast::getBarcode, barcode)
+ .eq(WrkMast::getHostId, getHostId())
+ .eq(WrkMast::getWrkSts, 199L)
+ .eq(WrkMast::getIoType, 107));
+ wrkMastArrayList.addAll(wrkMasts1);
+ }
+
+ return R.ok().add(wrkMastArrayList);
+ }
+
+ @PostMapping("/pda/OutLocNo")
+ @ManagerAuth(memo = "鑾峰緱骞冲簱鍑哄簱鐨勫搴斿簱浣嶅彿")
+ @Transactional
+ public R OutLocNo(@RequestParam Long orderId) {
+ List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getOrderId, orderId)
+ .eq(OrderDetl::getHostId, getHostId())
+ );
+ if (Cools.isEmpty(orderDetls)) {
+ return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ List<String> list = new ArrayList<>();
+ for (OrderDetl o : orderDetls
+ ) {
+ if (o.getAnfme() <= o.getWorkQty()) {
+ continue;
+ } else {
+ //鏌ョ湅搴撲綅鏄庣粏涓湁鐨勭墿鏂�
+ List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+ .eq(LocDetl::getMatnr, o.getMatnr()).eq(LocDetl::getHostId, getHostId())
+ );
+ if (Cools.isEmpty(locDetls)) {
+ continue;
+ } else {
+ for (LocDetl l : locDetls
+ ) {
+ String s = l.getLocNo().substring(1, 2);
+ if (Integer.valueOf(s) > 4) {
+ list.add(l.getLocNo());
+ }
+ }
+
+ }
+ }
+ }
+ List<String> myList = list.stream().distinct().collect(Collectors.toList());
+ return R.ok(myList);
+ }
+
+ @PostMapping("/pda/OrderDetlContrastLocDetl")
+ @ManagerAuth(memo = "鑾峰緱璁㈠崟鏄庣粏瀵瑰簲鐨勫簱瀛樻槑缁�")
+ @Transactional
+ public R OrderDetlContrastLocDetl(@RequestParam Long orderId, @RequestParam String locNo) {
+ List<LocDetl> locDetlList = new ArrayList<LocDetl>();
+ List<OrderDetl> orderDetls = orderDetlService.list(new LambdaQueryWrapper<OrderDetl>()
+ .eq(OrderDetl::getOrderId, orderId)
+ .eq(OrderDetl::getHostId, getHostId())
+ );
+ if (Cools.isEmpty(orderDetls)) {
+ return R.error("璁㈠崟鏄庣粏涓嶅瓨鍦�");
+ }
+ List<LocDetl> locDetls = locDetlService.list(new LambdaQueryWrapper<LocDetl>()
+ .eq(LocDetl::getLocNo, locNo));
+ if (Cools.isEmpty(locDetls)) {
+ return R.error("搴撲綅涓虹┖");
+ }
+ for (OrderDetl o : orderDetls
+ ) {
+ for (LocDetl 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);
+ }
+
}
--
Gitblit v1.9.1