skyouc
2025-03-20 92b62eae6ee68bd693457a16f3bdfb1d684a8fec
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/LocServiceImpl.java
@@ -1,15 +1,22 @@
package com.vincent.rsf.server.manager.service.impl;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.vincent.rsf.framework.common.R;
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.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.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;
@@ -26,6 +33,12 @@
    @Autowired
    private WarehouseAreasService warehouseAreasService;
    @Autowired
    private LocTypeRelaService locTypeRelaService;
    @Autowired
    private LocTypeRelaMapper locTypeRelaMapper;
    @Override
    public R modifyLocs(LocModifyParams locs) {
@@ -80,7 +93,7 @@
                            .setCol(b)
                            .setLev(l)
                            .setAreaId(param.getAreaId())
                            .setWarehouseId(warehouseAreas.getWareId())
                            .setWarehouseId(warehouseAreas.getWarehouseId())
                            .setType(param.getType());
                    list.add(loc);
@@ -92,4 +105,37 @@
        }
        return R.ok("初始化成功!!");
    }
    @Override
    public boolean saveType(Loc loc) {
        List<LocTypeRela> relas =  new ArrayList<>();
        loc.getTypeIds().forEach(id -> {
            LocTypeRela typeRela = new LocTypeRela();
            typeRela.setTypeId(id)
                    .setLocId(loc.getId());
            relas.add(typeRela);
        });
        if (!locTypeRelaService.saveOrUpdateBatch(relas)) {
            throw new CoolException("库位关联关系保存失败!!");
        }
        return true;
    }
    @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();
            typeRela.setTypeId(id)
                    .setLocId(loc.getId());
            relas.add(typeRela);
        });
        if (!locTypeRelaService.saveOrUpdateBatch(relas)) {
            throw new CoolException("库位关联关系保存失败!!");
        }
        return true;
    }
}