修复:补充发货草稿当前余量

This commit is contained in:
焦龙言
2026-07-27 09:05:04 +08:00
parent d5da207206
commit e4477f321c
5 changed files with 83 additions and 12 deletions
@@ -229,6 +229,7 @@ OPERATION_MODEL_FIELDS = {
'pallet_id',
'active_filling_id',
'package_qty',
'remaining_packages',
'create_by',
'create_time',
},
@@ -611,6 +612,7 @@ STRICT_POSITIVE_PACKAGE_FIELDS = {
}
STRICT_NON_NEGATIVE_PACKAGE_FIELDS = {
ShipmentItemModel: {'remaining_packages'},
UsageModel: {'remaining_packages_after'},
ReturnItemModel: {'remaining_packages_snapshot'},
PalletScanResponseModel: {'remaining_packages'},
@@ -649,6 +651,7 @@ PACKAGE_MODEL_PAYLOADS = {
'shipment_id': 1,
'pallet_id': 1,
'package_qty': 20,
'remaining_packages': 8,
},
UsageModel: {
'usage_id': 1,
@@ -939,6 +942,16 @@ class BusinessVoContractTest(unittest.TestCase):
accepted_invalid_values.append((model_class.__name__, field_name, repr(invalid_value)))
self.assertEqual([], accepted_invalid_values)
shipment_item = ShipmentItemModel.model_validate(
PACKAGE_MODEL_PAYLOADS[ShipmentItemModel]
| {
'packageQty': None,
'remainingPackages': None,
}
)
self.assertIsNone(shipment_item.package_qty)
self.assertIsNone(shipment_item.remaining_packages)
self.assertIn('remainingPackages', shipment_item.model_dump(by_alias=True))
def test_id_lists_reject_empty_non_positive_and_duplicate_values(self) -> None:
cases = (