提交
This commit is contained in:
+3
@@ -22,6 +22,9 @@ public interface ReturnPackingTraceMapper {
|
||||
@Select("SELECT return_no, SUM(CASE WHEN target_carton_mark=#{mark} THEN quantity ELSE -quantity END) AS quantity FROM ll_return_packing_trace WHERE customer_id=#{customerId} AND sku_code=#{sku} AND (source_carton_mark=#{mark} OR target_carton_mark=#{mark}) GROUP BY return_no HAVING quantity>0 ORDER BY return_no")
|
||||
List<Ownership> ownership(@Param("customerId") String customerId, @Param("mark") String mark, @Param("sku") String sku);
|
||||
|
||||
@Select("SELECT COALESCE(SUM(CASE WHEN target_carton_mark=#{mark} THEN quantity ELSE -quantity END),0) FROM ll_return_packing_trace WHERE customer_id=#{customerId} AND sku_code=#{sku} AND (source_carton_mark=#{mark} OR target_carton_mark=#{mark})")
|
||||
long netTrackedQuantity(@Param("customerId") String customerId, @Param("mark") String mark, @Param("sku") String sku);
|
||||
|
||||
@Select("SELECT id,source_carton_mark,target_carton_mark,return_no,sku_code,quantity,created_at FROM ll_return_packing_trace WHERE customer_id=#{customerId} AND return_no=#{returnNo} ORDER BY created_at,id")
|
||||
List<Trace> listReturn(@Param("customerId") String customerId, @Param("returnNo") String returnNo);
|
||||
|
||||
|
||||
+1
-2
@@ -1014,8 +1014,7 @@ public class ReturnInventoryService {
|
||||
throw conflict("目标箱已有合箱预占,不能并入");
|
||||
if (existingTarget != null) ReturnCartonCountGuard.requireConfirmed(existingTarget);
|
||||
if (existingTarget != null) for (var item : cartonItems.lockCarton(existingTarget.getId())) {
|
||||
long tracked = packingTrace.ownership(customerId, targetMark, item.getSkuCode()).stream()
|
||||
.mapToLong(com.baiyue.lastleg.returnreceipt.mapper.ReturnPackingTraceMapper.Ownership::quantity).sum();
|
||||
long tracked = packingTrace.netTrackedQuantity(customerId, targetMark, item.getSkuCode());
|
||||
if (tracked < value(item.getQuantity())) {
|
||||
String[] origins = required(existingTarget.getSourceReturnNo(), "目标箱来源退货单缺失").split(",");
|
||||
if (origins.length != 1) throw conflict("历史目标混箱缺少 SKU 来源明细");
|
||||
|
||||
Reference in New Issue
Block a user