24282 2 жил өмнө
parent
commit
1f5e6049b2

+ 10 - 4
hx-service-api/storage-api/src/main/java/com/fjhx/entity/stock/StockWater.java

@@ -1,9 +1,9 @@
 package com.fjhx.entity.stock;
 
+import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
-import com.fjhx.base.BaseEntity;
+import com.baomidou.mybatisplus.annotation.TableId;
 import lombok.Data;
-import lombok.EqualsAndHashCode;
 
 import java.math.BigDecimal;
 import java.util.Date;
@@ -17,9 +17,15 @@ import java.util.Date;
  * @since 2022-07-04
  */
 @Data
-@EqualsAndHashCode(callSuper = true)
-public class StockWater extends BaseEntity {
+public class StockWater {
 
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 主键id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
 
     /**
      * 软删除

+ 15 - 15
hx-service-api/storage-api/src/main/java/com/fjhx/params/stock/StockOutDto.java

@@ -15,39 +15,39 @@ import java.util.List;
 public class StockOutDto {
 
     @NotBlank(message = "操作人id不能为空")
-    private String operUserId;
+    private String userId;
 
-    @NotBlank(message = "仓库id不能为空")
-    private String houseId;
+    @NotNull(message = "仓库id不能为空")
+    private Integer plcCode;
 
-    @NotNull(message = "出入库设备类型不能为空")
-    private Integer device;
+    @Valid
+    @NotEmpty(message = "出库明细不能为空")
+    private List<String> rfidItems;
 
     @NotNull(message = "出库类型不能为空")
-    private Integer changeType;
+    private Integer stockChangeType;
 
     /**
      * 备注
      */
     private String remark;
 
-    @Valid
-    @NotEmpty(message = "出库明细不能为空")
+    @NotNull(message = "出入库设备类型不能为空")
+    private Integer device;
+
+
     private List<Detail> detailList;
 
+    public String getPlcCode() {
+        return plcCode == 1 ? "c185883dba22478cb593d33f6b66cc53" : "0b8f584250bb4b40b72d641ce4849d15";
+    }
+
     @Getter
     @Setter
     public static class Detail {
-
-        @NotBlank(message = "物料编码不能为空")
         private String materialCode;
-
-        @NotBlank(message = "rfid不能为空")
         private String rfidCode;
-
-        @NotBlank(message = "出库数量不能为空")
         private BigDecimal quantity;
-
     }
 
 }

+ 15 - 6
hx-service/storage/src/main/java/com/fjhx/stock/service/impl/StockServiceImpl.java

@@ -45,7 +45,16 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
     @Override
     public void out(StockOutDto dto) {
 
-        List<StockOutDto.Detail> detailList = dto.getDetailList();
+        List<String> rfidItems = dto.getRfidItems();
+        List<StockDetail> list = stockDetailService.list(q -> q.in(StockDetail::getRfidcode, rfidItems).eq(StockDetail::getIsdelete, 0));
+        List<StockOutDto.Detail> detailList = list.stream().map(item -> {
+            StockOutDto.Detail detail = new StockOutDto.Detail();
+            detail.setMaterialCode(item.getMaterialcode());
+            detail.setQuantity(item.getQuantity());
+            detail.setRfidCode(item.getRfidcode());
+            return detail;
+        }).collect(Collectors.toList());
+        dto.setDetailList(detailList);
 
         // 物料编码集合
         Set<String> materialCodeList = detailList.stream().map(StockOutDto.Detail::getMaterialCode).collect(Collectors.toSet());
@@ -121,11 +130,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
             stockWater.setCreatedtime(date);
             stockWater.setUpdatedtime(date);
             stockWater.setWaterno(waterNo + "");
-            stockWater.setOperuserid(dto.getOperUserId());
+            stockWater.setOperuserid(dto.getUserId());
             stockWater.setTotalqty(v);
-            stockWater.setStockhouseid(dto.getHouseId());
+            stockWater.setStockhouseid(dto.getPlcCode());
             stockWater.setMaterialcode(k);
-            stockWater.setStockchangetype(dto.getChangeType());
+            stockWater.setStockchangetype(dto.getStockChangeType());
             stockWater.setRemark(dto.getRemark());
             stockWater.setOldquantity(ObjectUtil.defaultIfNull(oldStockQyantityMap.get(k), BigDecimal.ZERO));
             stockWater.setAbnormaloutstate(1);
@@ -152,11 +161,11 @@ public class StockServiceImpl extends ServiceImpl<StockMapper, Stock> implements
             stockWaterdetial.setCreatedTime(date);
             stockWaterdetial.setUpdatedTime(date);
             stockWaterdetial.setWaterId(waterNo + "");
-            stockWaterdetial.setOperUserId(dto.getOperUserId());
+            stockWaterdetial.setOperUserId(dto.getUserId());
             stockWaterdetial.setMaterialCode(detail.getMaterialCode());
             stockWaterdetial.setChangeNum(detail.getQuantity());
             stockWaterdetial.setRfidCode(detail.getRfidCode());
-            stockWaterdetial.setStockChangeType(dto.getChangeType());
+            stockWaterdetial.setStockChangeType(dto.getStockChangeType());
             stockWaterdetial.setInOutDevice(dto.getDevice());
             stockWaterdetial.setNewInterface(1);