1.优化采购入库,判断同一批次入库的串码是否有重复;
This commit is contained in:
parent
7e1dc4646b
commit
c5958b0cb7
|
@ -1568,9 +1568,28 @@ func InventoryErpPurchaseUpdateRejectStock(gdb *gorm.DB, list []ErpPurchaseInven
|
|||
return nil
|
||||
}
|
||||
|
||||
// CheckDuplicateIMEI 判断入参的串码是否有重复的情况
|
||||
func CheckDuplicateIMEI(req *ErpPurchaseInventoryReq) (bool, string) {
|
||||
// 使用 map 存储已经遍历的 IMEI
|
||||
imeiMap := make(map[string]bool)
|
||||
|
||||
for _, inventory := range req.Inventories {
|
||||
if inventory.IMEI != "" { // 确保 IMEI 有值
|
||||
if imeiMap[inventory.IMEI] {
|
||||
// 如果已经存在相同的 IMEI,返回 true 和重复的 IMEI
|
||||
return true, inventory.IMEI
|
||||
}
|
||||
// 将当前 IMEI 添加到 map 中
|
||||
imeiMap[inventory.IMEI] = true
|
||||
}
|
||||
}
|
||||
// 如果没有找到重复的 IMEI,返回 false
|
||||
return false, ""
|
||||
}
|
||||
|
||||
// 校验入参数据,执行数量是否超过总数;串码商品的串码是否重复
|
||||
func checkPurchaseInventory(req *ErpPurchaseInventoryReq, imeiCheckFlag bool) error {
|
||||
// 查询现有的零售订单信息
|
||||
// 查询现有的采购订单信息
|
||||
var commodities []ErpPurchaseCommodity
|
||||
err := orm.Eloquent.Table("erp_purchase_commodity").Where("erp_purchase_order_id = ?", req.ErpPurchaseOrderId).Find(&commodities).Error
|
||||
if err != nil {
|
||||
|
@ -1578,6 +1597,12 @@ func checkPurchaseInventory(req *ErpPurchaseInventoryReq, imeiCheckFlag bool) er
|
|||
return err
|
||||
}
|
||||
|
||||
// 判断串码是否重复
|
||||
flag, duplicateImei := CheckDuplicateIMEI(req)
|
||||
if flag {
|
||||
return fmt.Errorf("[%s]串码重复", duplicateImei)
|
||||
}
|
||||
|
||||
countMap := make(map[uint32]uint32)
|
||||
for i, inventory := range req.Inventories {
|
||||
if inventory.ErpCommodityId == 0 {
|
||||
|
|
Loading…
Reference in New Issue
Block a user