zhangqian
2024-01-12 a10d59528a36dc5a1fbe4d9caa6b4abf25ab828c
controllers/location_product_amount.go
@@ -68,7 +68,7 @@
   }
   var operation models.Operation
   for k, v := range records {
      if res := mysqlx.GetDB().Table("wms_operation").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").Where("wms_operation.base_operation_type=? and wms_operation.status=? and wms_operation.to_location_id=? and wms_operation_details.product_id=?", constvar.BaseOperationTypeAdjust, constvar.OperationStatus_Ready, v.LocationId, v.ProductId).First(&operation); res.Error != nil {
      if res := mysqlx.GetDB().Table("wms_operation").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").Where("wms_operation.base_operation_type=? and wms_operation.status=? and wms_operation_details.to_location_id=? and wms_operation_details.product_id=?", constvar.BaseOperationTypeAdjust, constvar.OperationStatus_Ready, v.LocationId, v.ProductId).First(&operation); res.Error != nil {
         if errors.Is(res.Error, gorm.ErrRecordNotFound) {
            records[k].Status = constvar.OperationStatus_Finish
            records[k].BaseOperationType = constvar.BaseOperationTypeAdjust
@@ -120,7 +120,11 @@
   }
   var existCount int64
   if err := models.NewOperationSearch().Orm.Table("wms_operation").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").Where("wms_operation.from_location_id=? and wms_operation_details.product_id=? and wms_operation.base_operation_type=? and wms_operation.status=?", reqParams.LocationId, reqParams.ProductId, constvar.BaseOperationTypeAdjust, constvar.OperationStatus_Ready).Count(&existCount).Error; err != nil {
   if err := models.NewOperationSearch().Orm.
      Table("wms_operation").
      InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").
      Where("wms_operation.location_id=? and wms_operation_details.product_id=? and wms_operation.base_operation_type=? and wms_operation.status=?", reqParams.LocationId, reqParams.ProductId, constvar.BaseOperationTypeAdjust, constvar.OperationStatus_Ready).
      Count(&existCount).Error; err != nil {
      return err
   }
   if existCount > 0 {
@@ -149,8 +153,10 @@
   }
   detail := &models.OperationDetails{
      ProductId: reqParams.ProductId,
      Amount:    reqParams.AdjustAmount,
      ProductId:      reqParams.ProductId,
      Amount:         reqParams.AdjustAmount,
      FromLocationID: location.Id,
      ToLocationID:   reqParams.LocationId,
   }
   operation := models.Operation{
      Number:            strconv.FormatInt(time.Now().Unix(), 10),
@@ -159,8 +165,6 @@
      Comment:           "库存盘点",
      BaseOperationType: constvar.BaseOperationTypeAdjust,
      Details:           []*models.OperationDetails{detail},
      FromLocationID:    location.Id,
      ToLocationID:      reqParams.LocationId,
   }
   if err := models.WithTransaction(func(tx *gorm.DB) error {