From 6232fbd6d795402ee01701feb4991eb42b995d43 Mon Sep 17 00:00:00 2001 From: liuxy Date: Fri, 18 Apr 2025 15:22:05 +0800 Subject: [PATCH] =?UTF-8?q?add=EF=BC=9A=E6=96=B0=E5=A2=9E=E6=89=8B?= =?UTF-8?q?=E6=8C=81=E3=80=90=E8=BD=AF=E5=BA=9F=E7=9B=B4=E6=8E=A5=E5=85=A5?= =?UTF-8?q?=E5=BA=93=E3=80=91=E5=8A=9F=E8=83=BD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../st/in/rest/HandNewMaterialController.java | 14 ++++ .../st/in/service/HandNewMaterialService.java | 16 ++++ .../impl/HandNewMaterialServiceImpl.java | 74 +++++++++++++++++++ 3 files changed, 104 insertions(+) diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/rest/HandNewMaterialController.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/rest/HandNewMaterialController.java index 31c37d08..bac47a18 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/rest/HandNewMaterialController.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/rest/HandNewMaterialController.java @@ -135,4 +135,18 @@ public class HandNewMaterialController { return new ResponseEntity<>(handNewMaterialService.insideInConfirm(whereJson),HttpStatus.OK); } + @PostMapping("/directIn") + @Log("软废直接入库查询组盘信息") + @ApiOperation("软废直接入库查询组盘信息") + public ResponseEntity directIn(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(handNewMaterialService.directIn(whereJson),HttpStatus.OK); + } + + @PostMapping("/directInConfirm") + @Log("软废直接入库确认") + @ApiOperation("软废直接入库确认") + public ResponseEntity directInConfirm(@RequestBody JSONObject whereJson) { + return new ResponseEntity<>(handNewMaterialService.directInConfirm(whereJson),HttpStatus.OK); + } + } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/HandNewMaterialService.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/HandNewMaterialService.java index a79f0b16..8d88fa2b 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/HandNewMaterialService.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/HandNewMaterialService.java @@ -115,4 +115,20 @@ public interface HandNewMaterialService { * @return Map 字典内容 */ Map getIvtLevel(); + + /** + * 软废直接入库查询组盘信息 + * + * @param whereJson 条件 + * @return Map + */ + Map directIn(JSONObject whereJson); + + /** + * 软废直接入库确认 + * + * @param whereJson 条件 + * @return Map + */ + Map directInConfirm(JSONObject whereJson); } diff --git a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/impl/HandNewMaterialServiceImpl.java b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/impl/HandNewMaterialServiceImpl.java index ceaa5d02..1b0a1040 100644 --- a/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/impl/HandNewMaterialServiceImpl.java +++ b/mes/hd/nladmin-system/src/main/java/org/nl/pda/st/in/service/impl/HandNewMaterialServiceImpl.java @@ -10,6 +10,7 @@ import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; +import org.nl.exception.BadRequestException; import org.nl.modules.security.service.dto.JwtUserDto; import org.nl.modules.system.service.impl.ParamServiceImpl; import org.nl.modules.system.util.CodeUtil; @@ -1065,6 +1066,79 @@ public class HandNewMaterialServiceImpl implements HandNewMaterialService { return returnjo; } + @Override + public Map directIn(JSONObject whereJson) { + + String vehicle_code = whereJson.getString("vehicle_code"); + if (ObjectUtil.isEmpty(vehicle_code)) throw new PdaRequestException("载具号不能为空"); + + JSONArray resultJSONArray = WQL.getWO("QST_IVT_RAWASSISTISTOR") + .addParam("flag", "12").addParam("storagevehicle_code", vehicle_code) + .process().getResultJSONArray(0); + + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "查询成功!"); + returnjo.put("content", resultJSONArray); + return returnjo; + } + + @Override + @Transactional(rollbackFor = Exception.class) + public Map directInConfirm(JSONObject whereJson) { + + String vehicle_code = whereJson.getString("vehicle_code"); + String point_code = whereJson.getString("point_code"); + + if (ObjectUtil.isEmpty(vehicle_code)) throw new PdaRequestException("载具号不能为空!"); + if (ObjectUtil.isEmpty(point_code)) throw new PdaRequestException("站点不能为空!"); + + // 此入库只能是RFRK01/RFRK02 + if (!"RFRK01,RFRK02".contains(point_code)) { + throw new BadRequestException("此页面只允许固定点位入库【RFRK01/RFRK02】"); + } + + /* + * 1.根据托盘号找到生成状态的分配明细 + * 2.调用接口自动分配并下发任务 + */ + // 根据托盘找到分配明细 + JSONArray disArr = WQL.getWO("QST_IVT_RAWASSISTISTOR") + .addParam("storagevehicle_code", vehicle_code).addParam("flag", "13") + .process().getResultJSONArray(0); + + if (ObjectUtil.isEmpty(disArr)) throw new PdaRequestException("未找到对应分配明细!"); + + // 调用入库分配接口并下发任务 + ArrayList> list = new ArrayList<>(); + for (int i = 0; i < disArr.size(); i++) { + JSONObject jo = disArr.getJSONObject(i); + HashMap row = new HashMap<>(); + row.put("point_code", point_code); + row.put("storagevehicle_id", jo.getString("storagevehicle_id")); + row.put("storagevehicle_code", jo.getString("storagevehicle_code")); + row.put("storagevehicle_type", jo.getString("storagevehicle_type")); + row.put("material_id", jo.getString("material_id")); + row.put("iostorinv_id", jo.getString("iostorinv_id")); + JSONObject mater_jo = WQLObject.getWQLObject("md_me_materialbase").query("material_id = '" + jo.getString("material_id") + "'").uniqueResult(0); + row.put("material_code", mater_jo.getString("material_code")); + list.add(row); + } + whereJson.put("tableMater", list); + whereJson.put("checked", true); + whereJson.put("auto_issue", true); + try { + rawAssistIStorService.divStruct(whereJson); + } catch (Exception e) { + throw new PdaRequestException(e.getMessage()); + } + + JSONObject returnjo = new JSONObject(); + returnjo.put("code", "1"); + returnjo.put("desc", "入库成功!"); + return returnjo; + } + @Transactional(rollbackFor = Exception.class) public void insertBucket(HashMap row) { WQLObject bucket_wql = WQLObject.getWQLObject("MD_PB_BucketRecord");