zhangqian
2024-03-28 d182e581dd48d2e289f8cfa06405f8802a04573b
controllers/order.go
@@ -11,6 +11,7 @@
   "outsourcing/pkg/logx"
   "outsourcing/pkg/structx"
   "outsourcing/request"
   "outsourcing/response"
   "outsourcing/service"
   "outsourcing/service/outsourcing"
   "outsourcing/utils/jwt"
@@ -203,10 +204,22 @@
      params.Status == constvar.OutsourcingOrderStatusWaitProduce || //确认接受
      params.Status == constvar.OutsourcingOrderStatusFinish || //生产完成
      params.Status == constvar.OutsourcingOrderStatusDeliveryFinish { //发货完成
      m := make(map[string]interface{})
      m["status"] = params.Status
      m["reason"] = params.Reason
      err := models.NewOutsourcingOrderSearch().SetNumber(params.OutsourcingOrderNumber).UpdateByMap(m)
      err = models.WithTransaction(func(db *gorm.DB) error {
         m := make(map[string]interface{})
         m["status"] = params.Status
         m["reason"] = params.Reason
         err := models.NewOutsourcingOrderSearch().SetNumber(params.OutsourcingOrderNumber).UpdateByMap(m)
         if err != nil {
            return err
         }
         if params.Status == constvar.OutsourcingOrderStatusCreate {
            return models.NewOutsourcingOrderSearch().SetEnterpriseID(jwt.GetCompanyID(c)).SetNumber(params.OutsourcingOrderNumber).UpdateByMap(map[string]interface{}{
               "enterprise_id": 0,
            })
         }
         return nil
      })
      if err != nil {
         util.ResponseFormat(c, code.RequestParamError, "状态更新失败")
         return
@@ -274,7 +287,7 @@
      util.ResponseFormat(c, code.RequestParamError, "参数解析失败,数据类型错误")
      return
   }
   if params.OutsourcingOrderID == 0 || params.Number == "" || params.Carrier == "" || params.WaybillNumber == "" {
   if params.OutsourcingOrderID == 0 || params.Number == "" {
      util.ResponseFormat(c, code.RequestParamError, "参数缺失")
      return
   }
@@ -309,6 +322,7 @@
            OutsourcingOrderDeliveryID: delivery.ID,
            OutsourcingOrderProductID:  v.OutsourcingOrderProductID,
            SendAmount:                 v.SendAmount,
            IsReceived:                 2,
         })
      }
      return models.NewOutsourcingOrderDeliveryDetailsSearch().SetOrm(db).CreateBatch(items)
@@ -358,7 +372,7 @@
// @Summary   物料搜索
// @Produce   application/json
// @Param     object  body    request.MaterialSearch true  "参数"
// @Success   200   {object}  util.ResponseList{[]models.OutsourcingOrderDeliveryDetails}  "成功"
// @Success   200   {object}  util.ResponseList{[]response.Material}  "成功"
// @Router    /api-outsourcing/v1/order/materialSearch [post]
func (slf *OrderController) MaterialSearch(c *gin.Context) {
   var params request.MaterialSearch
@@ -367,15 +381,28 @@
      return
   }
   client := outsourcing.NewOutsourcingServiceClient(service.ApsServiceConn)
   list, err := client.GetMaterialList(c, &outsourcing.GetMaterialListRequest{
   resp, err := client.GetMaterialList(c, &outsourcing.GetMaterialListRequest{
      Page:     int32(params.Page),
      PageSize: int32(params.PageSize),
      Keyword:  params.Keyword,
   })
   if err != nil {
      logx.Errorf("grpc outsourcing GetProductList err:%v", err)
      util.ResponseFormat(c, code.RequestParamError, "查询失败")
      return
   }
   util.ResponseFormat(c, code.Success, list)
   data := make([]*response.Material, 0, len(resp.List))
   for _, item := range resp.List {
      data = append(data, &response.Material{
         Number: item.ID,
         Name:   item.Name,
         Unit:   item.Unit,
         Specs:  item.Specs,
         Type:   item.Type,
      })
   }
   util.ResponseFormat(c, code.Success, data)
}