Add employee serial QR query support
This commit is contained in:
@@ -147,7 +147,7 @@ func (s *EmployeeSerialsService) generateWithDB(
|
|||||||
// Query 查询员工序列号信息
|
// Query 查询员工序列号信息
|
||||||
func (s *EmployeeSerialsService) Query(serialNumber string) (*models.EmployeeSerial, error) {
|
func (s *EmployeeSerialsService) Query(serialNumber string) (*models.EmployeeSerial, error) {
|
||||||
var serial models.EmployeeSerial
|
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 {
|
if result.Error != nil {
|
||||||
return nil, fmt.Errorf("查询员工序列号失败: %w", errors.New("序列号不存在"))
|
return nil, fmt.Errorf("查询员工序列号失败: %w", errors.New("序列号不存在"))
|
||||||
}
|
}
|
||||||
@@ -161,7 +161,7 @@ func (s *EmployeeSerialsService) FindAll(page int, limit int, search string) ([]
|
|||||||
var total int64
|
var total int64
|
||||||
|
|
||||||
offset := (page - 1) * limit
|
offset := (page - 1) * limit
|
||||||
db := database.DB.Preload("User")
|
db := database.DB.Preload("User").Preload("Employee")
|
||||||
|
|
||||||
// 搜索条件
|
// 搜索条件
|
||||||
if search != "" {
|
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.NoError(t, database.DB.Where("employee_no = ?", "employee_no_pwd").First(&user).Error)
|
||||||
assert.Empty(t, user.Password)
|
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().Where("employee_id = ?", user.ID).Delete(&models.EmployeeSerial{})
|
||||||
database.DB.Unscoped().Delete(&user)
|
database.DB.Unscoped().Delete(&user)
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user