Jelajahi Sumber

PDA不合格品出库到合格区

k 2 tahun lalu
induk
melakukan
2e6a697a61

+ 30 - 5
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warewms/pda/PdaDocSoController.java

@@ -42,31 +42,51 @@ public class PdaDocSoController {
     private IWmsDocOrderHeaderService wmsDocOrderHeaderService;
 
     /**
-     * PDA出库(不合格)
+     * PDA出库(不合格品->不合格区)
+     * 仓储位->接驳位->不合格区
      *
      * @param docOrderHeader
      * @return
      */
     @Transactional
-    @ApiOperation("仓储位->接驳位->不合格区")
+    @ApiOperation("PDA出库(不合格品->不合格区)")
     @PostMapping("outToTranBHG")
     public AjaxResult outToTranBHG(@RequestBody DocOrderHeader docOrderHeader) {
         docOrderHeader.setQualityStatus("BHG");
+        docOrderHeader.setToArea("BHG");
         return outToTran(docOrderHeader);
     }
 
     /**
-     * PDA出库(合格)
+     * PDA出库(不合格品->合格区)
+     * 仓储位->接驳位->合格区
      *
      * @param docOrderHeader
      * @return
      */
     @Transactional
-    @ApiOperation("仓储位->接驳位->出库缓存区")
+    @ApiOperation("PDA出库(不合格品->合格区)")
+    @PostMapping("outToTranBHGToHG")
+    public AjaxResult outToTranBHGToHG(@RequestBody DocOrderHeader docOrderHeader) {
+        docOrderHeader.setQualityStatus("BHG");
+        docOrderHeader.setToArea("HG");
+        return outToTran(docOrderHeader);
+    }
+
+    /**
+     * PDA出库(合格品->合格区)
+     * 仓储位->接驳位->出库缓存区
+     *
+     * @param docOrderHeader
+     * @return
+     */
+    @Transactional
+    @ApiOperation("PDA出库(合格品)")
     @PostMapping("outToTran")
     public AjaxResult outToTran(@RequestBody DocOrderHeader docOrderHeader) {
         // 质量状态
         String lotatt05 = StringUtils.isEmpty(docOrderHeader.getQualityStatus()) ? "HG" : docOrderHeader.getQualityStatus();
+        String toArea = StringUtils.isEmpty(docOrderHeader.getToArea()) ? "HG" : docOrderHeader.getToArea();
         // 创建出库单
         WmsDocOrderHeader header = new WmsDocOrderHeader();
         header.setOrderStatus("99");
@@ -100,6 +120,7 @@ public class PdaDocSoController {
         agvCallDTO.setWarehouseId(Constant.WAREHOUSE_ID);
         agvCallDTO.setLocationFrom(docOrderHeader.getLocationFrom());
         agvCallDTO.setLocationTo(""); // 目标库位不需要输入
+        agvCallDTO.setToArea(toArea); // 目标区域(货物最终去掉区域)
         List<AgvCallItemDTO> agvCallItemDTOList = new ArrayList<>();
         AgvCallItemDTO agvCallItemDTO = new AgvCallItemDTO();
         agvCallItemDTO.setSku(docOrderHeader.getSku());
@@ -117,8 +138,12 @@ public class PdaDocSoController {
         private String locationTo;
         private String sku;
         /**
-         * 质量状态,PDA不传这个字段
+         * 质量状态(出库分配),PDA不传这个字段
          */
         private String qualityStatus;
+        /**
+         * 目标区域(出库货物最终去掉区域:合格区HG/不合格区BHG),PDA不传这个字段
+         */
+        private String toArea;
     }
 }

+ 1 - 2
warewms-ams/src/main/java/com/ruoyi/ams/business/BusinessServiceImpl.java

@@ -157,7 +157,6 @@ public class BusinessServiceImpl implements IBusinessService {
 
                 } else if (flowConfigHeaderVO.getFlowType().equals("SO")) {
                     AgvCallItemDTO agvCall = agvCallDTO.getAgvCallItemDTOList().get(0);
-                    agvCallDTO.setQualityStatus(agvCall.getLotattDTO().getLotatt05()); // 质量状态
                     List<BaseLocationInfo> locationToList = this.convertLocation(paramLocationTo, agvCallDTO.getWarehouseId(), null);
                     HashMap<String, String> hashMap = JSON.parseObject(JSON.toJSONString(agvCall.getLotattDTO()), HashMap.class);
                     List<BaseLocationInfo> locationFromList = baseLocationInfoMapper.selectSortedLocationLotattListByZoneIdListOrderBy(zoneIdList
@@ -454,7 +453,7 @@ public class BusinessServiceImpl implements IBusinessService {
             wcsTask.setTaskType(Constant.TASK_TYPE.FORWARD.getValue());
             wcsTask.setExt8(token.toString());
             wcsTask.setExt7(flowConfigHeaderVO.getId().toString());
-            wcsTask.setExt6(StringUtils.isNotEmpty(agvCallDTO.getQualityStatus()) ? agvCallDTO.getQualityStatus() : "");
+            wcsTask.setExt6(StringUtils.isNotEmpty(agvCallDTO.getToArea()) ? agvCallDTO.getToArea() : "");
             wcsTask.setExtParam(agvCallDTO.getExtParam());
             wcsTaskList.add(wcsTask);
             businessService.addTask(wcsTask);

+ 1 - 1
warewms-ams/src/main/java/com/ruoyi/ams/config/domain/dto/AgvCallDTO.java

@@ -16,6 +16,6 @@ public class AgvCallDTO {
     private String palletNo;
     private String extParam;
     private Long warehouseId;
-    private String qualityStatus;// 质量状态
+    private String toArea;// 目标区域(货物最终去掉区域)
     private List<AgvCallItemDTO> agvCallItemDTOList = new ArrayList<>();
 }