作者 yangfu

fix:1.称重系统用户查询修改

@@ -30,7 +30,7 @@ func AutoFlushDeviceDailyRunningRecord(ctx context.Context) error { @@ -30,7 +30,7 @@ func AutoFlushDeviceDailyRunningRecord(ctx context.Context) error {
30 transactionContext.RollbackTransaction() 30 transactionContext.RollbackTransaction()
31 }() 31 }()
32 32
33 - log.Logger.Info("【定时刷新设备每日运行记录】 启动") 33 + log.Logger.Debug("【定时刷新设备每日运行记录】 启动")
34 deviceDailyRunningRecordRepository, _, _ := factory.FastPgDeviceDailyRunningRecord(transactionContext, 0) 34 deviceDailyRunningRecordRepository, _, _ := factory.FastPgDeviceDailyRunningRecord(transactionContext, 0)
35 // 获取redis里当天的记录 35 // 获取redis里当天的记录
36 span := time.Duration(20) 36 span := time.Duration(20)
@@ -43,7 +43,7 @@ func AutoFlushDeviceDailyRunningRecord(ctx context.Context) error { @@ -43,7 +43,7 @@ func AutoFlushDeviceDailyRunningRecord(ctx context.Context) error {
43 43
44 for _, v := range records { 44 for _, v := range records {
45 if v.UpdatedAt.Add(time.Minute * 5).Before(time.Now()) { 45 if v.UpdatedAt.Add(time.Minute * 5).Before(time.Now()) {
46 - log.Logger.Info(fmt.Sprintf("【定时刷新设备每日运行记录】 跳过记录 %v 最后更新时间:%v", v, v.UpdatedAt)) 46 + log.Logger.Debug(fmt.Sprintf("【定时刷新设备每日运行记录】 跳过记录 %v 最后更新时间:%v", v, v.UpdatedAt))
47 continue 47 continue
48 } 48 }
49 49
@@ -53,7 +53,7 @@ func AutoFlushDeviceDailyRunningRecord(ctx context.Context) error { @@ -53,7 +53,7 @@ func AutoFlushDeviceDailyRunningRecord(ctx context.Context) error {
53 log.Logger.Error(err.Error()) 53 log.Logger.Error(err.Error())
54 continue 54 continue
55 } else { 55 } else {
56 - log.Logger.Info(fmt.Sprintf("【定时刷新设备每日运行记录】 刷新记录 %v", v)) 56 + log.Logger.Debug(fmt.Sprintf("【定时刷新设备每日运行记录】 刷新记录 %v", v))
57 } 57 }
58 } 58 }
59 59
@@ -26,7 +26,7 @@ type UpdateDeviceCommand struct { @@ -26,7 +26,7 @@ type UpdateDeviceCommand struct {
26 // 工段ID 26 // 工段ID
27 SectionId int `cname:"工段ID" json:"sectionId"` 27 SectionId int `cname:"工段ID" json:"sectionId"`
28 // 品牌 28 // 品牌
29 - Brand string `cname:"品牌" json:"brand" valid:"Required"` 29 + Brand string `cname:"品牌" json:"brand"`
30 // 设备状态 1:正常 2:封存 3:报废 30 // 设备状态 1:正常 2:封存 3:报废
31 DeviceStatus int `cname:"设备状态 1:正常 2:封存 3:报废" json:"deviceStatus" valid:"Required"` 31 DeviceStatus int `cname:"设备状态 1:正常 2:封存 3:报废" json:"deviceStatus" valid:"Required"`
32 // 风险等级 1:高 2:中 3:低 32 // 风险等级 1:高 2:中 3:低
1 package dto 1 package dto
2 2
3 import ( 3 import (
  4 + "fmt"
4 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain" 5 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
5 ) 6 )
6 7
@@ -24,7 +25,7 @@ type DeviceDto struct { @@ -24,7 +25,7 @@ type DeviceDto struct {
24 // 所属位置 25 // 所属位置
25 *domain.WorkStation 26 *domain.WorkStation
26 // 生产单个产品的时间(单位:秒) 27 // 生产单个产品的时间(单位:秒)
27 - UnitProductionSecTime int `json:"unitProductionSecTime"` 28 + UnitProductionSecTime string `json:"unitProductionSecTime"`
28 29
29 // 组织名称 30 // 组织名称
30 OrgName string `json:"orgName"` 31 OrgName string `json:"orgName"`
@@ -47,7 +48,9 @@ func (d *DeviceDto) LoadDto(m *domain.Device, orgId int) *DeviceDto { @@ -47,7 +48,9 @@ func (d *DeviceDto) LoadDto(m *domain.Device, orgId int) *DeviceDto {
47 d.OrgName = m.Ext.OrgName 48 d.OrgName = m.Ext.OrgName
48 } 49 }
49 if m.Ext != nil && m.Ext.DeviceExt != nil { 50 if m.Ext != nil && m.Ext.DeviceExt != nil {
50 - d.UnitProductionSecTime = m.Ext.DeviceExt.UnitProductionSecTime 51 + if m.Ext.DeviceExt.UnitProductionSecTime > 0 {
  52 + d.UnitProductionSecTime = fmt.Sprintf("%v", m.Ext.DeviceExt.UnitProductionSecTime)
  53 + }
51 } 54 }
52 return d 55 return d
53 } 56 }
@@ -71,6 +71,26 @@ func (d *ProductGroupEmployeesDtos) LoadDto(groups ...*domain.ProductGroup) { @@ -71,6 +71,26 @@ func (d *ProductGroupEmployeesDtos) LoadDto(groups ...*domain.ProductGroup) {
71 } 71 }
72 } 72 }
73 73
  74 +func (d *ProductGroupEmployeesDtos) LoadDtoV2(list ...*domain.ProductAttendanceRecord) {
  75 + var mapUser = make(map[int]int)
  76 + for _, v := range list {
  77 + item := &ProductGroupEmployeesDto{}
  78 + item.UserId = v.ProductWorker.UserId
  79 + item.UserName = v.ProductWorker.UserName
  80 + item.ProductGroupId = 0
  81 + item.GroupName = ""
  82 + if len(item.UserName) > 0 {
  83 + item.UserNamePinyin = converter.ToPinYin(item.UserName, "")
  84 + }
  85 + if _, ok := mapUser[item.UserId]; ok {
  86 + continue
  87 + } else {
  88 + mapUser[item.UserId] = item.UserId
  89 + }
  90 + d.Append(item)
  91 + }
  92 +}
  93 +
74 func NewProductGroupEmployeesDtos() *ProductGroupEmployeesDtos { 94 func NewProductGroupEmployeesDtos() *ProductGroupEmployeesDtos {
75 return &ProductGroupEmployeesDtos{ 95 return &ProductGroupEmployeesDtos{
76 Result: make([]*ProductGroupEmployeesDto, 0), 96 Result: make([]*ProductGroupEmployeesDto, 0),
@@ -395,9 +395,7 @@ func (productGroupService *ProductGroupService) SearchProductGroupEmployees(oper @@ -395,9 +395,7 @@ func (productGroupService *ProductGroupService) SearchProductGroupEmployees(oper
395 transactionContext.RollbackTransaction() 395 transactionContext.RollbackTransaction()
396 }() 396 }()
397 397
398 - //workshops, _ := factory.FastPgWorkshops(transactionContext, operateInfo.CompanyId)  
399 queryOptions := utils.ObjectToMap(cmd) 398 queryOptions := utils.ObjectToMap(cmd)
400 - //queryOptions = workshops.FindByNameWithQuery(queryOptions, cmd.WorkshopName, cmd.LineName, "")  
401 399
402 var productGroupRepository domain.ProductGroupRepository 400 var productGroupRepository domain.ProductGroupRepository
403 productGroupRepository, _, _ = factory.FastPgProductGroup(transactionContext, 0) 401 productGroupRepository, _, _ = factory.FastPgProductGroup(transactionContext, 0)
@@ -422,6 +420,41 @@ func (productGroupService *ProductGroupService) SearchProductGroupEmployees(oper @@ -422,6 +420,41 @@ func (productGroupService *ProductGroupService) SearchProductGroupEmployees(oper
422 }, nil 420 }, nil
423 } 421 }
424 422
  423 +// 返回在当前工段上打卡的所有用户
  424 +func (productGroupService *ProductGroupService) SearchProductGroupEmployeesV2(operateInfo *domain.OperateInfo, cmd *query.SearchProductGroupEmployeesQuery) (int64, interface{}, error) {
  425 + if err := cmd.ValidateQuery(); err != nil {
  426 + return 0, nil, application.ThrowError(application.ARG_ERROR, err.Error())
  427 + }
  428 + transactionContext, err := factory.CreateTransactionContext(nil)
  429 + if err != nil {
  430 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  431 + }
  432 + if err := transactionContext.StartTransaction(); err != nil {
  433 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  434 + }
  435 + defer func() {
  436 + transactionContext.RollbackTransaction()
  437 + }()
  438 +
  439 + queryOptions := utils.ObjectToMap(cmd)
  440 + queryOptions["signBeginTime"] = utils.GetZeroTime(time.Now())
  441 + var attendanceRecordRepository domain.ProductAttendanceRecordRepository
  442 + attendanceRecordRepository, _, _ = factory.FastPgAttendance(transactionContext, 0)
  443 + _, productGroups, err := attendanceRecordRepository.Find(queryOptions)
  444 + if err != nil {
  445 + return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  446 + }
  447 + var results = dto.NewProductGroupEmployeesDtos()
  448 + results.LoadDtoV2(productGroups...)
  449 + sort.Stable(results)
  450 + if err := transactionContext.CommitTransaction(); err != nil {
  451 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  452 + }
  453 + return int64(len(results.Result)), map[string]interface{}{
  454 + "employees": results.Result,
  455 + }, nil
  456 +}
  457 +
425 // 返回生产班组服务列表 458 // 返回生产班组服务列表
426 func (productGroupService *ProductGroupService) GetSignEmployee(cmd *query.GetSignInEmployeeQuery) (interface{}, error) { 459 func (productGroupService *ProductGroupService) GetSignEmployee(cmd *query.GetSignInEmployeeQuery) (interface{}, error) {
427 if err := cmd.ValidateQuery(); err != nil { 460 if err := cmd.ValidateQuery(); err != nil {
@@ -17,7 +17,7 @@ func (ptr *PGApproveAttendanceRecordsService) BatchApproveAttendanceRecords(opt @@ -17,7 +17,7 @@ func (ptr *PGApproveAttendanceRecordsService) BatchApproveAttendanceRecords(opt
17 var productAttendanceRecordRepository, _ = repository.NewProductAttendanceRecordRepository(ptr.transactionContext) 17 var productAttendanceRecordRepository, _ = repository.NewProductAttendanceRecordRepository(ptr.transactionContext)
18 var attendance *domain.ProductAttendanceRecord 18 var attendance *domain.ProductAttendanceRecord
19 var err error 19 var err error
20 - log.Logger.Info("【自动审核考勤记录任务】 启动") 20 + log.Logger.Debug("【自动审核考勤记录任务】 启动")
21 var user *domain.User = &domain.User{} 21 var user *domain.User = &domain.User{}
22 userService := NewUserService() 22 userService := NewUserService()
23 if approveUserId > 0 { 23 if approveUserId > 0 {
@@ -167,7 +167,7 @@ func (ptr *PGProductRecordService) BatchApprove(list []*domain.ProductRecord, ap @@ -167,7 +167,7 @@ func (ptr *PGProductRecordService) BatchApprove(list []*domain.ProductRecord, ap
167 var productRecordRepository, _ = repository.NewProductRecordRepository(ptr.transactionContext) 167 var productRecordRepository, _ = repository.NewProductRecordRepository(ptr.transactionContext)
168 var record *domain.ProductRecord 168 var record *domain.ProductRecord
169 var err error 169 var err error
170 - log.Logger.Info("【自动审核二级品记录任务】 启动") 170 + log.Logger.Debug("【自动审核二级品记录任务】 启动")
171 var user *domain.User = &domain.User{} 171 var user *domain.User = &domain.User{}
172 userService := NewUserService() 172 userService := NewUserService()
173 if approveUserId > 0 { 173 if approveUserId > 0 {
@@ -166,6 +166,9 @@ func (repository *ProductAttendanceRecordRepository) Find(queryOptions map[strin @@ -166,6 +166,9 @@ func (repository *ProductAttendanceRecordRepository) Find(queryOptions map[strin
166 query := sqlbuilder.BuildQuery(tx.Model(&productAttendanceRecordModels), queryOptions) 166 query := sqlbuilder.BuildQuery(tx.Model(&productAttendanceRecordModels), queryOptions)
167 query.SetWhereByQueryOption("company_id = ?", "companyId") 167 query.SetWhereByQueryOption("company_id = ?", "companyId")
168 query.SetWhereByQueryOption("org_id = ?", "orgId") 168 query.SetWhereByQueryOption("org_id = ?", "orgId")
  169 + query.SetWhereByQueryOption("work_station->>'workshopId'='?'", "workshopId")
  170 + query.SetWhereByQueryOption("work_station->>'lineId'='?'", "lineId")
  171 + query.SetWhereByQueryOption("work_station->>'sectionId'='?'", "sectionId")
169 query.SetWhereByQueryOption("attendance_status & ? >0", "attendanceStatus") 172 query.SetWhereByQueryOption("attendance_status & ? >0", "attendanceStatus")
170 if v, ok := queryOptions["inOrgIds"]; ok && len(v.([]int)) > 0 { 173 if v, ok := queryOptions["inOrgIds"]; ok && len(v.([]int)) > 0 {
171 query.Where(`org_id in (?)`, pg.In(v)) 174 query.Where(`org_id in (?)`, pg.In(v))
@@ -86,7 +86,7 @@ func (controller *ProductGroupController) SearchProductGroupEmployees() { @@ -86,7 +86,7 @@ func (controller *ProductGroupController) SearchProductGroupEmployees() {
86 operateInfo := ParseOperateInfo(controller.BaseController) 86 operateInfo := ParseOperateInfo(controller.BaseController)
87 cmd.OrgId = operateInfo.OrgId 87 cmd.OrgId = operateInfo.OrgId
88 cmd.CompanyId = operateInfo.CompanyId 88 cmd.CompanyId = operateInfo.CompanyId
89 - _, data, err := productGroupService.SearchProductGroupEmployees(operateInfo, cmd) 89 + _, data, err := productGroupService.SearchProductGroupEmployeesV2(operateInfo, cmd)
90 controller.Response(data, err) 90 controller.Response(data, err)
91 } 91 }
92 92