Commit 63168527 zshaohui

库位批量启动或禁用

1 个父辈 59765f11
......@@ -31,6 +31,7 @@ import com.neotel.smfcore.core.storage.service.po.Storage;
import com.neotel.smfcore.core.storage.service.po.StoragePos;
import com.neotel.smfcore.core.system.util.TaskService;
import com.neotel.smfcore.custom.siemens.SiemensApi;
import com.neotel.smfcore.security.annotation.AnonymousAccess;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.RequiredArgsConstructor;
......@@ -239,6 +240,27 @@ public class StoragePosController {
return ResultBean.newOkResult("");
}
@ApiOperation("批量启用或禁用库位")
@PutMapping("/batchEnabledOrDisabledPos")
@PreAuthorize("@el.check('storagePos:edit')")
public ResultBean batchEnabledOrDisabledPos(@RequestBody StoragePosEnabledDto enabledDto) {
List<String> idList = enabledDto.getIdList();
if (idList == null || idList.isEmpty()) {
return ResultBean.newErrorResult(1,"smfcore.valueCanotNull", "{0}不能为空", new String[]{"ID"});
}
storagePosManager.batchUpdatePosEnabled(idList, enabledDto.isEnabled());
//查询库位具体信息,更新缓存
List<StoragePos> posList = storagePosManager.findPosByIdList(idList);
for (StoragePos pos : posList) {
dataCache.updateDisablePos(pos);
log.info("启用或禁用库位:库位号[" + pos.getId() + "][" + pos.getPosName() + "]=" + enabledDto.isEnabled());
DeviceMessageUtil.addEnabledPosMessage(pos, SecurityUtils.getCurrentUsername());
}
for (Storage storage : dataCache.getAllStorage().values()) {
dataCache.reloadStorage(storage, storage.getCid());
}
return ResultBean.newOkResult("");
}
@ApiOperation("修改库位")
@PutMapping
......
......@@ -5,6 +5,7 @@ import lombok.Getter;
import lombok.Setter;
import java.io.Serializable;
import java.util.List;
@Getter
@Setter
......@@ -12,6 +13,9 @@ public class StoragePosEnabledDto implements Serializable {
@ApiModelProperty("库位ID")
private String id;
@ApiModelProperty("库位ID列表")
private List<String> idList;
@ApiModelProperty("启用/禁用")
private boolean enabled = true;
}
......@@ -74,4 +74,8 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
List<StoragePos> findDisabled();
StoragePos getEmptyWarmPos(Storage storage, Barcode barcode, Collection<String> excludePosIds) throws ValidateException;
void batchUpdatePosEnabled(List<String> idList, boolean enabled);
List<StoragePos> findPosByIdList(List<String> idList);
}
......@@ -622,4 +622,18 @@ public class StoragePosManagerImpl implements IStoragePosManager {
return getEmptyPos(storage,barcode, excludePosIds,true);
}
@Override
public void batchUpdatePosEnabled(List<String> idList, boolean enabled) {
Query query = new Query(Criteria.where("id").in(idList));
Update update = new Update();
update.set("enabled",enabled);
storagePosDao.updateMulti(query,update);
}
@Override
public List<StoragePos> findPosByIdList(List<String> idList) {
Query query = new Query(Criteria.where("id").in(idList));
return storagePosDao.findByQuery(query);
}
}
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!