| 
					
				 | 
			
			
				@@ -1,21 +1,29 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 package models 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-import model2 "Medical_ERP/common/model" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import ( 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	db "Medical_ERP/common/initialize" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	model2 "Medical_ERP/common/model" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"Medical_ERP/utils" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"github.com/beego/beego/v2/core/logs" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	"strings" 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 type MedicineImg struct { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	model2.Model 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	Product             string `json:"product" gorm:"size:512;"`             // 药品名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	Enterprise          string `json:"enterprise" gorm:"size:512;"`          // 生产企业 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	Spec                string `json:"spec" gorm:"size:512;"`                // 规格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	Unit                string `json:"unit" gorm:"size:512;"`                // 单位 非必填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	DosageForm          string `json:"dosageForm" gorm:"size:512;"`          // 剂型 非必填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	ApprovalNumber      string `json:"approvalNumber" gorm:"size:128;"`      // 批准文号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	QualificationNumber string `json:"qualificationNumber" gorm:"size:128;"` // 批签发合格编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	ProductionDate      string `json:"productionDate" gorm:"size:128;"`      // 生产日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	ExpiryDate          string `json:"expiryDate" gorm:"size:128;"`          // 失效日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	BatchNumber         string `json:"batchNumber" gorm:"size:128;"`         // 批号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	Qrcode              string `json:"qrcode" gorm:"size:256;"`              // 追溯码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-	Img                 string `json:"img" gorm:"type:longtext"`             // 图片 001.jpg,002.jpg,003.jpg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Product             string   `json:"product" gorm:"size:512;"`             // 药品名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Enterprise          string   `json:"enterprise" gorm:"size:512;"`          // 生产企业 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Spec                string   `json:"spec" gorm:"size:512;"`                // 规格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Unit                string   `json:"unit" gorm:"size:512;"`                // 单位 非必填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	DosageForm          string   `json:"dosageForm" gorm:"size:512;"`          // 剂型 非必填 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ApprovalNumber      string   `json:"approvalNumber" gorm:"size:128;"`      // 批准文号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	QualificationNumber string   `json:"qualificationNumber" gorm:"size:128;"` // 批签发合格编号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ProductionDate      string   `json:"productionDate" gorm:"size:128;"`      // 生产日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ExpiryDate          string   `json:"expiryDate" gorm:"size:128;"`          // 失效日期 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	BatchNumber         string   `json:"batchNumber" gorm:"size:128;"`         // 批号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Qrcode              string   `json:"qrcode" gorm:"size:256;"`              // 追溯码 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	Img                 string   `json:"img" gorm:"type:longtext"`             // 图片 001.jpg,002.jpg,003.jpg 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	ImgUrl              string   `json:"imgUrl" gorm:"-"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	SrcList             []string `json:"crcList" gorm:"-"` 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	model2.ControlBy 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	model2.ModelTime 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -27,3 +35,55 @@ func (e *MedicineImg) TableName() string { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 func (e *MedicineImg) GetId() interface{} { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 	return e.Id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+func SyncMedicineInfoToMedicineImg() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	// 删除表内字段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	var tableName []string 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	err := db.DB.Raw("SELECT TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' AND TABLE_NAME LIKE 'medicine_info_%';"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		Scan(&tableName).Error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		logs.Error("db error: %s", err) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	tx := db.DB.Begin() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	for _, v := range tableName { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		var info []MedicineInfo 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		err = tx.Table(v). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Preload("Product"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Preload("Enterprise"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Preload("Spec"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Preload("Unit"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Preload("DosageForm"). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Find(&info). 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			Error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			tx.Rollback() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			logs.Error("修改表结构失败: %s", err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		deptId := strings.Trim(v, "medicine_info_") 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		for _, i := range info { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			img := MedicineImg{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Product:     i.Product.Name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Enterprise:  i.Enterprise.Name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Spec:        i.Spec.Name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				Unit:        i.Unit.Name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				DosageForm:  i.DosageForm.Name, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				BatchNumber: i.BatchNumber, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				ControlBy: model2.ControlBy{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+					DeptId: utils.ToInt(deptId), 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				}, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			err = tx.Model(MedicineImg{}).Create(&img).Error 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			if err != nil { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				tx.Rollback() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				logs.Error("修改表结构失败: %s", err.Error()) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+				break 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+			} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+		} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+	tx.Commit() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |