修复bug:
1. 105~107口入库时添加库存的物料号未完全区分 2. 添加点位映射, LK-[X] => 10[X] 3. 添加获取2号3号库的库位实时使用率接口
This commit is contained in:
parent
16a9981ece
commit
bd9eb7101d
|
|
@ -0,0 +1,14 @@
|
|||
package com.wms_main.constant.enums.wms;
|
||||
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum WmsLocationNumEnums {
|
||||
LOCATION_NUM_2(316, "2号库"),
|
||||
LOCATION_NUM_3(540, "3号库");
|
||||
|
||||
private final Integer code;
|
||||
private final String desc;
|
||||
}
|
||||
|
|
@ -44,4 +44,9 @@ public class YcwmsController {
|
|||
public YcwmsResponse<List<StockResp>> stock(@RequestBody StockReq request) {
|
||||
return ycwmsControllerService.stock(request);
|
||||
}
|
||||
|
||||
@GetMapping("/getAvailPercent")
|
||||
public YcwmsResponse<Object> getAvailPercent(String equipmentId) {
|
||||
return ycwmsControllerService.getAvailPercent(equipmentId);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -76,4 +76,17 @@ public class ConvertUtils {
|
|||
default -> "";
|
||||
};
|
||||
}
|
||||
|
||||
public static String convertPointToDestination(String point) {
|
||||
return switch (point) {
|
||||
case "LK-1" -> "101";
|
||||
case "LK-2" -> "102";
|
||||
case "LK-3" -> "103";
|
||||
case "LK-4" -> "104";
|
||||
case "LK-5" -> "105";
|
||||
case "LK-6" -> "106";
|
||||
case "LK-7" -> "107";
|
||||
default -> "";
|
||||
};
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,4 +13,5 @@ public interface IYcwmsControllerService {
|
|||
YcwmsResponse<Object> orderIn(OrderInReq request);
|
||||
YcwmsResponse<Object> orderOut(OrderOutReq request);
|
||||
YcwmsResponse<List<StockResp>> stock(StockReq request);
|
||||
YcwmsResponse<Object> getAvailPercent(String equipmentId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -53,7 +53,14 @@ public class WcsControllerServiceImpl implements IWcsControllerService {
|
|||
if(targetLocation == null) {
|
||||
return WcsApiResponse.error("没有空闲库位,请稍后再试", null);
|
||||
}
|
||||
String goodsId567 = point.equals("105") ? "3" : "2";
|
||||
String goodsId567 = "";
|
||||
if (point.equals("105")) {
|
||||
goodsId567 = "2";
|
||||
} else if (point.equals("106")) {
|
||||
goodsId567 = "3";
|
||||
} else {
|
||||
goodsId567 = "4";
|
||||
}
|
||||
String vehicleId = UUIDUtils.getNewUUID();
|
||||
// 插入一条默认入库单
|
||||
TAppOrderIn orderIn = new TAppOrderIn();
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
package com.wms_main.service.controller.serviceImpl;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.wms_main.constant.enums.wms.OrderStatusEnum;
|
||||
import com.wms_main.constant.enums.wms.WmsApiResponseCodeEnums;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.wms_main.constant.enums.wms.*;
|
||||
import com.wms_main.dao.ITAppLocationService;
|
||||
import com.wms_main.dao.ITAppOrderInService;
|
||||
import com.wms_main.dao.ITAppOrderOutService;
|
||||
import com.wms_main.dao.ITAppStockService;
|
||||
|
|
@ -10,9 +11,11 @@ import com.wms_main.model.bo.erp.ErpGoodsDetail;
|
|||
import com.wms_main.model.bo.erp.ErpVehicleNoResp;
|
||||
import com.wms_main.model.dto.request.ycwms.*;
|
||||
import com.wms_main.model.dto.response.ycwms.YcwmsResponse;
|
||||
import com.wms_main.model.po.TAppLocation;
|
||||
import com.wms_main.model.po.TAppOrderIn;
|
||||
import com.wms_main.model.po.TAppOrderOut;
|
||||
import com.wms_main.model.po.TAppStock;
|
||||
import com.wms_main.repository.utils.ConvertUtils;
|
||||
import com.wms_main.repository.utils.StringUtils;
|
||||
import com.wms_main.repository.utils.UUIDUtils;
|
||||
import com.wms_main.service.api.IExternalApiService;
|
||||
|
|
@ -35,6 +38,7 @@ public class YcwmsControllerServiceImpl implements IYcwmsControllerService {
|
|||
private final ITAppOrderInService appOrderInService;
|
||||
private final ITAppOrderOutService appOrderOutService;
|
||||
private final ITAppStockService appStockService;
|
||||
private final ITAppLocationService appLocationService;
|
||||
private final IExternalApiService externalApiService;
|
||||
|
||||
@Override
|
||||
|
|
@ -55,6 +59,7 @@ public class YcwmsControllerServiceImpl implements IYcwmsControllerService {
|
|||
return YcwmsResponse.error("入库单已存在,请勿重复推送", null);
|
||||
}
|
||||
String vehicleNo = request.getVehicleNo();
|
||||
String inStand = ConvertUtils.convertPointToDestination(request.getInStand());
|
||||
List<ErpGoodsDetail> erpGoodsDetails = new ArrayList<>();
|
||||
try {
|
||||
YcwmsResponse<ErpVehicleNoResp> erpResp = externalApiService.getVehicleNoData(vehicleNo);
|
||||
|
|
@ -74,13 +79,17 @@ public class YcwmsControllerServiceImpl implements IYcwmsControllerService {
|
|||
Iterator<OrderInGoodsDetail> iterator = mesGoodsDetails.iterator();
|
||||
while (iterator.hasNext()) {
|
||||
OrderInGoodsDetail goodsDetail = iterator.next();
|
||||
// boolean matchFound = erpGoodsDetails.stream().anyMatch(erpGoodsDetail ->
|
||||
// erpGoodsDetail.getGoodsId().equals(goodsDetail.getGoodsId()) &&
|
||||
// erpGoodsDetail.getGoodsBarcode().equals(goodsDetail.getGoodsBarcode()) &&
|
||||
// Objects.equals(erpGoodsDetail.getQuantity(), goodsDetail.getQuantity()) &&
|
||||
// erpGoodsDetail.getGoodsType().equals(goodsDetail.getGoodsType()) &&
|
||||
// Objects.equals(erpGoodsDetail.getSpecification(), goodsDetail.getSpecification())
|
||||
// );
|
||||
boolean matchFound = erpGoodsDetails.stream().anyMatch(erpGoodsDetail ->
|
||||
erpGoodsDetail.getGoodsId().equals(goodsDetail.getGoodsId()) &&
|
||||
erpGoodsDetail.getGoodsBarcode().equals(goodsDetail.getGoodsBarcode()) &&
|
||||
Objects.equals(erpGoodsDetail.getQuantity(), goodsDetail.getQuantity()) &&
|
||||
erpGoodsDetail.getGoodsType().equals(goodsDetail.getGoodsType()) &&
|
||||
Objects.equals(erpGoodsDetail.getSpecification(), goodsDetail.getSpecification())
|
||||
);
|
||||
Objects.equals(erpGoodsDetail.getQuantity(), goodsDetail.getQuantity()) &&
|
||||
erpGoodsDetail.getGoodsType().equals(goodsDetail.getGoodsType()));
|
||||
if (matchFound) {
|
||||
// 找到匹配的任务,删除该 goodsDetail
|
||||
iterator.remove();
|
||||
|
|
@ -99,7 +108,7 @@ public class YcwmsControllerServiceImpl implements IYcwmsControllerService {
|
|||
orderIn.setOrderId(request.getOrderId());
|
||||
orderIn.setVehicleNo(request.getVehicleNo());
|
||||
orderIn.setVehicleSize(request.getVehicleSize());
|
||||
orderIn.setInStand(request.getInStand());
|
||||
orderIn.setInStand(inStand);
|
||||
orderIn.setClientId(request.getClientId());
|
||||
orderIn.setGoodsId(goodsDetail.getGoodsId());
|
||||
orderIn.setGoodsName(goodsDetail.getGoodsName());
|
||||
|
|
@ -210,5 +219,33 @@ public class YcwmsControllerServiceImpl implements IYcwmsControllerService {
|
|||
return YcwmsResponse.success(respList);
|
||||
}
|
||||
|
||||
|
||||
public YcwmsResponse<Object> getAvailPercent(String equipmentId) {
|
||||
if (equipmentId == null || equipmentId.isEmpty()) {
|
||||
return YcwmsResponse.error("参数错误", null);
|
||||
}
|
||||
if (equipmentId.equals("1")) {
|
||||
return YcwmsResponse.error("该库无成品物料", null);
|
||||
} else if (equipmentId.equals("2")) {
|
||||
Integer queryId = Integer.parseInt(equipmentId);
|
||||
Long locationNum = appLocationService.count(
|
||||
new LambdaQueryWrapper<TAppLocation>()
|
||||
.eq(TAppLocation::getEquipmentId, queryId)
|
||||
.eq(TAppLocation::getLocationType, WmsLocationTypeEnums.TYPE_PRODUCT.getCode())
|
||||
.eq(TAppLocation::getIsOccupy, WmsLocationOccupyStatusEnums.OCCUPY.getCode())
|
||||
);
|
||||
Double percent = Double.parseDouble(locationNum.toString()) / WmsLocationNumEnums.LOCATION_NUM_2.getCode();
|
||||
return YcwmsResponse.success(percent);
|
||||
} else if (equipmentId.equals("3")) {
|
||||
Integer queryId = Integer.parseInt(equipmentId);
|
||||
Long locationNum = appLocationService.count(
|
||||
new LambdaQueryWrapper<TAppLocation>()
|
||||
.eq(TAppLocation::getEquipmentId, queryId)
|
||||
.eq(TAppLocation::getLocationType, WmsLocationTypeEnums.TYPE_PRODUCT.getCode())
|
||||
.eq(TAppLocation::getIsOccupy, WmsLocationOccupyStatusEnums.OCCUPY.getCode())
|
||||
);
|
||||
Double percent = Double.parseDouble(locationNum.toString()) / WmsLocationNumEnums.LOCATION_NUM_3.getCode();
|
||||
return YcwmsResponse.success(percent);
|
||||
}
|
||||
return YcwmsResponse.error("equipmentId无效", null);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user