package service import ( "XT_New/models" "github.com/jinzhu/gorm" "time" ) func GetIntegrationPatientList(orgID int64, page, limit int64) (patients []*models.VMPatients, total int64, err error) { //db := MiddleReadDB() db := readDb.Model(&models.VMPatients{}).Where("status=1") if orgID > 0 { db = db.Where("user_org_id=?", orgID) } offset := (page - 1) * limit err = db.Preload("VMHisPatients", func(db *gorm.DB) *gorm.DB { return readMiddleDb.Model(&models.VMHisPatients{}).Where("status = 1 AND user_org_id = ?", orgID) }).Preload("Contagions", "status = 1").Group("id").Count(&total).Offset(offset).Limit(limit).Find(&patients).Error return } func UpdatePatientsHis(org_id int64, his_user_id string, id int64) (err error) { db := MiddleWriteDB() err = db.Model(&models.HisPatients{}).Where("user_org_id = ? AND id = ?", org_id, id).Updates(map[string]interface{}{"mtime": time.Now().Unix(), "his_user_id": his_user_id}).Error return } func CreatePatientsHis(patient *models.HisPatients) (err error) { db := MiddleWriteDB() err = db.Save(&patient).Error return } func FindVMPatientById(orgID int64, id int64) (patient models.VMPatients, err error) { db := XTReadDB() err = db.Model(&models.VMPatients{}).Where("id = ? and user_org_id=? and status=1", id, orgID).First(&patient).Error return } func FindHisPatientByHisId(orgID int64, his_user_id string) (total int64, err error) { db := MiddleReadDB() err = db.Model(&models.HisPatients{}).Where("his_user_id = ? and user_org_id=? and status=1", his_user_id, orgID).Count(&total).Error return } func GetAdminUsers(orgID int64, appID int64, page int, limit int) (admins []*models.VMUserAdminRole, total int64, err error) { db := readUserDb.Model(&models.VMUserAdminRole{}).Where("status=1") if orgID > 0 { db = db.Where("org_id = ? AND app_id = ?", orgID, appID) } offset := (page - 1) * limit err = db.Preload("HisUserAdminRole", func(db *gorm.DB) *gorm.DB { return readMiddleDb.Model(&models.HisUserAdminRole{}).Where("status = 1 AND org_id = ? AND app_id = ?", orgID, appID) }).Preload("VMUserAdmin", "status = 1").Preload("VMUserRole", "status = 1 AND org_id = ? AND app_id = ?", orgID, appID).Count(&total).Offset(offset).Limit(limit).Find(&admins).Error return } func UpdateAdminsHis(org_id int64, his_user_id string, id int64) (err error) { db := MiddleWriteDB() err = db.Model(&models.HisUserAdminRole{}).Where("org_id = ? AND id = ?", org_id, id).Updates(map[string]interface{}{"mtime": time.Now().Unix(), "his_user_id": his_user_id}).Error return } func CreateAdminsHis(admin *models.HisUserAdminRole) (err error) { db := MiddleWriteDB() err = db.Save(&admin).Error return } func FindVMAdminRoleById(orgID int64, id int64, app_id int64) (admin models.VMUserAdminRole, err error) { db := UserReadDB() err = db.Model(&models.VMUserAdminRole{}).Where("admin_user_id = ? and org_id=? and app_id = ? and status=1", id, orgID, app_id).First(&admin).Error return } func FindHisAdminByHisId(orgID int64, his_user_id string, app_id int64) (total int64, err error) { db := MiddleReadDB() err = db.Model(&models.HisUserAdminRole{}).Where("his_user_id = ? and org_id=? and app_id = ? and status=1", his_user_id, orgID, app_id).Count(&total).Error return }