controllers/operation.go
@@ -9,7 +9,6 @@
   "github.com/shopspring/decimal"
   "github.com/xuri/excelize/v2"
   "gorm.io/gorm"
   "sort"
   "strconv"
   "strings"
   "time"
@@ -180,19 +179,19 @@
   params.DealerType = miniDict.Name
}
// CheckDetailsRepeat 出库、入库、盘点涉及产品重复性检查(以产品编号、出库库房编号、入库库房编号)
// 存在重复值 true; 不存在返回 false
func CheckDetailsRepeat(details []*models.OperationDetails) bool {
   var detailIDs []string
   var tempID string
   for _, v := range details {
      detailIDs = append(detailIDs, v.ProductId)
   if len(details) == 0 {
      return false
   }
   sort.Strings(detailIDs)
   for _, v := range detailIDs {
      if v != tempID {
         tempID = v
      } else {
         return true
      }
   var detailKeyMap = make(map[string]bool)
   for _, v := range details {
      key := fmt.Sprintf("%v%v%v", v.ProductId, v.FromLocationID, v.ToLocationID)
      detailKeyMap[key] = true
   }
   if len(detailKeyMap) != len(details) { // 长度相同,不存在重复值;长度不同存在存在不同
      return true
   }
   return false
}
@@ -379,6 +378,10 @@
   //   }
   //}
   userInfo := middleware.GetUserInfo(c)
   if userInfo == nil {
      util.ResponseFormat(c, code.SetStatusError, "登录用户信息为空,请登录后重试!")
      return
   }
   for _, v := range list {
      v.CreatedBy = userInfo.NickName
      //if err == nil {