Browse Source

1.市配单产品名称查询

2.添加包件下架 解托接口
training
zhenghaoyu 11 months ago
parent
commit
b1d4bd12c6
  1. 6
      blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java
  2. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java
  3. 20
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java
  4. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java
  5. 2
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java
  6. 80
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java
  7. 62
      blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

6
blade-service-api/logpm-warehouse-api/src/main/java/com/logpm/warehouse/feign/IWarehouseUpdownTypeClient.java

@ -52,4 +52,10 @@ public interface IWarehouseUpdownTypeClient {
@PostMapping(TOP + "/packageChangeStock")
boolean packageChangeStock(@RequestBody List<String> orderPackageCodes);
@GetMapping(TOP + "/downPackageOrDelTray")
R downPackageOrDelTray(@RequestParam("orderPackageCodes") String orderPackageCodes, @RequestParam("warehouseId") Long warehouseId);
}

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseTrayTypeClient.java

@ -28,7 +28,7 @@ public class WarehouseTrayTypeClient implements IWarehouseTrayTypeClient {
@Override
public TrayTypeDataVO selectListByTrayCode(String trayCode) {
return warehouseTrayTypeService.selectListByTrayCode(trayCode);
return warehouseTrayTypeService.selectListByTrayCodeNoLimitation(trayCode);
}
@Override

20
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/feign/WarehouseUpdownTypeClient.java

@ -20,6 +20,7 @@ import com.alibaba.fastjson.JSONObject;
import com.logpm.warehouse.dto.UpShelfPackageDTO;
import com.logpm.warehouse.dto.UpShelfStockDTO;
import com.logpm.warehouse.dto.UpShelfZeroOrderDTO;
import com.logpm.warehouse.service.IWarehouseTaryAllocationService;
import com.logpm.warehouse.service.IWarehouseUpdownTypeService;
import lombok.AllArgsConstructor;
import org.springblade.core.tool.api.R;
@ -58,6 +59,25 @@ public class WarehouseUpdownTypeClient implements IWarehouseUpdownTypeClient {
}
}
@Override
public R downPackageOrDelTray(String orderPackageCodes,Long warehouseId) {
List<UpShelfPackageDTO> upShelfPackageList = new ArrayList<>();
String[] split = orderPackageCodes.split(",");
for(String orderPackageCode:split){
UpShelfPackageDTO dto = new UpShelfPackageDTO();
dto.setOrderPackageCode(orderPackageCode);
upShelfPackageList.add(dto);
}
if(upShelfPackageList.size() > 0){
return warehouseUpdownTypeService.downPackageOrDelTray(upShelfPackageList,warehouseId);
}else{
return R.fail(403,"处理失败");
}
}
@Override
public R downZeroOrder(List<JSONObject> zeroOrders) {
List<UpShelfZeroOrderDTO> ls = new ArrayList<>();

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseTrayTypeService.java

@ -89,4 +89,6 @@ public interface IWarehouseTrayTypeService extends BaseService<WarehouseTrayType
R selectStockByMaterialNameAndMarketId(Long marketId, String materialName, Long warehouseId);
TrayTypeDataVO selectListByTrayCode(String trayCode);
TrayTypeDataVO selectListByTrayCodeNoLimitation(String trayCode);
}

2
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/IWarehouseUpdownTypeService.java

@ -39,6 +39,8 @@ public interface IWarehouseUpdownTypeService extends BaseService<WarehouseUpdown
R downPackage(List<UpShelfPackageDTO> upShelfPackageList,Long warehouseId);
R downPackageOrDelTray(List<UpShelfPackageDTO> upShelfPackageList,Long warehouseId);
R downZeroOrder(List<UpShelfZeroOrderDTO> upShelfPackageList,Long warehouseId);
R downEnterStock(String code, Integer stockType, Long marketId,Long warehouseId);

80
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseTrayTypeServiceImpl.java

@ -2621,6 +2621,86 @@ public class WarehouseTrayTypeServiceImpl extends BaseServiceImpl<WarehouseTrayT
}
@Override
public TrayTypeDataVO selectListByTrayCodeNoLimitation(String trayCode) {
BasicdataTrayEntity basicdataTrayEntity = basicdataTrayClient.getTrayByTrayCode(trayCode);
if(Objects.isNull(basicdataTrayEntity)){
log.warn("###############getEntityByTrayCode: 托盘不存在 trayCode={}",trayCode);
throw new CustomerException(403,"托盘不存在");
}
Integer disableType = basicdataTrayEntity.getDisableType();
if(disableType == 2){
log.warn("###############getEntityByTrayCode: 该托盘已被禁用 trayCode={}",trayCode);
throw new CustomerException(403,"该托盘已被禁用");
}
Long trayId = basicdataTrayEntity.getId();
// Long allocationId = warehouseTaryAllocationService.getAllocationIdByTrayId(trayId);
// if(!Objects.isNull(allocationId)){
// log.warn("###############getEntityByTrayCode: 托盘已上架 allocationId={}",allocationId);
// throw new CustomerException(403,"托盘已上架");
// }
//根据托盘编码查询是否有托盘编码存在打托数据
QueryWrapper<WarehouseTrayTypeEntity> queryTrayTypeWrapper = new QueryWrapper<>();
queryTrayTypeWrapper.eq("is_deleted",0)
.eq("tray_code",trayCode);
WarehouseTrayTypeEntity trayTypeEntity = baseMapper.selectOne(queryTrayTypeWrapper);
if(Objects.isNull(trayTypeEntity)){
//没有查询到托盘打托信息
return null;
}
String type = trayTypeEntity.getType();//类型 1扫码分拣(订制品) 2人工分拣(零担) 3库存品
Long trayTypeId = trayTypeEntity.getId();//打托方式id
String trayType = trayTypeEntity.getTrayType();
Long wId = trayTypeEntity.getWarehouseId();//托盘打托仓库
TrayTypeDataVO trayTypeDataVO = new TrayTypeDataVO();
trayTypeDataVO.setTrayTypeId(trayTypeId);
trayTypeDataVO.setType(type);
trayTypeDataVO.setTrayCode(trayTypeEntity.getTrayCode());
trayTypeDataVO.setTrayNum(trayTypeEntity.getTotalNum());
trayTypeDataVO.setName(trayTypeEntity.getFilterValue());
trayTypeDataVO.setOrderTotalNum(trayTypeEntity.getOrderTotalNum());
trayTypeDataVO.setTrayType(trayType);
trayTypeDataVO.setMarketId(trayTypeEntity.getMarketId());
trayTypeDataVO.setMarketName(trayTypeEntity.getMarketName());
trayTypeDataVO.setReamrk(trayTypeEntity.getRemark());
trayTypeDataVO.setWarehosueId(wId);
QueryWrapper<WarehouseTrayGoodsEntity> queryWrapper =new QueryWrapper<>();
queryWrapper.eq("tray_type_id",trayTypeId);
List<WarehouseTrayGoodsEntity> goodsList = warehouseTrayGoodsService.list(queryWrapper);
trayTypeDataVO.setGoodsLsit(goodsList);
// if(PalletProductTypeConstant.CUSTOMIZED.equals(type)){//订制品打托
// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_ORDER_TYPE, trayTypeEntity.getTrayType());
// trayTypeDataVO.setTrayTypeName(trayTypeName);
// List<TrayTypeDataListVO> list = warehouseTrayGoodsService.getListByTrayTypeId(trayTypeId);
// trayTypeDataVO.setList(list);
// }else if(PalletProductTypeConstant.ARTIFICIAL.equals(type)){
// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_ZERO_TYPE, trayTypeEntity.getTrayType());
// trayTypeDataVO.setTrayTypeName(trayTypeName);
// List<TrayTypeDataListVO> list = warehouseTrayGoodsService.getZeroListByTrayTypeId(trayTypeId);
// trayTypeDataVO.setList(list);
// }else if(PalletProductTypeConstant.STOCKDATA.equals(type)){
// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_STOCK_TYPE, trayTypeEntity.getTrayType());
// trayTypeDataVO.setTrayTypeName(trayTypeName);
// List<TrayTypeDataListVO> list = warehouseTrayGoodsService.getStockListByTrayTypeId(trayTypeId);
// trayTypeDataVO.setList(list);
// }else if(PalletProductTypeConstant.STOCKNODATA.equals(type)){
// String trayTypeName = DictBizCache.getValue(DictBizConstant.PALLET_STOCKNODATA_TYPE, trayTypeEntity.getTrayType());
// trayTypeDataVO.setTrayTypeName(trayTypeName);
// List<TrayTypeDataListVO> list = warehouseTrayGoodsService.getStockListByTrayTypeId(trayTypeId);
// trayTypeDataVO.setList(list);
// }else {
// log.warn("##################getEntityByTrayCode: 未知的打托类型");
// }
// return trayTypeDataVO;
return trayTypeDataVO;
}
private R moveTrayOrderPackageCode(WarehouseTrayTypeEntity trayTypeEntity, String orderPackageCode) {
Long wid = trayTypeEntity.getWarehouseId();
DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode,wid);

62
blade-service/logpm-warehouse/src/main/java/com/logpm/warehouse/service/impl/WarehouseUpdownTypeServiceImpl.java

@ -1174,6 +1174,68 @@ public class WarehouseUpdownTypeServiceImpl extends BaseServiceImpl<WarehouseUpd
return Resp.scanSuccess("下架成功","成功下架"+num+"件");
}
@Override
public R downPackageOrDelTray(List<UpShelfPackageDTO> upShelfPackageList,Long warehouseId) {
int num = 0;
for (UpShelfPackageDTO upShelfPackageDTO:upShelfPackageList){
String orderPackageCode = upShelfPackageDTO.getOrderPackageCode();
//查询包件在哪个库位上
QueryWrapper<WarehouseUpdownGoodsEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("association_type","3")
.eq("warehouse_id",warehouseId)
.eq("association_value",orderPackageCode);
WarehouseUpdownGoodsEntity updownGoodsEntity = warehouseUpdownGoodsService.getOne(queryWrapper);
if(Objects.isNull(updownGoodsEntity)){
log.warn("##############downPackage: 包件没有上架记录 orderPackageCode={}",orderPackageCode);
//判断是否有打托记录
QueryWrapper<WarehouseTrayGoodsEntity> trayGoodsEntityQueryWrapper = new QueryWrapper<>();
trayGoodsEntityQueryWrapper.eq("association_type","3")
.eq("warehouse_id",warehouseId)
.eq("association_value",orderPackageCode);
WarehouseTrayGoodsEntity warehouseTrayGoodsEntity = warehouseTrayGoodsService.getOne(trayGoodsEntityQueryWrapper);
if(!Objects.isNull(warehouseTrayGoodsEntity)){
//有托盘,托盘下托
warehouseTrayTypeService.downPackageByOrderPackageCode(orderPackageCode,"包件下架:同步下托",warehouseId);
}
continue;
}
Long allocationId = updownGoodsEntity.getAllocationId();
DistributionParcelListEntity parcelListEntity = distributionParcelListClient.findByPacketBarCodeAndWarehouseId(orderPackageCode,warehouseId);
Integer quantity = parcelListEntity.getQuantity();
Long updownGoodsId = updownGoodsEntity.getId();
Long updownTypeId = updownGoodsEntity.getUpdownTypeId();
WarehouseUpdownTypeEntity updownTypeEntity = baseMapper.selectById(updownTypeId);
QueryWrapper<WarehouseTaryAllocationEntity> taryAllocationEntityQueryWrapper = new QueryWrapper<>();
taryAllocationEntityQueryWrapper.eq("allocation_id",allocationId)
.eq("is_deleted",0);
WarehouseTaryAllocationEntity taryAllocationEntity = warehouseTaryAllocationService.getOne(taryAllocationEntityQueryWrapper);
// BasicdataTrayEntity trayEntity = warehouseTaryAllocationService.getTrayByAllocationId(allocationId);
if(!Objects.isNull(taryAllocationEntity)){
//有托盘,托盘下托
warehouseTrayTypeService.downPackageByOrderPackageCode(orderPackageCode,"包件下架:同步下托",warehouseId);
}
Integer residue = warehouseUpdownGoodsService.deleteByUpdownGoodsId(updownGoodsId);
if(residue == 0){
//删除上架方式
removeById(updownTypeId);
//修改库位状态为空闲
basicdataGoodsAllocationClient.updateAllocationStatus(allocationId,"1");
//如果有托盘还要删除托盘与库位的绑定
if(!Objects.isNull(taryAllocationEntity)){
warehouseTaryAllocationService.deleteById(taryAllocationEntity);
}
}
warehouseUpdownGoodsLogService.saveAllocationAndPackage(updownTypeEntity,parcelListEntity,"2",0,"包件下架:包件下架");
updatePackageGroundingStatus(orderPackageCode,"10",warehouseId);
updateUpdownTypeNum(updownTypeEntity);
num = num + quantity;
warehouseGoodsAllocationClient.updateAllocationCache(allocationId.toString());
}
return Resp.scanSuccess("下架成功","成功下架"+num+"件");
}
@Override
public R downZeroOrder(List<UpShelfZeroOrderDTO> upShelfPackageList,Long warehouseId) {
StringBuffer stringBuffer = new StringBuffer("下架零担订单成功");

Loading…
Cancel
Save