Browse Source

修复数据脚本

feature_zx
parent
commit
8ae89b441b
1 changed files with 109 additions and 0 deletions
  1. +109
    -0
      RepairAcuraLoseData.go

+ 109
- 0
RepairAcuraLoseData.go View File

@ -1 +1,110 @@
package main
import (
meta "LAPP_ACURA_MOM_BACKEND/meta/om"
model "LAPP_ACURA_MOM_BACKEND/models/om"
"fmt"
"github.com/go-xorm/xorm"
"log"
)
func main() {
sourceDsn := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%d;encrypt=disable",
"127.0.0.1", "LAPP_ACURA_MES4", "sa", "Start12345", 1433)
sourceEngine, err := xorm.NewEngine("mssql", sourceDsn)
if err != nil {
log.Fatalln("初始化源数据库失败", err)
}
targetDsn := fmt.Sprintf("server=%s;database=%s;user id=%s;password=%s;port=%d;encrypt=disable",
"10.122.64.96", "LAPP_ACURA_MES3", "sa", "Start12345", 1433)
targetEngine, err := xorm.NewEngine("mssql", targetDsn)
if err != nil {
log.Fatalln("初始化目标数据库失败", err)
}
sourceSession := sourceEngine.NewSession()
defer sourceSession.Close()
targetSession := targetEngine.NewSession()
defer targetSession.Close()
//sourceRecvDataDao := dal.NewSerialOrderOPDetailRecvDataLstDAO(sourceSession, 100, "RepairData")
//sourceRecvDataDao := dal.NewSerialOrderOPDetailRecvDataLstDAO(targetSession, 100, "RepairData")
//sourceOnlyBarcodeDao := dal.NewSerialOrderOnlyBarcodeRecLstDAO(sourceSession, 100, "RepairData")
//targetOnlyBarcodeDao := dal.NewSerialOrderOnlyBarcodeRecLstDAO(targetSession, 100, "RepairData")
where := fmt.Sprintf("%s > ?", meta.SerialOrderOPDetailRecvDataLst_CreateTime.Name)
allRecvData := make([]model.SerialOrderOPDetailRecvDataLst, 0)
err = sourceSession.Table(meta.SerialOrderOPDetailRecvDataLst.TableName).Where(where, "2022-10-01 00:00:00").
OrderBy(meta.SerialOrderOPDetailRecvDataLst_SerialOrderId.Name).
OrderBy(meta.SerialOrderOPDetailRecvDataLst_PO.Name).
OrderBy(meta.SerialOrderOPDetailRecvDataLst_StepNo.Name).
OrderBy(meta.SerialOrderOPDetailRecvDataLst_OriginPos.Name).Find(&allRecvData)
if err != nil {
log.Fatalln("查询源recvData失败,错误:" + err.Error())
}
fmt.Println("开始处理RecvData")
var ok bool
for _, item := range allRecvData {
where = fmt.Sprintf("%s = ? and %s = ? and %s = ? and %s = ?",
meta.SerialOrderOPDetailRecvDataLst_SerialOrderId.Name,
meta.SerialOrderOPDetailRecvDataLst_PO.Name,
meta.SerialOrderOPDetailRecvDataLst_StepNo.Name,
meta.SerialOrderOPDetailRecvDataLst_OriginPos.Name,
)
var recvData model.SerialOrderOPDetailRecvDataLst
ok, err = targetSession.Table(meta.SerialOrderOPDetailRecvDataLst.TableName).Where(where, item.SerialOrderId, item.PO, item.StepNo, item.OriginPos).Get(&recvData)
if err != nil {
fmt.Println("查询目标数据recvData失败, error:" + err.Error())
return
}
if ok {
fmt.Println("忽略")
continue
}
fmt.Println("插入RecvData", item)
newItem := item
newItem.Pos = 0
_, err = targetSession.Table(meta.SerialOrderOPDetailRecvDataLst.TableName).InsertOne(&newItem)
if err != nil {
fmt.Println("写入目标数据recvData失败, error:" + err.Error())
return
}
}
where = fmt.Sprintf("%s > ?", meta.SerialOrderOnlyBarcodeRecLst_CreateTime.Name)
allBarcodeLi := make([]model.SerialOrderOnlyBarcodeRecLst, 0)
err = sourceSession.Table(meta.SerialOrderOnlyBarcodeRecLst.TableName).Where(where, "2022-10-01 00:00:00").
OrderBy(meta.SerialOrderOnlyBarcodeRecLst_SerialOrderId.Name).
OrderBy(meta.SerialOrderOnlyBarcodeRecLst_PO.Name).
OrderBy(meta.SerialOrderOnlyBarcodeRecLst_WorkPlaceNr.Name).
OrderBy(meta.SerialOrderOnlyBarcodeRecLst_Barcode.Name).Find(&allBarcodeLi)
if err != nil {
log.Fatalln("查询源onlyBarcode失败,错误:" + err.Error())
}
fmt.Println("开始处理OnlyBarcode")
for _, item := range allBarcodeLi {
where = fmt.Sprintf("%s = ? and %s = ? and %s = ? and %s = ?",
meta.SerialOrderOnlyBarcodeRecLst_SerialOrderId.Name,
meta.SerialOrderOnlyBarcodeRecLst_PO.Name,
meta.SerialOrderOnlyBarcodeRecLst_WorkPlaceNr.Name,
meta.SerialOrderOnlyBarcodeRecLst_Barcode.Name,
)
var onlyBarcode model.SerialOrderOnlyBarcodeRecLst
ok, err = targetSession.Table(meta.SerialOrderOnlyBarcodeRecLst.TableName).Where(where, item.SerialOrderId, item.PO, item.WorkPlaceNr, item.Barcode).Get(&onlyBarcode)
if err != nil {
fmt.Println("查询目标数据onlyBarcode失败, error:" + err.Error())
return
}
if ok {
fmt.Println("忽略")
continue
}
fmt.Println("插入onlyBarcode", item)
newItem := item
newItem.DetailId = 0
_, err = targetSession.Table(meta.SerialOrderOnlyBarcodeRecLst.TableName).InsertOne(&newItem)
if err != nil {
fmt.Println("写入目标数据OnlyBarcode失败, error:" + err.Error())
return
}
}
}

Loading…
Cancel
Save