zhangqian
2023-12-18 ed3d45b189f102249eabd0cb5a0299bc66b0dea6
controllers/product_controller.go
@@ -14,6 +14,7 @@
   "wms/extend/util"
   "wms/models"
   "wms/pkg/logx"
   "wms/pkg/mysqlx"
   "wms/request"
)
@@ -447,12 +448,28 @@
      util.ResponseFormat(c, code.RequestParamError, "请输入源单据")
      return
   }
   if params.Number == "" {
      util.ResponseFormat(c, code.RequestParamError, "请输入单号")
      return
   }
   var numberNum int64
   if err := mysqlx.GetDB().Model(&models.Operation{}).Where("number=?", params.Number).Count(&numberNum).Error; err != nil {
      util.ResponseFormat(c, code.RequestParamError, err.Error())
      return
   }
   if numberNum > 0 {
      util.ResponseFormat(c, code.RequestParamError, "单号已存在")
      return
   }
   detail := &models.OperationDetails{
      ProductId: params.ProductId,
      Amount:    params.Amount,
   }
   operation := models.Operation{
      Number:            strconv.FormatInt(time.Now().Unix(), 10),
      //Number:            strconv.FormatInt(time.Now().Unix(), 10),
      Number:            params.Number,
      SourceNumber:      params.SourceNumber,
      OperationTypeId:   0,
      Status:            constvar.OperationStatus_Ready,
@@ -488,7 +505,7 @@
      return
   }
   db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,material.name as product_name,material.unit,wms_operation_details.amount").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").InnerJoins("inner join material on material.id=wms_operation_details.product_id").Where("wms_operation.base_operation_type=?", constvar.BaseOperationTypeDisuse)
   db := models.NewOperationSearch().Orm.Table("wms_operation").Select("wms_operation.id,wms_operation.number,wms_operation.source_number,wms_operation.status,wms_operation.from_location_id,wms_operation.to_location_id,wms_operation.operation_date,wms_operation.contacter_id,wms_operation.contacter_name,wms_operation.company_id,wms_operation.company_name,wms_operation.comment,wms_operation_details.product_id,material.name as product_name,material.unit,wms_operation_details.amount,wms_operation.base_operation_type").InnerJoins("inner join wms_operation_details on wms_operation_details.operation_id=wms_operation.id").InnerJoins("inner join material on material.id=wms_operation_details.product_id").Where("wms_operation.base_operation_type=?", constvar.BaseOperationTypeDisuse)
   if params.Number != "" {
      db = db.Where("wms_operation.number like ? or wms_operation.source_number like ? or material.name like ?", fmt.Sprintf("%%%v%%", params.Number), fmt.Sprintf("%%%v%%", params.Number), fmt.Sprintf("%%%v%%", params.Number))