Commit 3a7db405 LN

物料分组出库功能

1 个父辈 64564e02
...@@ -11,10 +11,7 @@ import com.neotel.smfcore.common.utils.StorageConstants; ...@@ -11,10 +11,7 @@ import com.neotel.smfcore.common.utils.StorageConstants;
import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE; import com.neotel.smfcore.core.barcode.enums.COMPONENT_TYPE;
import com.neotel.smfcore.core.device.util.DataCache; import com.neotel.smfcore.core.device.util.DataCache;
import com.neotel.smfcore.core.storage.bean.InventoryItem; import com.neotel.smfcore.core.storage.bean.InventoryItem;
import com.neotel.smfcore.core.storage.rest.dto.InventoryItemDto; import com.neotel.smfcore.core.storage.rest.dto.*;
import com.neotel.smfcore.core.storage.rest.dto.StorageDto;
import com.neotel.smfcore.core.storage.rest.dto.StoragePosDto;
import com.neotel.smfcore.core.storage.rest.dto.TacticsOutDto;
import com.neotel.smfcore.core.storage.rest.mapstruct.InventoryItemMapper; import com.neotel.smfcore.core.storage.rest.mapstruct.InventoryItemMapper;
import com.neotel.smfcore.core.storage.rest.mapstruct.StoragePosMapper; import com.neotel.smfcore.core.storage.rest.mapstruct.StoragePosMapper;
import com.neotel.smfcore.core.storage.rest.query.InventoryQueryCriteria; import com.neotel.smfcore.core.storage.rest.query.InventoryQueryCriteria;
...@@ -155,13 +152,14 @@ public class MaterialController { ...@@ -155,13 +152,14 @@ public class MaterialController {
@ApiOperation("物料分组界面选择出库") @ApiOperation("物料分组界面选择出库")
@PostMapping(value = "/labelOuput") @PostMapping(value = "/labelOuput")
@PreAuthorize("@el.check('labelOuput')") @PreAuthorize("@el.check('labelOuput')")
public ResultBean labelOuput(@RequestBody Set<String> posSet) { public ResultBean labelOuput(@RequestBody PosLabelDto params) {
List<String> posIds=params.getPosIds();
if (posSet == null) { if (posIds == null) {
throw new ValidateException("smfcode.valueCanotNull", "{0}不能为空", new String[]{"PN"}); throw new ValidateException("smfcode.valueCanotNull", "{0}不能为空", new String[]{"PN"});
} }
for (String posId:posSet){ for (String posId:posIds){
StoragePos pos = storagePosManager.get(posId); StoragePos pos = storagePosManager.get(posId);
if (pos == null) { if (pos == null) {
throw new ValidateException("smfcode.valueNotExist","{0}[{1}]不存在",new String[]{"posId",posId}); throw new ValidateException("smfcode.valueNotExist","{0}[{1}]不存在",new String[]{"posId",posId});
...@@ -184,24 +182,21 @@ public class MaterialController { ...@@ -184,24 +182,21 @@ public class MaterialController {
@ApiOperation("批量修改库位分组") @ApiOperation("批量修改库位分组")
@PostMapping(value = "/updatePosLabel") @PostMapping(value = "/updatePosLabel")
@PreAuthorize("@el.check('tacticsOuput')") @PreAuthorize("@el.check('tacticsOuput')")
public ResultBean updatePosLabel(@RequestBody Map<String, Object> params) { public ResultBean updatePosLabel(@RequestBody PosLabelDto params) {
List<String> posIds=(List<String>) params.get("posIds"); // {"posIds":["61157","61152","61094"],"labelId":""}
Set<String> posSet=new HashSet<>(); // List<String> posIds=(List<String>) params.get("posIds");
String labelId = params.get("labelId").toString(); // String labelId = params.get("labelId").toString();
List<String> posIds=params.getPosIds();
String labelId =params.getLabelId();
if(posIds==null||posIds.size()<=0){ if(posIds==null||posIds.size()<=0){
throw new ValidateException("smfcode.valueCanotNull", "{0}不能为空", new String[]{"ID"}); throw new ValidateException("smfcode.valueCanotNull", "{0}不能为空", new String[]{"ID"});
} }
if(ObjectUtil.isEmpty(labelId)){ if(ObjectUtil.isEmpty(labelId)){
labelId=""; labelId="";
} }
String[] array= posIds.toArray(new String[posIds.size()]) ;
for (String id : storagePosManager.updatePosLabel(array,labelId);
posIds) {
posSet.add(id);
}
storagePosManager.updatePosLabel(posSet,labelId);
return ResultBean.newOkResult(""); return ResultBean.newOkResult("");
} }
......
...@@ -77,6 +77,9 @@ public class StoragePosController { ...@@ -77,6 +77,9 @@ public class StoragePosController {
@GetMapping @GetMapping
@PreAuthorize("@el.check('storagePos:list')") @PreAuthorize("@el.check('storagePos:list')")
public PageData<StoragePosDto> query(StoragePosQueryCriteria criteria, Pageable pageable){ public PageData<StoragePosDto> query(StoragePosQueryCriteria criteria, Pageable pageable){
if(criteria.getStorageIdList()!=null&&criteria.getStorageIdList().contains("0")){
criteria.setStorageIdList(null);
}
Query query= QueryHelp.getQuery(criteria); Query query= QueryHelp.getQuery(criteria);
PageData<StoragePos> pages=storagePosManager.findByPage(query,pageable); PageData<StoragePos> pages=storagePosManager.findByPage(query,pageable);
List<StoragePosDto> StoragePosDtos=storagePosMapper.toDto(pages.getContent()); List<StoragePosDto> StoragePosDtos=storagePosMapper.toDto(pages.getContent());
......
package com.neotel.smfcore.core.storage.rest.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import java.util.List;
@Getter
@Setter
public class PosLabelDto {
@ApiModelProperty("库位号ID")
private List<String> posIds;
@ApiModelProperty("标签ID")
private String labelId;
}
...@@ -48,5 +48,5 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> { ...@@ -48,5 +48,5 @@ public interface IStoragePosManager extends IBaseManager<StoragePos> {
void clearStoragePosLabel(String id); void clearStoragePosLabel(String id);
void updatePosLabel(Set<String> posIds, String labelId); void updatePosLabel( String[] posIds, String labelId);
} }
...@@ -383,9 +383,9 @@ public class StoragePosManagerImpl implements IStoragePosManager { ...@@ -383,9 +383,9 @@ public class StoragePosManagerImpl implements IStoragePosManager {
} }
@Override @Override
public void updatePosLabel(Set<String> posIds, String labelId) { public void updatePosLabel( String[] posIds, String labelId) {
Query query = new Query(Criteria.where("id").in(posIds)); Query query = new Query(Criteria.where("id").in(posIds));
storagePosDao.updateMulti(query, Update.update("labelId","")); storagePosDao.updateMulti(query, Update.update("labelId",labelId));
} }
} }
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!