CANCERYS\kw093 преди 20 часа
родител
ревизия
7ec34585d1
променени са 6 файла, в които са добавени 536 реда и са изтрити 23 реда
  1. +2
    -1
      src/main/java/com/ffii/fpsms/modules/master/entity/Items.kt
  2. +49
    -0
      src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt
  3. +48
    -19
      src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt
  4. +10
    -3
      src/main/java/com/ffii/fpsms/modules/stock/service/SuggestedPickLotService.kt
  5. +8
    -0
      src/main/resources/db/changelog/changes/20260402_01_Enson/01_alter_stock_take.sql
  6. +419
    -0
      src/main/resources/db/changelog/changes/20260402_01_Enson/02_updateitemsorder.sql

+ 2
- 1
src/main/java/com/ffii/fpsms/modules/master/entity/Items.kt Целия файл

@@ -75,7 +75,8 @@ open class Items : BaseEntity<Long>() {

@Column(name = "latestMupUpdatedDate", nullable = true)
open var latestMupUpdatedDate: LocalDateTime? = null

@Column(name = "item_Order", nullable = true)
open var item_Order: Int? = null
@JsonManagedReference
@OneToMany(mappedBy = "item", cascade = [CascadeType.ALL], orphanRemoval = true)
open var itemUoms: MutableList<ItemUom> = mutableListOf()


+ 49
- 0
src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickExecutionIssueService.kt Целия файл

@@ -185,6 +185,55 @@ open class PickExecutionIssueService(
errorPosition = null
)
}

// 4.1 调整 inventory_lot_line.holdQty(以 actualPickQty-requiredQty 为差额)
// 例:
// required=8, actual=6 => delta=-2 => holdQty -= 2(释放预留)
// required=8, actual=10 => delta=+2 => holdQty += 2(补预留)
if (inventoryLotLine != null && request.lotId != null) {
val deltaHold = actualPickQty.subtract(requiredQty)
if (deltaHold.compareTo(BigDecimal.ZERO) != 0) {
val latestLotLine = inventoryLotLineRepository.findById(request.lotId).orElse(null)
?: throw IllegalArgumentException("Inventory lot line not found: ${request.lotId}")

val currentHold = latestLotLine.holdQty ?: BigDecimal.ZERO
val currentOut = latestLotLine.outQty ?: BigDecimal.ZERO
val currentIn = latestLotLine.inQty ?: BigDecimal.ZERO

val newHold = currentHold.add(deltaHold)
if (newHold < BigDecimal.ZERO) {
return MessageResponse(
id = null,
name = "Invalid hold quantity adjustment",
code = "ERROR",
type = "pick_execution_issue",
message = "Cannot adjust holdQty by $deltaHold. Current holdQty=$currentHold, requiredQty=$requiredQty, actualPickQty=$actualPickQty",
errorPosition = null
)
}

// deltaHold > 0 时检查剩余是否足够(in - out - hold)
if (deltaHold > BigDecimal.ZERO) {
val remaining = currentIn.subtract(currentOut).subtract(currentHold)
if (deltaHold > remaining) {
return MessageResponse(
id = null,
name = "Insufficient remaining quantity",
code = "ERROR",
type = "pick_execution_issue",
message = "Cannot reserve additional $deltaHold. Remaining=$remaining (in=$currentIn, out=$currentOut, hold=$currentHold)",
errorPosition = null
)
}
}

latestLotLine.holdQty = newHold
latestLotLine.modified = LocalDateTime.now()
latestLotLine.modifiedBy = "system"
inventoryLotLineRepository.saveAndFlush(latestLotLine)
println("✅ Adjusted inventory_lot_line ${request.lotId} holdQty: $currentHold -> $newHold (delta=$deltaHold)")
}
}
println("=== Quantity Summary ===")
println(" Required Qty: $requiredQty")
println(" Actual Pick Qty: $actualPickQty")


+ 48
- 19
src/main/java/com/ffii/fpsms/modules/pickOrder/service/PickOrderService.kt Целия файл

@@ -49,6 +49,7 @@ import java.math.BigDecimal
import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
import java.util.Locale
import kotlin.jvm.optionals.getOrNull
import com.ffii.fpsms.modules.pickOrder.entity.projection.PickOrderGroupInfo
import com.ffii.fpsms.modules.deliveryOrder.entity.DeliveryOrderRepository
@@ -3625,6 +3626,7 @@ open fun getAllPickOrderLotsWithDetailsHierarchical(userId: Long): Map<String, A
i.id as itemId,
i.code as itemCode,
i.name as itemName,
i.item_Order as itemOrder,
uc.code as uomCode,
uc.udfudesc as uomDesc,
uc.udfShortDesc as uomShortDesc,
@@ -3782,6 +3784,7 @@ println("DEBUG sol polIds in linesResults: " + linesResults.mapNotNull { it["sto
"id" to lineId,
"requiredQty" to firstLineRow["pickOrderLineRequiredQty"],
"status" to firstLineRow["pickOrderLineStatus"],
"itemOrder" to firstLineRow["itemOrder"],
"item" to mapOf(
"id" to firstLineRow["itemId"],
"code" to firstLineRow["itemCode"],
@@ -3802,27 +3805,53 @@ println("DEBUG sol polIds in linesResults: " + linesResults.mapNotNull { it["sto
allPickOrderLines.addAll(pickOrderLines)
}
// 合并到总列表
allPickOrderLines.sortWith(compareBy(
{ line ->
val lots = line["lots"] as? List<Map<String, Any?>>
val firstLot = lots?.firstOrNull()
val router = firstLot?.get("router") as? Map<String, Any?>
val indexValue = router?.get("index")
when (indexValue) {
is Number -> indexValue.toInt()
is String -> {
// 提取数字部分:格式为 "store_id-number",取 "-" 后的数字
val parts = indexValue.split("-")
if (parts.size > 1) {
parts.last().toIntOrNull() ?: 999999
} else {
indexValue.toIntOrNull() ?: 999999
}
// DB 里 store_id 可能是 "2/F"、"4/F",与字面 "2F" 不一致会导致分支走错
val doStoreFloorKey = doPickOrderInfo["store_id"]?.toString()?.trim()?.uppercase(Locale.ROOT)
?.replace("/", "")
?.replace(" ", "")
?: ""
when (doStoreFloorKey) {
"2F" -> {
// 2F:按 items.item_Order 排序(INT,NULL 置后)
allPickOrderLines.sortWith(
compareBy(
{ line ->
val v = line["itemOrder"] ?: line["itemorder"]
when (v) {
is Number -> v.toInt()
else -> 999999
}
},
{ line -> (line["id"] as? Number)?.toLong() ?: Long.MAX_VALUE }
)
)
}
"4F" -> {
// 4F:旧逻辑 — 保持 SQL 顺序(COALESCE(w.`order`, 999999), pol.id, lotNo),不二次排序
}
else -> {
allPickOrderLines.sortWith(
compareBy { line ->
val lots = line["lots"] as? List<Map<String, Any?>>
val firstLot = lots?.firstOrNull()
val router = firstLot?.get("router") as? Map<String, Any?>
val indexValue = router?.get("index")
when (indexValue) {
is Number -> indexValue.toInt()
is String -> {
val parts = indexValue.split("-")
if (parts.size > 1) {
parts.last().toIntOrNull() ?: 999999
} else {
indexValue.toIntOrNull() ?: 999999
}
}
else -> 999999
}
}
)
}
else -> 999999
}
}
))
// 构建 FG 信息


+ 10
- 3
src/main/java/com/ffii/fpsms/modules/stock/service/SuggestedPickLotService.kt Целия файл

@@ -104,9 +104,9 @@ open class SuggestedPickLotService(
val suggestedList: MutableList<SuggestedPickLot> = mutableListOf()
val holdQtyMap: MutableMap<Long?, BigDecimal?> = request.holdQtyMap
val excludedWarehouseCodes = setOf<String>(
"2F-W202-01-00",
// "4F-W401-#C-00",
)
"2F-W202-01-00",
"2F-W200-#A-00",
)
val availableInventoryLotLines = inventoryLotLineService
.allInventoryLotLinesByItemIdIn(itemIds)
.filter { it.status == InventoryLotLineStatus.AVAILABLE.value }
@@ -166,6 +166,13 @@ open class SuggestedPickLotService(
val warehouseStoreId=inventoryLotLine?.warehouse?.store_id
// 3F filter only applies to delivery order release; no limit for job order, AssignAndRelease, etc.
val isDeliveryOrderPick = line.pickOrder?.type?.value == "do"
val warehouseCodeForExclusion = inventoryLotLine?.warehouse?.code
if (isDeliveryOrderPick &&
warehouseCodeForExclusion != null &&
excludedWarehouseCodes.contains(warehouseCodeForExclusion)
) {
return@forEachIndexed
}
if (warehouseStoreId == "3F" && isDeliveryOrderPick) {
return@forEachIndexed
}


+ 8
- 0
src/main/resources/db/changelog/changes/20260402_01_Enson/01_alter_stock_take.sql Целия файл

@@ -0,0 +1,8 @@
-- liquibase formatted sql
-- changeset Enson:alter_items

ALTER TABLE `fpsmsdb`.`items`
Add COLUMN `item_Order` INT;




+ 419
- 0
src/main/resources/db/changelog/changes/20260402_01_Enson/02_updateitemsorder.sql Целия файл

@@ -0,0 +1,419 @@
-- liquibase formatted sql
-- changeset Enson:alter_items

UPDATE `fpsmsdb`.`items`
SET item_Order = CASE code
WHEN 'PP1157' THEN 1
WHEN 'PP1074' THEN 2
WHEN 'PP1071' THEN 3
WHEN 'PP1066' THEN 4
WHEN 'PP1078' THEN 5
WHEN 'PP1069' THEN 6
WHEN 'PP2335' THEN 7
WHEN 'PP1076' THEN 8
WHEN 'PP1041' THEN 9
WHEN 'PP1067' THEN 10
WHEN 'PP2260' THEN 11
WHEN 'PP1082' THEN 12
WHEN 'PP2169' THEN 13
WHEN 'PP2211' THEN 14
WHEN 'PP1080' THEN 15
WHEN 'PP2105' THEN 16
WHEN 'PP1136' THEN 17
WHEN 'PP2363' THEN 18
WHEN 'PP2063' THEN 19
WHEN 'PP2334' THEN 20
WHEN 'PP2037' THEN 21
WHEN 'PP2115' THEN 22
WHEN 'PP2243' THEN 23
WHEN 'PP1209' THEN 24
WHEN 'PP1216' THEN 25
WHEN 'PP2286' THEN 26
WHEN 'PP1178' THEN 27
WHEN 'PP1202' THEN 28
WHEN 'PP2214' THEN 29
WHEN 'PP1042' THEN 30
WHEN 'PP1222' THEN 31
WHEN 'PP1185' THEN 32
WHEN 'PP1118' THEN 33
WHEN 'PP1088' THEN 34
WHEN 'PP1133' THEN 35
WHEN 'PP2127' THEN 36
WHEN 'PP1234' THEN 37
WHEN 'PP2167' THEN 38
WHEN 'PP2008' THEN 39
WHEN 'PP2018' THEN 40
WHEN 'PP1137' THEN 41
WHEN 'PP2239' THEN 42
WHEN 'PP2338' THEN 43
WHEN 'PP2238' THEN 44
WHEN 'PP1175' THEN 45
WHEN 'PP2288' THEN 46
WHEN 'PP2236' THEN 47
WHEN 'PP2237' THEN 48
WHEN 'PP2336' THEN 49
WHEN 'PP1167' THEN 50
WHEN 'PP2251' THEN 51
WHEN 'PP2252' THEN 52
WHEN 'PP1180' THEN 53
WHEN 'MD0083' THEN 54
WHEN 'MD0077' THEN 55
WHEN 'MD0076' THEN 56
WHEN 'MD0072' THEN 57
WHEN 'MA0808' THEN 58
WHEN 'MD0081' THEN 59
WHEN 'PP2212' THEN 60
WHEN 'PP1065' THEN 61
WHEN 'PP2262' THEN 62
WHEN 'PP2241' THEN 63
WHEN 'PP2240' THEN 64
WHEN 'PP2182' THEN 65
WHEN 'PP2244' THEN 66
WHEN 'PP1126' THEN 67
WHEN 'PP1214' THEN 68
WHEN 'PP1213' THEN 69
WHEN 'PP1223' THEN 70
WHEN 'PP1181' THEN 71
WHEN 'PP1093' THEN 72
WHEN 'PP1117' THEN 73
WHEN 'PP2331' THEN 74
WHEN 'PP2317' THEN 75
WHEN 'PP2248' THEN 76
WHEN 'PP1211' THEN 77
WHEN 'PP2332' THEN 78
WHEN 'PP2220' THEN 79
WHEN 'PP2326' THEN 80
WHEN 'PP2218' THEN 81
WHEN 'PP2126' THEN 82
WHEN 'PP2074' THEN 83
WHEN 'PP2219' THEN 84
WHEN 'PP2346' THEN 85
WHEN 'PP2284' THEN 86
WHEN 'PP2300' THEN 87
WHEN 'PP2330' THEN 88
WHEN 'PP2333' THEN 89
WHEN 'PP2343' THEN 90
WHEN 'PP1231' THEN 91
WHEN 'PP1120' THEN 92
WHEN 'PP1152' THEN 93
WHEN 'PP1044' THEN 94
WHEN 'PP1210' THEN 95
WHEN 'FB0064' THEN 96
WHEN 'PP2144' THEN 97
WHEN 'PP2206' THEN 98
WHEN 'MD0084' THEN 99
WHEN 'PP1237' THEN 100
WHEN 'PP1232' THEN 101
WHEN 'PP2017' THEN 102
WHEN 'PP2098' THEN 103
WHEN 'PP2204' THEN 104
WHEN 'PP2205' THEN 105
WHEN 'PP2228' THEN 106
WHEN 'PP2231' THEN 107
WHEN 'PP2058' THEN 108
WHEN 'PP2235' THEN 109
WHEN 'PP1043' THEN 110
WHEN 'PP1018' THEN 111
WHEN 'PP1224' THEN 112
WHEN 'PP1225' THEN 113
WHEN 'PP2227' THEN 114
WHEN 'PP2325' THEN 115
WHEN 'PP2210' THEN 116
WHEN 'PP2106' THEN 117
WHEN 'PP1062' THEN 118
WHEN 'PP2246' THEN 119
WHEN 'PP2254' THEN 120
WHEN 'PP2298' THEN 121
WHEN 'PP2278' THEN 122
WHEN 'PP2290' THEN 123
WHEN 'PP2215' THEN 124
WHEN 'PP2250' THEN 125
WHEN 'PP2001' THEN 126
WHEN 'PP1121' THEN 127
WHEN 'PP1144' THEN 128
WHEN 'PP1188' THEN 129
WHEN 'PP2328' THEN 130
WHEN 'PP2341' THEN 131
WHEN 'PP2342' THEN 132
WHEN 'PP2345' THEN 133
WHEN 'MB0929' THEN 134
WHEN 'MB0911' THEN 135
WHEN 'FA0803' THEN 136
WHEN 'MA0864' THEN 137
WHEN 'MK0536' THEN 138
WHEN 'PP2197' THEN 139
WHEN 'PP2349' THEN 140
WHEN 'PP2253' THEN 141
WHEN 'PP2145' THEN 142
WHEN 'PP2267' THEN 143
WHEN 'PP2306' THEN 144
WHEN 'PP2269' THEN 145
WHEN 'PP2292' THEN 146
WHEN 'PP2242' THEN 147
WHEN 'PP2024' THEN 148
WHEN 'MB0846' THEN 149
WHEN 'MB0847' THEN 150
WHEN 'MB0344' THEN 151
WHEN 'MB0779' THEN 152
WHEN 'MB0805' THEN 153
WHEN 'MB0807' THEN 154
WHEN 'MB0432' THEN 155
WHEN 'MB0544' THEN 156
WHEN 'MB0850' THEN 157
WHEN 'MA0757' THEN 158
WHEN 'MB0873' THEN 159
WHEN 'MB0851' THEN 160
WHEN 'MB0848' THEN 161
WHEN 'MB0849' THEN 162
WHEN 'MB0845' THEN 163
WHEN 'MB0810' THEN 164
WHEN 'MB0797' THEN 165
WHEN 'PP2265' THEN 166
WHEN 'PP2301' THEN 167
WHEN 'MG1683' THEN 168
WHEN 'MA0852' THEN 169
WHEN 'MA0806' THEN 170
WHEN 'MB0921' THEN 171
WHEN 'MA0151' THEN 172
WHEN 'MB0877' THEN 173
WHEN 'MB0879' THEN 174
WHEN 'MG1843' THEN 175
WHEN 'MB0883' THEN 176
WHEN 'MB0885' THEN 177
WHEN 'MB0886' THEN 178
WHEN 'MG1848' THEN 179
WHEN 'MG1849' THEN 180
WHEN 'MG1857' THEN 181
WHEN 'MG1858' THEN 182
WHEN 'MG1859' THEN 183
WHEN 'MG1860' THEN 184
WHEN 'MG1862' THEN 185
WHEN 'MB0889' THEN 186
WHEN 'MG1877' THEN 187
WHEN 'MA0823' THEN 188
WHEN 'MA0824' THEN 189
WHEN 'MB0891' THEN 190
WHEN 'MA0832' THEN 191
WHEN 'MA0833' THEN 192
WHEN 'MA0834' THEN 193
WHEN 'MA0846' THEN 194
WHEN 'MB0907' THEN 195
WHEN 'MB0908' THEN 196
WHEN 'MG1908' THEN 197
WHEN 'MG1909' THEN 198
WHEN 'MG1910' THEN 199
WHEN 'MB0923' THEN 200
WHEN 'MB0806' THEN 201
WHEN 'MB0782' THEN 202
WHEN 'MB0777' THEN 203
WHEN 'MB0781' THEN 204
WHEN 'MJ0686' THEN 205
WHEN 'MB0852' THEN 206
WHEN 'MA0809' THEN 207
WHEN 'MB0838' THEN 208
WHEN 'MB0884' THEN 209
WHEN 'MJ0629' THEN 210
WHEN 'MB0880' THEN 211
WHEN 'MB0881' THEN 212
WHEN 'MJ0528' THEN 213
WHEN 'MB0800' THEN 214
WHEN 'MB0801' THEN 215
WHEN 'MB0799' THEN 216
WHEN 'MJ0565' THEN 217
WHEN 'MG1899' THEN 218
WHEN 'MA0734' THEN 219
WHEN 'MB0817' THEN 220
WHEN 'MB0836' THEN 221
WHEN 'MB0855' THEN 222
WHEN 'FA0895' THEN 223
WHEN 'MB0580' THEN 224
WHEN 'MB0660' THEN 225
WHEN 'MB0860' THEN 226
WHEN 'RB0039' THEN 227
WHEN 'RB0041' THEN 228
WHEN 'MB0803' THEN 229
WHEN 'MF0418' THEN 230
WHEN 'MF0531' THEN 231
WHEN 'MF0431' THEN 232
WHEN 'MA0552' THEN 233
WHEN 'MB0875' THEN 234
WHEN 'MA0452' THEN 235
WHEN 'MA0045' THEN 236
WHEN 'MA0297' THEN 237
WHEN 'MA0830' THEN 238
WHEN 'MA0441' THEN 239
WHEN 'MA0524' THEN 240
WHEN 'MG1684' THEN 241
WHEN 'MA0851' THEN 242
WHEN 'MB0738' THEN 243
WHEN 'FB0063' THEN 244
WHEN 'MF0549' THEN 245
WHEN 'MA0803' THEN 246
WHEN 'MB0567' THEN 247
WHEN 'MB0700' THEN 248
WHEN 'MC1320' THEN 249
WHEN 'MB0922' THEN 250
WHEN 'MB0516' THEN 251
WHEN 'MF0514' THEN 252
WHEN 'MF0540' THEN 253
WHEN 'MF0477' THEN 254
WHEN 'MF0456' THEN 255
WHEN 'MB0876' THEN 256
WHEN 'MB0222' THEN 257
WHEN 'MA0719' THEN 258
WHEN 'MB0794' THEN 259
WHEN 'FA0627' THEN 260
WHEN 'MJ0420' THEN 261
WHEN 'MK0409' THEN 262
WHEN 'MJ0418' THEN 263
WHEN 'MI0447' THEN 264
WHEN 'MI0351' THEN 265
WHEN 'MI0352' THEN 266
WHEN 'PP2276' THEN 267
WHEN 'PP2277' THEN 268
WHEN 'MG1887' THEN 269
WHEN 'MB0896' THEN 270
WHEN 'MB0897' THEN 271
WHEN 'MB0903' THEN 272
WHEN 'MB0937' THEN 273
WHEN 'FB0062' THEN 274
WHEN 'MB0637' THEN 275
WHEN 'MB0162' THEN 276
WHEN 'MB0757' THEN 277
WHEN 'MB0671' THEN 278
WHEN 'MB0572' THEN 279
WHEN 'MB0652' THEN 280
WHEN 'MB0785' THEN 281
WHEN 'MB0786' THEN 282
WHEN 'MI0466' THEN 283
WHEN 'MB0828' THEN 284
WHEN 'MB0795' THEN 285
WHEN 'MK0413' THEN 286
WHEN 'MB0909' THEN 287
WHEN 'MI0468' THEN 288
WHEN 'MI0297' THEN 289
WHEN 'MB0699' THEN 290
WHEN 'MB0904' THEN 291
WHEN 'MB0638' THEN 292
WHEN 'MB0862' THEN 293
WHEN 'MB0758' THEN 294
WHEN 'MI0357' THEN 295
WHEN 'MB0809' THEN 296
WHEN 'MB0739' THEN 297
WHEN 'FB0055' THEN 298
WHEN 'MB0826' THEN 299
WHEN 'MB0825' THEN 300
WHEN 'MI0068' THEN 301
WHEN 'MB0744' THEN 302
WHEN 'MB0910' THEN 303
WHEN 'MB0901' THEN 304
WHEN 'MB0184' THEN 305
WHEN 'MB0655' THEN 306
WHEN 'FB0060' THEN 307
WHEN 'FB0061' THEN 308
WHEN 'FB0054' THEN 309
WHEN 'MB0713' THEN 310
WHEN 'FB0057' THEN 311
WHEN 'ME0035' THEN 312
WHEN 'MI0124' THEN 313
WHEN 'MB0661' THEN 314
WHEN 'MI0126' THEN 315
WHEN 'MI0301' THEN 316
WHEN 'MI0141' THEN 317
WHEN 'MI0143' THEN 318
WHEN 'MI0173' THEN 319
WHEN 'MD0051' THEN 320
WHEN 'MI0181' THEN 321
WHEN 'MB0719' THEN 322
WHEN 'MB0601' THEN 323
WHEN 'ME0029' THEN 324
WHEN 'FA0184' THEN 325
WHEN 'FA0531' THEN 326
WHEN 'FC0006' THEN 327
WHEN 'MB0857' THEN 328
WHEN 'PP2348' THEN 329
WHEN 'MB0906' THEN 330
WHEN 'MG0811' THEN 331
WHEN 'MI0258' THEN 332
WHEN 'MI0156' THEN 333
WHEN 'FA0717' THEN 334
WHEN 'MI1800' THEN 335
WHEN 'MI0172' THEN 336
WHEN 'MI0446' THEN 337
WHEN 'MD0096' THEN 338
WHEN 'MD0098' THEN 339
WHEN 'MD0097' THEN 340
WHEN 'MI0402' THEN 341
WHEN 'MD0094' THEN 342
WHEN 'MI0185' THEN 343
WHEN 'MI0399' THEN 344
WHEN 'MG1502' THEN 345
WHEN 'MB0905' THEN 346
WHEN 'MJ0059' THEN 347
WHEN 'FA0716' THEN 348
WHEN 'MG1453' THEN 349
WHEN 'PP0221' THEN 350
WHEN 'PP2347' THEN 351
WHEN 'MG1786' THEN 352
WHEN 'MG1761' THEN 353
WHEN 'MG1789' THEN 354
WHEN 'MH0106' THEN 355
WHEN 'FA0932' THEN 356
WHEN 'MK0492' THEN 357
WHEN 'MG1665' THEN 358
WHEN 'MK0429' THEN 359
WHEN 'MK0482' THEN 360
WHEN 'MK0466' THEN 361
WHEN 'MG1574' THEN 362
WHEN 'MF0526' THEN 363
WHEN 'MF0539' THEN 364
WHEN 'MF0530' THEN 365
WHEN 'MF0524' THEN 366
WHEN 'MF0551' THEN 367
WHEN 'FC0030' THEN 368
WHEN 'FC0002' THEN 369
WHEN 'FC0009' THEN 370
WHEN 'FC0028' THEN 371
ELSE item_Order -- keep existing value if code not in the list
END
WHERE code IN (
'PP1157','PP1074','PP1071','PP1066','PP1078','PP1069','PP2335','PP1076','PP1041','PP1067',
'PP2260','PP1082','PP2169','PP2211','PP1080','PP2105','PP1136','PP2363','PP2063','PP2334',
'PP2037','PP2115','PP2243','PP1209','PP1216','PP2286','PP1178','PP1202','PP2214','PP1042',
'PP1222','PP1185','PP1118','PP1088','PP1133','PP2127','PP1234','PP2167','PP2008','PP2018',
'PP1137','PP2239','PP2338','PP2238','PP1175','PP2288','PP2236','PP2237','PP2336','PP1167',
'PP2251','PP2252','PP1180','MD0083','MD0077','MD0076','MD0072','MA0808','MD0081','PP2212',
'PP1065','PP2262','PP2241','PP2240','PP2182','PP2244','PP1126','PP1214','PP1213','PP1223',
'PP1181','PP1093','PP1117','PP2331','PP2317','PP2248','PP1211','PP2332','PP2220','PP2326',
'PP2218','PP2126','PP2074','PP2219','PP2346','PP2284','PP2300','PP2330','PP2333','PP2343',
'PP1231','PP1120','PP1152','PP1044','PP1210','FB0064','PP2144','PP2206','MD0084','PP1237',
'PP1232','PP2017','PP2098','PP2204','PP2205','PP2228','PP2231','PP2058','PP2235','PP1043',
'PP1018','PP1224','PP1225','PP2227','PP2325','PP2210','PP2106','PP1062','PP2246','PP2254',
'PP2298','PP2278','PP2290','PP2215','PP2250','PP2001','PP1121','PP1144','PP1188','PP2328',
'PP2341','PP2342','PP2345','MB0929','MB0911','FA0803','MA0864','MK0536','PP2197','PP2349',
'PP2253','PP2145','PP2267','PP2306','PP2269','PP2292','PP2242','PP2024','MB0846','MB0847',
'MB0344','MB0779','MB0805','MB0807','MB0432','MB0544','MB0850','MA0757','MB0873','MB0851',
'MB0848','MB0849','MB0845','MB0810','MB0797','PP2265','PP2301','MG1683','MA0852','MA0806',
'MB0921','MA0151','MB0877','MB0879','MG1843','MB0883','MB0885','MB0886','MG1848','MG1849',
'MG1857','MG1858','MG1859','MG1860','MG1862','MB0889','MG1877','MA0823','MA0824','MB0891',
'MA0832','MA0833','MA0834','MA0846','MB0907','MB0908','MG1908','MG1909','MG1910','MB0923',
'MB0806','MB0782','MB0777','MB0781','MJ0686','MB0852','MA0809','MB0838','MB0884','MJ0629',
'MB0880','MB0881','MJ0528','MB0800','MB0801','MB0799','MJ0565','MG1899','MA0734','MB0817',
'MB0836','MB0855','FA0895','MB0580','MB0660','MB0860','RB0039','RB0041','MB0803','MF0418',
'MF0531','MF0431','MA0552','MB0875','MA0452','MA0045','MA0297','MA0830','MA0441','MA0524',
'MG1684','MA0851','MB0738','FB0063','MF0549','MA0803','MB0567','MB0700','MC1320','MB0922',
'MB0516','MF0514','MF0540','MF0477','MF0456','MB0876','MB0222','MA0719','MB0794','FA0627',
'MJ0420','MK0409','MJ0418','MI0447','MI0351','MI0352','PP2276','PP2277','MG1887','MB0896',
'MB0897','MB0903','MB0937','FB0062','MB0637','MB0162','MB0757','MB0671','MB0572','MB0652',
'MB0785','MB0786','MI0466','MB0828','MB0795','MK0413','MB0909','MI0468','MI0297','MB0699',
'MB0904','MB0638','MB0862','MB0758','MI0357','MB0809','MB0739','FB0055','MB0826','MB0825',
'MI0068','MB0744','MB0910','MB0901','MB0184','MB0655','FB0060','FB0061','FB0054','MB0713',
'FB0057','ME0035','MI0124','MB0661','MI0126','MI0301','MI0141','MI0143','MI0173','MD0051',
'MI0181','MB0719','MB0601','ME0029','FA0184','FA0531','FC0006','MB0857','PP2348','MB0906',
'MG0811','MI0258','MI0156','FA0717','MI1800','MI0172','MI0446','MD0096','MD0098','MD0097',
'MI0402','MD0094','MI0185','MI0399','MG1502','MB0905','MJ0059','FA0716','MG1453','PP0221',
'PP2347','MG1786','MG1761','MG1789','MH0106','FA0932','MK0492','MG1665','MK0429','MK0482',
'MK0466','MG1574','MF0526','MF0539','MF0530','MF0524','MF0551','FC0030','FC0002','FC0009','FC0028'
);



Зареждане…
Отказ
Запис