jiangshuai
2023-12-12 ec58bf196fb360bfcec35ed784ae9da90ffa3d42
service/input_history_search.go
@@ -20,6 +20,11 @@
   OperationTypeName string                     `json:"operationTypeName,omitempty"` //业务名称
   FromLocation      string                     `json:"fromLocation,omitempty"`      //源位置名称
   ToLocation        string                     `json:"toLocation,omitempty"`        //目标位置名称
   Date              string                     `json:"date,omitempty"`              //日期
   Company           string                     `json:"company,omitempty"`           // 供应商/客户
   Carrier           string                     `json:"carrier,omitempty"`           //承运商名称
   WaybillNumber     string                     `json:"waybillNumber"`               //运单号
   ReceiverName      string                     `json:"receiverName"`                //收货人
}
const (
@@ -36,19 +41,24 @@
      return
   }
   records := make([]*models.MoveHistory, 0, 100)
   reports := make([]*HistoryReport, 0, 100)
   err = models.NewMoveHistorySearch().Orm.FindInBatches(&records, 100, func(tx *gorm.DB, batch int) error {
      err = structx.AssignTo(records, &reports)
      operationIds := make([]int, 0, len(records))
      for _, record := range records {
         operationIds = append(operationIds, record.OperationId)
      }
      operations, err := models.NewOperationSearch().SetPreload(true).SetIds(operationIds).FindNotTotal()
      if err != nil {
         logx.Errorf("AddNewHistoryReportRecord AssignTo err:%v", err)
         return err
      }
      for _, report := range reports {
         err = blevex.Add(HistoryReportIndexName, strconv.Itoa(report.ID), report)
         if err != nil {
            logx.Errorf("InitHistoryReportData add failed, err:%v, index:%v, data:%v", err, HistoryReportIndexName, report)
            return err
         }
      operationMap := make(map[int]*models.Operation, len(operations))
      for _, operation := range operations {
         operationMap[operation.Id] = operation
      }
      for _, record := range records {
         AddNewHistoryReportRecord(record, operationMap[record.OperationId])
      }
      return nil
   }).Error
@@ -76,19 +86,21 @@
   return
}
func AddNewHistoryReportRecord(moveHistoryId int) {
func AddNewHistoryReportRecord(record *models.MoveHistory, operation *models.Operation) {
   var report HistoryReport
   record, err := models.NewMoveHistorySearch().SetID(uint(moveHistoryId)).First()
   if err != nil {
      logx.Errorf("AddNewHistoryReportRecord Find err:%v", err)
      return
   }
   err = structx.AssignTo(record, &report)
   err := structx.AssignTo(record, &report)
   if err != nil {
      logx.Errorf("AddNewHistoryReportRecord AssignTo err:%v", err)
      return
   }
   err = blevex.Add(HistoryReportIndexName, strconv.Itoa(moveHistoryId), report)
   report.Date = record.UpdatedAt.Format("2006-01-02")
   report.Carrier = operation.LogisticCompany.Name
   report.Company = operation.CompanyName
   report.WaybillNumber = operation.WaybillNumber
   report.ReceiverName = operation.ReceiverName
   err = blevex.Add(HistoryReportIndexName, strconv.Itoa(record.Id), report)
   if err != nil {
      logx.Errorf("AddNewHistoryReportRecord bleve add err:%v", err)
      return