yangyang
2025-03-21 a27be22b8e8f4d0eb48f560303041c8a961202a9
#新增
1. 新增库位分区绑定
6个文件已修改
77 ■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocModifyParams.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocAreaRela.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java 48 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocController.java
@@ -159,6 +159,16 @@
        return locService.modifyLocs(locs);
    }
    @PreAuthorize("hasAuthority('manager:loc:update')")
    @PostMapping("/loc/batch/area")
    @ApiOperation("库位批量分区")
    public R batchLocArea(@RequestBody LocModifyParams locs) {
        if (Objects.isNull(locs)) {
            throw new CoolException("参数不能为空!!");
        }
        return locService.batchBindLocs(locs);
    }
    @PreAuthorize("hasAuthority('manager:loc:update')")
    @ApiOperation("库位初始化")
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/LocTypeController.java
@@ -77,8 +77,16 @@
    @OperationLog("Update loc type")
    @PostMapping("/locType/update")
    public R update(@RequestBody LocType locType) {
        if (Objects.isNull(locType.getName())) {
            throw new CoolException("库位类型不能为空!!");
        }
        if (Objects.isNull(locType.getCode())) {
            throw new CoolException("库位编码不为空!!");
        }
        if (Objects.isNull(locType.getRegex())) {
            throw new CoolException("库位规则表达式不能为空!!");
        }
        locType.setUpdateBy(getLoginUserId());
        locType.setUpdateTime(new Date());
        if (!locTypeService.updateById(locType)) {
            return R.error("Update Fail");
        }
rsf-server/src/main/java/com/vincent/rsf/server/manager/controller/params/LocModifyParams.java
@@ -22,6 +22,10 @@
    @ApiModelProperty("主单ID")
    private List<Long> id;
    @ApiModelProperty("分区ID")
    private Long locAreaId;
    @ApiModelProperty("库位信息")
    private Loc loc;
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/LocAreaRela.java
@@ -3,6 +3,8 @@
import com.baomidou.mybatisplus.annotation.TableLogic;
import java.text.SimpleDateFormat;
import java.util.Date;
import lombok.experimental.Accessors;
import org.springframework.format.annotation.DateTimeFormat;
import java.text.SimpleDateFormat;
import java.util.Date;
@@ -22,6 +24,7 @@
import java.util.Date;
@Data
@Accessors(chain = true)
@TableName("man_loc_area_rela")
public class LocAreaRela implements Serializable {
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/LocService.java
@@ -17,4 +17,6 @@
    boolean saveType(Loc typeIds);
    boolean updateLoc(Loc loc);
    R batchBindLocs(LocModifyParams locs);
}
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
@@ -7,20 +7,15 @@
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.manager.controller.params.LocMastInitParam;
import com.vincent.rsf.server.manager.controller.params.LocModifyParams;
import com.vincent.rsf.server.manager.entity.LocType;
import com.vincent.rsf.server.manager.entity.LocTypeRela;
import com.vincent.rsf.server.manager.entity.WarehouseAreas;
import com.vincent.rsf.server.manager.entity.*;
import com.vincent.rsf.server.manager.mapper.LocMapper;
import com.vincent.rsf.server.manager.entity.Loc;
import com.vincent.rsf.server.manager.mapper.LocTypeRelaMapper;
import com.vincent.rsf.server.manager.service.LocService;
import com.vincent.rsf.server.manager.service.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.vincent.rsf.server.manager.service.LocTypeRelaService;
import com.vincent.rsf.server.manager.service.LocTypeService;
import com.vincent.rsf.server.manager.service.WarehouseAreasService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import springfox.documentation.annotations.ApiIgnore;
import java.util.ArrayList;
import java.util.Date;
@@ -36,6 +31,12 @@
    @Autowired
    private LocTypeRelaService locTypeRelaService;
    @Autowired
    private LocAreaRelaService locAreaRelaService;
    @Autowired
    private LocAreaService locAreaService;
    @Autowired
    private LocTypeRelaMapper locTypeRelaMapper;
@@ -67,7 +68,8 @@
        if (!update) {
            throw new CoolException("库位信息修改失败!!");
        }
        return R.ok("操作成功!!");
        return R.ok(loc);
    }
    @Override
@@ -110,7 +112,6 @@
    @Override
    public boolean saveType(Loc loc) {
        List<LocTypeRela> relas =  new ArrayList<>();
        loc.getTypeIds().forEach(id -> {
            LocTypeRela typeRela = new LocTypeRela();
@@ -127,7 +128,6 @@
    @Override
    public boolean updateLoc(Loc loc) {
        locTypeRelaMapper.delete(new LambdaQueryWrapper<LocTypeRela>().eq(LocTypeRela::getLocId, loc.getId()));
        List<LocTypeRela> relas =  new ArrayList<>();
        loc.getTypeIds().forEach(id -> {
            LocTypeRela typeRela = new LocTypeRela();
@@ -140,4 +140,30 @@
        }
        return true;
    }
    @Override
    public R batchBindLocs(LocModifyParams locs) {
        if (locs.getId().isEmpty()) {
            throw new CoolException("库位ID不能为空!!");
        }
        Loc loc = locs.getLoc();
        if (Objects.isNull(loc)) {
            throw new CoolException("修改库位信息不能为空!!");
        }
        List<LocArea> locAreas = locAreaService.list(new LambdaQueryWrapper<LocArea>().eq(LocArea::getId, locs.getLocAreaId()));
        if (locAreas.isEmpty()) {
            throw new CoolException("库位分区不存在!!");
        }
        List<LocAreaRela> relas = new ArrayList<>();
        locs.getId().forEach(id -> {
            LocAreaRela locAreaRela = new LocAreaRela();
            locAreaRela.setLocId(id).setLocAreaId(locs.getLocAreaId());
            relas.add(locAreaRela);
        });
        if (!locAreaRelaService.saveBatch(relas)) {
            throw new CoolException("库位分区失败!!");
        }
        return R.ok();
    }
}