24282 1 год назад
Родитель
Сommit
b251c73ee0

+ 10 - 0
sd-business/src/main/java/com/sd/business/controller/in/InOutStorageController.java

@@ -2,6 +2,7 @@ package com.sd.business.controller.in;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.domain.BaseSelectDto;
+import com.sd.business.entity.in.dto.AddAllotDto;
 import com.sd.business.entity.in.dto.InOutStorageDto;
 import com.sd.business.entity.in.dto.InOutStorageSelectDto;
 import com.sd.business.entity.in.vo.InOutStorageVo;
@@ -50,10 +51,19 @@ public class InOutStorageController {
      */
     @PostMapping("/add")
     public void add(@Validated @RequestBody InOutStorageDto inOutStorageDto) {
+        inOutStorageDto.setAllotFlag(null);
         inOutStorageService.add(inOutStorageDto);
     }
 
     /**
+     * 调拨入库
+     */
+    @PostMapping("/addAllot")
+    public void addAllot(@Validated @RequestBody AddAllotDto dto) {
+        inOutStorageService.addAllot(dto);
+    }
+
+    /**
      * 出入库编辑
      */
     @PostMapping("/edit")

+ 50 - 0
sd-business/src/main/java/com/sd/business/entity/in/dto/AddAllotDto.java

@@ -0,0 +1,50 @@
+package com.sd.business.entity.in.dto;
+
+import com.sd.business.entity.in.po.InOutStorageBom;
+import lombok.Getter;
+import lombok.Setter;
+
+import javax.validation.Valid;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotEmpty;
+import javax.validation.constraints.NotNull;
+import java.util.List;
+
+@Getter
+@Setter
+public class AddAllotDto {
+
+    /**
+     * 调入仓库id
+     */
+    @NotNull(message = "调入仓库id不能为空")
+    private Long inWarehouseId;
+
+    /**
+     * 调出仓库id
+     */
+    @NotNull(message = "调出仓库id不能为空")
+    private Long outWarehouseId;
+
+    /**
+     * 事业部id
+     */
+    @NotNull(message = "事业部id不能为空")
+    private Long departmentId;
+
+    /**
+     * 申请人
+     */
+    @NotBlank(message = "申请人不能为空")
+    private String applicant;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+    @Valid
+    @NotEmpty(message = "物料信息不能为空")
+    private List<InOutStorageBom> inOutStorageBomList;
+
+}

+ 1 - 1
sd-business/src/main/java/com/sd/business/entity/in/emums/InDetailTypeEnum.java

@@ -15,7 +15,7 @@ public enum InDetailTypeEnum {
     PRODUCTION(2, "生产入库"),
     RETURN_GOODS(3, "退货入库"),
     GIVE_BACK(4, "归还入库"),
-    ALLOT(5, "调拨库"),
+    ALLOT(5, "调拨库"),
     OTHER(6, "其他入库"),
     ABANDON(7, "废弃入库"),
     CHECK(8, "盘点修正"),

+ 5 - 0
sd-business/src/main/java/com/sd/business/entity/in/po/InOutStorage.java

@@ -66,4 +66,9 @@ public class InOutStorage extends BasePo {
      */
     private String remark;
 
+    /**
+     * 调仓标记
+     */
+    private Long allotFlag;
+
 }

+ 6 - 0
sd-business/src/main/java/com/sd/business/service/in/InOutStorageService.java

@@ -2,6 +2,7 @@ package com.sd.business.service.in;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ruoyi.common.core.service.BaseService;
+import com.sd.business.entity.in.dto.AddAllotDto;
 import com.sd.business.entity.in.dto.InOutStorageDto;
 import com.sd.business.entity.in.dto.InOutStorageSelectDto;
 import com.sd.business.entity.in.po.InOutStorage;
@@ -43,4 +44,9 @@ public interface InOutStorageService extends BaseService<InOutStorage> {
      */
     void delete(Long id);
 
+    /**
+     * 调拨入库
+     */
+    void addAllot(AddAllotDto dto);
+
 }

+ 22 - 0
sd-business/src/main/java/com/sd/business/service/in/impl/InOutStorageServiceImpl.java

@@ -1,12 +1,16 @@
 package com.sd.business.service.in.impl;
 
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.ruoyi.common.utils.wrapper.IWrapper;
+import com.sd.business.entity.in.dto.AddAllotDto;
 import com.sd.business.entity.in.dto.InOutStorageDto;
 import com.sd.business.entity.in.dto.InOutStorageSelectDto;
+import com.sd.business.entity.in.emums.InDetailTypeEnum;
 import com.sd.business.entity.in.emums.InOutTypeEnum;
+import com.sd.business.entity.in.emums.OutDetailTypeEnum;
 import com.sd.business.entity.in.po.InOutStorage;
 import com.sd.business.entity.in.po.InOutStorageBom;
 import com.sd.business.entity.in.vo.InOutStorageVo;
@@ -97,4 +101,22 @@ public class InOutStorageServiceImpl extends ServiceImpl<InOutStorageMapper, InO
         this.removeById(id);
     }
 
+    @Transactional(rollbackFor = Exception.class)
+    @Override
+    public void addAllot(AddAllotDto dto) {
+        long allotFlag = IdWorker.getId();
+
+        InOutStorageDto inStorageDto = BeanUtil.toBean(dto, InOutStorageDto.class);
+        inStorageDto.setType(InOutTypeEnum.IN.getKey());
+        inStorageDto.setDetailType(InDetailTypeEnum.ALLOT.getKey());
+        inStorageDto.setAllotFlag(allotFlag);
+        add(inStorageDto);
+
+        InOutStorageDto outStorageDto = BeanUtil.toBean(dto, InOutStorageDto.class);
+        outStorageDto.setType(InOutTypeEnum.OUT.getKey());
+        outStorageDto.setDetailType(OutDetailTypeEnum.ALLOT.getKey());
+        outStorageDto.setAllotFlag(allotFlag);
+        add(outStorageDto);
+    }
+
 }