From d613408e745a87c2ed77506a96097b0185352d78 Mon Sep 17 00:00:00 2001
From: 野心家 <1051256694@qq.com>
Date: 星期一, 05 五月 2025 14:52:18 +0800
Subject: [PATCH] pda呼叫空板、出库确认
---
src/main/java/com/zy/asrs/controller/MobileController.java | 250 +++++++++++++++++++++++++++++++------------------
1 files changed, 159 insertions(+), 91 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..9568608 100644
--- a/src/main/java/com/zy/asrs/controller/MobileController.java
+++ b/src/main/java/com/zy/asrs/controller/MobileController.java
@@ -2,6 +2,7 @@
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.mapper.EntityWrapper;
+import com.baomidou.mybatisplus.mapper.Wrapper;
import com.core.annotations.ManagerAuth;
import com.core.common.BaseRes;
import com.core.common.Cools;
@@ -10,11 +11,15 @@
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.CombParam;
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.model.enums.WorkNoType;
+import com.zy.common.service.CommonService;
import com.zy.common.web.BaseController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
@@ -51,7 +56,29 @@
@Autowired
private PackService packService;
@Autowired
- private WorkService workService;
+ private ManLocDetlMapper manLocDetlMapper;
+ @Autowired
+ private CommonService commonService;
+ @Autowired
+ private StaDescService staDescService;
+
+
+ // 鍟嗗搧涓婃灦
+ @RequestMapping("/mat/onSale/auth")
+ @ManagerAuth
+ public R matOnSale(@RequestBody CombParam combParam){
+ mobileService.onSale(combParam);
+ return R.ok("涓婃灦鎴愬姛");
+ }
+ // 鍟嗗搧涓嬫灦
+ @RequestMapping("/mat/offSale/auth")
+ //@ManagerAuth
+ public R matOffSale(@RequestBody OffSaleParam offSaleParam){
+ mobileService.offSale(offSaleParam);
+ return R.ok("涓嬫灦鎴愬姛");
+ }
+
+
// 缁勬墭 ----------------------------------------------------------------------------------------------------
@@ -154,48 +181,10 @@
}
/**
- * 鍑哄簱纭 - 鎷f枡鍑哄簱 - 閫夋嫨鍏蜂綋鏉$爜鍟嗗搧
+ * 鍑哄簱纭瀹屾垚
+ * @param list
+ * @return
*/
- @RequestMapping("/pakout/confirm/pick/auth")
- @ManagerAuth
- public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
- , @RequestParam(required = false) String matnr){
- if (Cools.isEmpty(wrkNo)) {
- return R.ok();
- }
- if (Cools.isEmpty(matnr)) {
- return R.ok();
- }
- WrkMast wrkMast = wrkMastService.selectById(wrkNo);
- if (wrkMast == null) {
- return R.ok();
- }
- String orderNo = null;
- List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
- for (WrkDetl wrkDetl : wrkDetls) {
- if (Cools.isEmpty(orderNo)) {
- orderNo = wrkDetl.getOrderNo();
- }
- if ((wrkDetl.getMatnr() + "-" + wrkDetl.getBatch()).equals(matnr)) {
- return R.ok().add(wrkDetl);
- }
- }
- // 鏇挎崲 鏄庣粏
- List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
- for (LocDetl locDetl : locDetls) {
- if ((locDetl.getMatnr() + "-" + locDetl.getBatch()).equals(matnr)) {
- WrkDetl wrkDetl = new WrkDetl();
- wrkDetl.sync(locDetl);
- wrkDetl.setOrderNo(orderNo);
- wrkDetl.setIoTime(wrkMast.getIoTime());
- wrkDetl.setWrkNo(wrkNo);
- return R.ok().add(wrkDetl);
- }
- }
- return R.error("绯荤粺閿欒锛屾潯鐮佷笉瀛樺湪");
- }
-
-
@RequestMapping("/pakout/confirm/auth")
@ManagerAuth
@Transactional
@@ -245,7 +234,7 @@
for (Integer wrkNo : wrkNos) {
WrkMast wrkMast = wrkMastService.selectById(wrkNo);
- if (wrkMast.getWrkSts() == 14 && (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N"))) {
+ if (wrkMast.getWrkSts() == 15 && (Cools.isEmpty(wrkMast.getInvWh()) || wrkMast.getInvWh().equals("N"))) {
List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkNo);
boolean complete = true;
for (WrkDetl wrkDetl : wrkDetls) {
@@ -265,6 +254,129 @@
}
return R.ok("瀹屾垚纭");
}
+
+
+ /**
+ * 琛ョ┖鎵樼洏鍒板叆搴撶紦瀛樹綅
+ * @param map
+ * @return
+ */
+ @RequestMapping("/supplementEmpty")
+ @ManagerAuth
+ @Transactional
+ public R supplementEmpty(@RequestBody HashMap<String,Object> map){
+ if (Cools.isEmpty(map)) {
+ return R.error("琛ョ┖鎵樼洏搴撲綅涓虹┖");
+ }
+ List<LocMast> locMastList=locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D"));
+ if (locMastList.isEmpty()) {
+ return R.error("绔嬪簱閲屾病鏈夌┖鎵樼洏");
+ }
+ // 鑾峰彇宸ヤ綔鍙�
+ int workNo = commonService.getWorkNo(WorkNoType.PAKOUT.type);
+
+ // 鑾峰彇婧愮珯
+ Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>()
+ .eq("type_no", 110)
+ .eq("stn_no", 102)
+ .eq("crn_no", locMastList.get(0).getCrnNo());
+ StaDesc staDesc = staDescService.selectOne(wrapper);
+ Integer sourceStaNo = staDesc.getCrnStn();
+ if (Cools.isEmpty(sourceStaNo)) {
+ throw new CoolException("妫�绱㈡簮绔欏け璐�");
+ }
+ Date now = new Date();
+ // 淇濆瓨宸ヤ綔妗�
+ WrkMast wrkMast = new WrkMast();
+ wrkMast.setWrkNo(workNo);
+ wrkMast.setIoTime(now);
+ wrkMast.setWrkSts(11L); // 宸ヤ綔鐘舵�侊細11.鐢熸垚鍑哄簱ID
+ wrkMast.setIoType(110); // 鍏ュ嚭搴撶姸鎬侊細 110.绌烘澘鍑哄簱
+ wrkMast.setIoPri(10D);
+ wrkMast.setSourceStaNo(sourceStaNo); // 婧愮珯
+ wrkMast.setStaNo(102); // 鐩爣绔�
+ wrkMast.setCrnNo(locMastList.get(0).getCrnNo());
+ wrkMast.setSourceLocNo(locMastList.get(0).getLocNo()); // 婧愬簱浣�
+ wrkMast.setFullPlt("N"); // 婊℃澘锛歒
+ wrkMast.setPicking("N"); // 鎷f枡
+ wrkMast.setExitMk("N"); // 閫�鍑�
+ wrkMast.setEmptyMk("Y"); // 绌烘澘
+ wrkMast.setLinkMis("N");
+ wrkMast.setAppeUser(getUserId());
+ wrkMast.setAppeTime(now);
+ wrkMast.setModiUser(getUserId());
+ wrkMast.setModiTime(now);
+ wrkMast.setMemo((String) map.get("locNo"));//agv鏀捐揣浣�
+ boolean res = wrkMastService.insert(wrkMast);
+ if (!res) {
+ throw new CoolException("淇濆瓨宸ヤ綔妗eけ璐�");
+ }
+ // 鏇存柊搴撲綅鐘舵�� D.绌烘澘 -> R.鍑哄簱棰勭害
+ if (locMastList.get(0).getLocSts().equals("D")){
+ locMastList.get(0).setLocSts("R");
+ locMastList.get(0).setModiUser(getUserId());
+ locMastList.get(0).setModiTime(now);
+ if (!locMastService.updateById(locMastList.get(0))) {
+ throw new CoolException("鏇存柊搴撲綅鐘舵�佸け璐�");
+ }
+ }
+ 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));
+ }
+
+ /**
+ * 鍑哄簱纭 - 鎷f枡鍑哄簱 - 閫夋嫨鍏蜂綋鏉$爜鍟嗗搧
+ */
+ @RequestMapping("/pakout/confirm/pick/auth")
+ @ManagerAuth
+ public R pakoutQueryByBarcode(@RequestParam(required = false) Integer wrkNo
+ , @RequestParam(required = false) String matnr){
+ if (Cools.isEmpty(wrkNo)) {
+ return R.ok();
+ }
+ if (Cools.isEmpty(matnr)) {
+ return R.ok();
+ }
+ WrkMast wrkMast = wrkMastService.selectById(wrkNo);
+ if (wrkMast == null) {
+ return R.ok();
+ }
+ String orderNo = null;
+ List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo());
+ for (WrkDetl wrkDetl : wrkDetls) {
+ if (Cools.isEmpty(orderNo)) {
+ orderNo = wrkDetl.getOrderNo();
+ }
+ if ((wrkDetl.getMatnr() + "-" + wrkDetl.getBatch()).equals(matnr)) {
+ return R.ok().add(wrkDetl);
+ }
+ }
+ // 鏇挎崲 鏄庣粏
+ List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>().eq("loc_no", wrkMast.getSourceLocNo()));
+ for (LocDetl locDetl : locDetls) {
+ if ((locDetl.getMatnr() + "-" + locDetl.getBatch()).equals(matnr)) {
+ WrkDetl wrkDetl = new WrkDetl();
+ wrkDetl.sync(locDetl);
+ wrkDetl.setOrderNo(orderNo);
+ wrkDetl.setIoTime(wrkMast.getIoTime());
+ wrkDetl.setWrkNo(wrkNo);
+ return R.ok().add(wrkDetl);
+ }
+ }
+ return R.error("绯荤粺閿欒锛屾潯鐮佷笉瀛樺湪");
+ }
+
+
+
// 鐩樼偣 ----------------------------------------------------------------------------------------------------
@@ -299,58 +411,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