From a31fd78f2d869baada07c69fea779c9682904549 Mon Sep 17 00:00:00 2001 From: pang.jiabao <pang_jiabao@163.com> Date: 星期二, 19 十一月 2024 08:17:04 +0800 Subject: [PATCH] 盘点单生成 --- src/main/java/com/zy/common/web/WcsController.java | 128 ++++++++++++++++++++++++++---------------- 1 files changed, 80 insertions(+), 48 deletions(-) diff --git a/src/main/java/com/zy/common/web/WcsController.java b/src/main/java/com/zy/common/web/WcsController.java index afa1f5d..6107b1f 100644 --- a/src/main/java/com/zy/common/web/WcsController.java +++ b/src/main/java/com/zy/common/web/WcsController.java @@ -1,5 +1,6 @@ package com.zy.common.web; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; import com.core.common.Cools; @@ -10,6 +11,7 @@ import com.zy.asrs.entity.result.KeyValueVo; import com.zy.asrs.service.*; import com.zy.common.CodeRes; +import com.zy.common.config.WebSocketServer; import com.zy.common.model.LocTypeDto; import com.zy.common.model.StartupDto; import com.zy.common.service.CommonService; @@ -20,9 +22,7 @@ import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.web.bind.annotation.*; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; +import java.util.*; import java.util.stream.Collectors; /** @@ -53,16 +53,37 @@ private WorkService workService; @Autowired private StaDescService staDescService; + @Autowired + private WebSocketServer webSocketServer; - @PostMapping + @PostMapping("/led/getError") + @ResponseBody + public synchronized R getLocNo(@RequestBody Map<String, String> param) { + String sta = param.get("sta"); + String message = param.get("msg"); + if (Cools.isEmpty(sta) || Cools.isEmpty(message)) { + return R.error(); + } + Map<String,Object> map=new HashMap<String, Object>(); + + map.put("to",sta); + map.put("message",Cools.add("type", "error").add("errMsg",message)); + webSocketServer.onMessage(JSONObject.toJSONString(map),null,sta); + + + return R.ok(); + + } + + @Transactional - public synchronized R getLocNo3(@RequestBody SearchLocParam param){ + public synchronized StartupDto getLocNo3(@RequestBody SearchLocParam param){ log.info("鏀跺埌WCS鎷f枡鍏ュ簱鎺ュ彛璇锋眰====>>鍏ュ弬:{}", param); WrkMast wrkMast = wrkMastService.selectOne(new EntityWrapper<WrkMast>().eq("barcode", param.getBarcode())); if (Cools.isEmpty(wrkMast)){ - return R.error("鏈壘鍒颁换鍔�"); + throw new CoolException("鏈壘鍒颁换鍔�"); } - StartupDto dto = null; + StartupDto dto = new StartupDto(); // 鑾峰彇鐩爣绔� Wrapper<StaDesc> wrapper = new EntityWrapper<StaDesc>() .eq("type_no", wrkMast.getIoType() - 50) @@ -70,7 +91,7 @@ .eq("crn_no", wrkMast.getCrnNo()); // 鍫嗗灈鏈哄彿 StaDesc staDesc = staDescService.selectOne(wrapper); if (Cools.isEmpty(staDesc)){ - return R.error("鏈壘鍒扮珯鐐硅矾寰�"); + throw new CoolException("鏈壘鍒扮珯鐐硅矾寰�"); } if (wrkMast.getWrkSts() == 14 && wrkMast.getIoType() == 103){ try { @@ -95,7 +116,7 @@ wrkMast.setLocNo(wrkMast.getSourceLocNo()); // 鐩爣搴撲綅 = 鍑哄簱鏃剁殑婧愬簱浣� wrkMast.setSourceLocNo(""); // 婧愬簱浣嶆竻绌� wrkMast.setModiTime(now); - if (wrkMastService.updateById(wrkMast)) { + if (!wrkMastService.updateById(wrkMast)) { throw new CoolException("鏇存柊宸ヤ綔妗f暟鎹姸鎬佸け璐�"); } // 鏇存柊鏄庣粏妗o_time (鍘嗗彶妗e叧鑱斾娇鐢級 @@ -109,14 +130,14 @@ } dto.setWorkNo(wrkMast.getWrkNo()); dto.setLocNo(wrkMast.getLocNo()); - return R.ok(dto); + return dto; } catch (Exception e) { - return R.error(e.getMessage()); + throw new CoolException("鍑洪敊"); } }else { } - return R.error(); + return dto; } @PostMapping("/pakin2/loc/v1") @@ -277,48 +298,59 @@ if (Cools.isEmpty(param.getSourceStaNo())) { return R.error("婧愮珯缂栧彿涓嶈兘涓虹┖"); } - List<WaitPakin> waitPakins = null; - if (param.getIoType() == 1) { - if (Cools.isEmpty(param.getBarcode())) { - return R.error("鏉$爜涓嶈兘涓虹┖"); - } - waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); - if (Cools.isEmpty(waitPakins)) { - WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); - if (wrkMast != null && wrkMast.getIoType() == 103) { - return R.parse(CodeRes.PICK_600); + WrkMast wrkMastPakin = wrkMastService.selectOne(new EntityWrapper<WrkMast>() + .eq("barcode", param.getBarcode()) + .in("io_type", 103,53) + .eq("wrk_sts",14)); + if (!Cools.isEmpty(wrkMastPakin)){ + StartupDto locNo3 = getLocNo3(param); + return R.ok(locNo3); + }else { + List<WaitPakin> waitPakins = null; + if (param.getIoType() == 1) { + if (Cools.isEmpty(param.getBarcode())) { + return R.error("鏉$爜涓嶈兘涓虹┖"); } - return R.parse(CodeRes.NO_COMB_700); + waitPakins = waitPakinService.selectList(new EntityWrapper<WaitPakin>().eq("zpallet", param.getBarcode())); + if (Cools.isEmpty(waitPakins)) { + WrkMast wrkMast = wrkMastService.selectByBarcode(param.getBarcode()); + if (wrkMast != null && wrkMast.getIoType() == 103) { + return R.parse(CodeRes.PICK_600); + } + return R.parse(CodeRes.NO_COMB_700); + } + int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); + int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); + if (countLoc > 0 || countWrk > 0) { + return R.error(CodeRes.EXIST_500); + } } - int countLoc = locDetlService.selectCount(new EntityWrapper<LocDetl>().eq("zpallet",param.getBarcode())); - int countWrk = wrkDetlService.selectCount(new EntityWrapper<WrkDetl>().eq("zpallet",param.getBarcode())); - if (countLoc > 0 || countWrk > 0) { - return R.error(CodeRes.EXIST_500); + if (Cools.isEmpty(param.getLocType1())){ + return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�"); } - } - if (Cools.isEmpty(param.getLocType1())){ - return R.error("楂樹綆妫�娴嬩俊鍙蜂笉鑳戒负绌�"); + + // 婧愮珯鐐圭姸鎬佹娴� + BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); + sourceStaNo.setLocType1(param.getLocType1()); + LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); + + StartupDto dto = null; + switch (param.getIoType()) { + case 1://婊℃墭鐩樺叆搴� + assert waitPakins != null; + dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins); + break; + case 10://绌烘墭鐩樺叆搴� + dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode()); + break; + default: + break; + } + log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarcode()); + return R.ok().add(dto); } - // 婧愮珯鐐圭姸鎬佹娴� - BasDevp sourceStaNo = basDevpService.checkSiteStatus(param.getSourceStaNo(), true); - sourceStaNo.setLocType1(param.getLocType1()); - LocTypeDto locTypeDto = new LocTypeDto(sourceStaNo); - StartupDto dto = null; - switch (param.getIoType()) { - case 1://婊℃墭鐩樺叆搴� - assert waitPakins != null; - dto = startupFullPutStore(param.getSourceStaNo(), param.getBarcode(), locTypeDto, waitPakins); - break; - case 10://绌烘墭鐩樺叆搴� - dto = emptyPlateIn(param.getSourceStaNo(), locTypeDto, param.getBarcode()); - break; - default: - break; - } - log.info("WCS鍏ュ簱鎺ュ彛杩斿弬:{},鎵樼洏鐮�:{}", dto, param.getBarcode()); - return R.ok().add(dto); } @PostMapping("/auto/emptyIn/v1") -- Gitblit v1.9.1