Add employee serial QR query support
This commit is contained in:
@@ -147,7 +147,7 @@ func (s *EmployeeSerialsService) generateWithDB(
|
||||
// Query 查询员工序列号信息
|
||||
func (s *EmployeeSerialsService) Query(serialNumber string) (*models.EmployeeSerial, error) {
|
||||
var serial models.EmployeeSerial
|
||||
result := database.DB.Preload("User").Where("serial_number = ?", strings.ToUpper(serialNumber)).First(&serial)
|
||||
result := database.DB.Preload("User").Preload("Employee").Where("serial_number = ?", strings.ToUpper(serialNumber)).First(&serial)
|
||||
if result.Error != nil {
|
||||
return nil, fmt.Errorf("查询员工序列号失败: %w", errors.New("序列号不存在"))
|
||||
}
|
||||
@@ -161,7 +161,7 @@ func (s *EmployeeSerialsService) FindAll(page int, limit int, search string) ([]
|
||||
var total int64
|
||||
|
||||
offset := (page - 1) * limit
|
||||
db := database.DB.Preload("User")
|
||||
db := database.DB.Preload("User").Preload("Employee")
|
||||
|
||||
// 搜索条件
|
||||
if search != "" {
|
||||
|
||||
@@ -51,6 +51,15 @@ func TestUsersService_Create_EmployeeWithoutPasswordGeneratesSerial(t *testing.T
|
||||
assert.NoError(t, database.DB.Where("employee_no = ?", "employee_no_pwd").First(&user).Error)
|
||||
assert.Empty(t, user.Password)
|
||||
|
||||
serialService := EmployeeSerialsService{}
|
||||
serial, err := serialService.Query(dto.EmployeeSerials[0].SerialNumber)
|
||||
assert.NoError(t, err)
|
||||
assert.NotNil(t, serial.Employee)
|
||||
assert.Equal(t, "普通员工", serial.Employee.Name)
|
||||
assert.Equal(t, "13800000002", serial.Employee.Phone)
|
||||
assert.Equal(t, "employee_no_pwd", serial.Employee.EmployeeNo)
|
||||
assert.Equal(t, "生产员工", serial.Employee.Position)
|
||||
|
||||
database.DB.Unscoped().Where("employee_id = ?", user.ID).Delete(&models.EmployeeSerial{})
|
||||
database.DB.Unscoped().Delete(&user)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user