正在显示
21 个修改的文件
包含
290 行增加
和
146 行删除
config/app.conf
0 → 100644
1 | +POSTGRESQL_DB_NAME = allied_creation_dev | ||
2 | +POSTGRESQL_HOST = 114.55.200.59 | ||
3 | +POSTGRESQL_PORT = 31543 | ||
4 | +POSTGRESQL_USER = postgres | ||
5 | +POSTGRESQL_PASSWORD = eagle1010 | ||
6 | +DISABLE_SQL_GENERATE_COMMENT = false | ||
7 | +SERVICE_ENV = test | ||
8 | +HTTP_PORT = 8081 | ||
9 | +ENABLE_KAFKA_LOG11 = true | ||
10 | +HTTPS_PORT = 8143 | ||
11 | +ALLIED_CREATION_USER_HOST = http://allied-creation-user-dev.fjmaimaimai.com |
@@ -18,6 +18,11 @@ import ( | @@ -18,6 +18,11 @@ import ( | ||
18 | _ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/port/beego" | 18 | _ "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/port/beego" |
19 | ) | 19 | ) |
20 | 20 | ||
21 | +//func init(){ | ||
22 | +// constant.Configurator = utils.BeegoAppConfigurator{} | ||
23 | +// web.LoadAppConfig("ini","config/app.conf") | ||
24 | +//} | ||
25 | + | ||
21 | func main() { | 26 | func main() { |
22 | defer func() { | 27 | defer func() { |
23 | if r := recover(); r != nil { | 28 | if r := recover(); r != nil { |
@@ -2,11 +2,10 @@ package command | @@ -2,11 +2,10 @@ package command | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | + "github.com/beego/beego/v2/core/validation" | ||
6 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/utils" | ||
5 | "reflect" | 7 | "reflect" |
6 | "strings" | 8 | "strings" |
7 | - "time" | ||
8 | - | ||
9 | - "github.com/beego/beego/v2/core/validation" | ||
10 | ) | 9 | ) |
11 | 10 | ||
12 | type CreateAttendanceCommand struct { | 11 | type CreateAttendanceCommand struct { |
@@ -25,11 +24,11 @@ type CreateAttendanceCommand struct { | @@ -25,11 +24,11 @@ type CreateAttendanceCommand struct { | ||
25 | // 工段ID | 24 | // 工段ID |
26 | SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"` | 25 | SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"` |
27 | // 生产日期 | 26 | // 生产日期 |
28 | - ProductDate time.Time `cname:"生产日期" json:"productDate,omitempty" valid:"Required"` | 27 | + ProductDate string `cname:"生产日期" json:"productDate,omitempty" valid:"Required"` |
29 | // 签到 | 28 | // 签到 |
30 | - SignIn time.Time `cname:"上岗时间" json:"signIn,omitempty" valid:"Required"` | 29 | + SignIn string `cname:"上岗时间" json:"signIn,omitempty" valid:"Required"` |
31 | // 签退 | 30 | // 签退 |
32 | - SignOut time.Time `cname:"下岗时间" json:"signOut,omitempty" valid:"Required"` | 31 | + SignOut string `cname:"下岗时间" json:"signOut,omitempty" valid:"Required"` |
33 | // 考勤状态 1.未审核 2:审核 | 32 | // 考勤状态 1.未审核 2:审核 |
34 | AttendanceStatus int `cname:"考勤状态" json:"attendanceStatus,omitempty"` | 33 | AttendanceStatus int `cname:"考勤状态" json:"attendanceStatus,omitempty"` |
35 | // 休息时长 | 34 | // 休息时长 |
@@ -41,7 +40,14 @@ type CreateAttendanceCommand struct { | @@ -41,7 +40,14 @@ type CreateAttendanceCommand struct { | ||
41 | } | 40 | } |
42 | 41 | ||
43 | func (createAttendanceCommand *CreateAttendanceCommand) Valid(validation *validation.Validation) { | 42 | func (createAttendanceCommand *CreateAttendanceCommand) Valid(validation *validation.Validation) { |
44 | - //validation.SetError("CustomValid", "未实现的自定义认证") | 43 | + if err := utils.ValidWorkTime(createAttendanceCommand.SignIn); err != nil { |
44 | + validation.Error(err.Error()) | ||
45 | + return | ||
46 | + } | ||
47 | + if err := utils.ValidWorkTime(createAttendanceCommand.SignOut); err != nil { | ||
48 | + validation.Error(err.Error()) | ||
49 | + return | ||
50 | + } | ||
45 | validation.Range(createAttendanceCommand.AttendanceStatus, 1, 2, "attendanceStatus") | 51 | validation.Range(createAttendanceCommand.AttendanceStatus, 1, 2, "attendanceStatus") |
46 | } | 52 | } |
47 | 53 |
@@ -109,6 +109,18 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | @@ -109,6 +109,18 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | ||
109 | if cmd.WorkTime-cmd.BreakTime > 0 { | 109 | if cmd.WorkTime-cmd.BreakTime > 0 { |
110 | workTime = cmd.WorkTime - cmd.BreakTime | 110 | workTime = cmd.WorkTime - cmd.BreakTime |
111 | } | 111 | } |
112 | + signIn, err := xtime.ParseInLocation(time.Local, fmt.Sprintf("%v %v:00", cmd.ProductDate, cmd.SignIn)) | ||
113 | + if err != nil { | ||
114 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
115 | + } | ||
116 | + signOut, err := xtime.ParseInLocation(time.Local, fmt.Sprintf("%v %v:00", cmd.ProductDate, cmd.SignOut)) | ||
117 | + if err != nil { | ||
118 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
119 | + } | ||
120 | + productDate, err := xtime.ParseInLocation(time.Local, cmd.ProductDate) | ||
121 | + if err != nil { | ||
122 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
123 | + } | ||
112 | newAttendance := &domain.ProductAttendanceRecord{ | 124 | newAttendance := &domain.ProductAttendanceRecord{ |
113 | //ProductAttendanceId: cmd.ProductAttendanceId, | 125 | //ProductAttendanceId: cmd.ProductAttendanceId, |
114 | CompanyId: operateInfo.CompanyId, | 126 | CompanyId: operateInfo.CompanyId, |
@@ -116,8 +128,8 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | @@ -116,8 +128,8 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | ||
116 | AttendanceType: cmd.AttendanceType, | 128 | AttendanceType: cmd.AttendanceType, |
117 | ProductWorker: user, | 129 | ProductWorker: user, |
118 | WorkStation: workStation, | 130 | WorkStation: workStation, |
119 | - SignIn: cmd.SignIn, | ||
120 | - SignOut: cmd.SignOut, | 131 | + SignIn: signIn, |
132 | + SignOut: signOut, | ||
121 | AttendanceStatus: cmd.AttendanceStatus, | 133 | AttendanceStatus: cmd.AttendanceStatus, |
122 | WorkTimeBefore: workTime, | 134 | WorkTimeBefore: workTime, |
123 | WorkTimeAfter: 0, | 135 | WorkTimeAfter: 0, |
@@ -127,7 +139,7 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | @@ -127,7 +139,7 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | ||
127 | GroupName: productGroup.GroupName, | 139 | GroupName: productGroup.GroupName, |
128 | ProductGroupId: productGroup.ProductGroupId, | 140 | ProductGroupId: productGroup.ProductGroupId, |
129 | }), | 141 | }), |
130 | - ProductDate: xtime.New(cmd.ProductDate).BeginningOfDay(), | 142 | + ProductDate: productDate, |
131 | } | 143 | } |
132 | 144 | ||
133 | if cmd.AttendanceStatus == domain.AttendanceApproved { | 145 | if cmd.AttendanceStatus == domain.AttendanceApproved { |
@@ -142,12 +154,12 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | @@ -142,12 +154,12 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | ||
142 | attendanceRepository, _, _ = factory.FastPgAttendance(transactionContext, 0) | 154 | attendanceRepository, _, _ = factory.FastPgAttendance(transactionContext, 0) |
143 | if !cmd.Prepared { | 155 | if !cmd.Prepared { |
144 | // 检查时间段内是否有重复的打卡记录 | 156 | // 检查时间段内是否有重复的打卡记录 |
145 | - count, _, err := attendanceRecordDao.WorkerAttendanceRecordsByProductDate(operateInfo.CompanyId, operateInfo.OrgId, cmd.ProductWorkerId, newAttendance.ProductDate, cmd.SignIn, cmd.SignIn) | 157 | + count, _, err := attendanceRecordDao.WorkerAttendanceRecordsByProductDate(operateInfo.CompanyId, operateInfo.OrgId, cmd.ProductWorkerId, newAttendance.ProductDate, newAttendance.SignIn, newAttendance.SignIn) |
146 | if err != nil { | 158 | if err != nil { |
147 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | 159 | return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) |
148 | } | 160 | } |
149 | if count > 0 { | 161 | if count > 0 { |
150 | - return nil, &application.ServiceError{Code: 10040001, Message: fmt.Sprintf("已存在员工%v的工时记录,是否继续新增", user.UserName)} | 162 | + return nil, &application.ServiceError{Code: 10050001, Message: fmt.Sprintf("已存在员工%v的工时记录,是否继续新增", user.UserName)} |
151 | } | 163 | } |
152 | } | 164 | } |
153 | if attendance, err := attendanceRepository.Save(newAttendance); err != nil { | 165 | if attendance, err := attendanceRepository.Save(newAttendance); err != nil { |
@@ -157,7 +169,7 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | @@ -157,7 +169,7 @@ func (attendanceService *AttendanceService) CreateAttendance(operateInfo *domain | ||
157 | if err := transactionContext.CommitTransaction(); err != nil { | 169 | if err := transactionContext.CommitTransaction(); err != nil { |
158 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 170 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
159 | } | 171 | } |
160 | - return attendance, nil | 172 | + return struct{}{}, nil |
161 | } | 173 | } |
162 | } | 174 | } |
163 | 175 |
@@ -24,7 +24,7 @@ type CreateProductCalendarCommand struct { | @@ -24,7 +24,7 @@ type CreateProductCalendarCommand struct { | ||
24 | // 上班班次 1:全天 2:白班 4:中班 8:夜班 | 24 | // 上班班次 1:全天 2:白班 4:中班 8:夜班 |
25 | WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"` | 25 | WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"` |
26 | // 日历选择 | 26 | // 日历选择 |
27 | - CalendarSelected []int `cname:"日历选择" json:"calendarSelected" valid:"Required"` | 27 | + CalendarSelected []int `cname:"日历选择" json:"calendarSelected" ` // valid:"Required" |
28 | // 上岗时间 | 28 | // 上岗时间 |
29 | InWorkAt string `cname:"上岗时间" json:"inWorkAt" valid:"Required"` | 29 | InWorkAt string `cname:"上岗时间" json:"inWorkAt" valid:"Required"` |
30 | // 下岗时间 | 30 | // 下岗时间 |
@@ -21,8 +21,8 @@ type UpdateProductCalendarCommand struct { | @@ -21,8 +21,8 @@ type UpdateProductCalendarCommand struct { | ||
21 | SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"` | 21 | SectionId int `cname:"工段ID" json:"sectionId" valid:"Required"` |
22 | // 上班班次 1:全天 2:白班 4:中班 8:夜班 | 22 | // 上班班次 1:全天 2:白班 4:中班 8:夜班 |
23 | WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"` | 23 | WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"` |
24 | - // 日历选择 | ||
25 | - CalendarSelected []int `cname:"日历选择" json:"calendarSelected" valid:"Required"` | 24 | + // 日历选择 valid:"Required" |
25 | + CalendarSelected []int `cname:"日历选择" json:"calendarSelected" ` | ||
26 | // 上岗时间 | 26 | // 上岗时间 |
27 | InWorkAt string `cname:"上岗时间" json:"inWorkAt" valid:"Required"` | 27 | InWorkAt string `cname:"上岗时间" json:"inWorkAt" valid:"Required"` |
28 | // 下岗时间 | 28 | // 下岗时间 |
1 | +package query | ||
2 | + | ||
3 | +import ( | ||
4 | + "fmt" | ||
5 | + "reflect" | ||
6 | + "strings" | ||
7 | + | ||
8 | + "github.com/beego/beego/v2/core/validation" | ||
9 | +) | ||
10 | + | ||
11 | +type GetProductGroupCalendarQuery struct { | ||
12 | + // 生产班组ID | ||
13 | + ProductGroupId int `cname:"工厂日历ID" json:"productGroupId" valid:"Required"` | ||
14 | +} | ||
15 | + | ||
16 | +func (getProductCalendarQuery *GetProductGroupCalendarQuery) Valid(validation *validation.Validation) { | ||
17 | + //validation.SetError("CustomValid", "未实现的自定义认证") | ||
18 | +} | ||
19 | + | ||
20 | +func (getProductCalendarQuery *GetProductGroupCalendarQuery) ValidateQuery() error { | ||
21 | + valid := validation.Validation{} | ||
22 | + b, err := valid.Valid(getProductCalendarQuery) | ||
23 | + if err != nil { | ||
24 | + return err | ||
25 | + } | ||
26 | + if !b { | ||
27 | + elem := reflect.TypeOf(getProductCalendarQuery).Elem() | ||
28 | + for _, validErr := range valid.Errors { | ||
29 | + field, isExist := elem.FieldByName(validErr.Field) | ||
30 | + if isExist { | ||
31 | + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1)) | ||
32 | + } else { | ||
33 | + return fmt.Errorf(validErr.Message) | ||
34 | + } | ||
35 | + } | ||
36 | + } | ||
37 | + return nil | ||
38 | +} |
@@ -372,6 +372,43 @@ func (productCalendarService *ProductCalendarService) SearchProductCalendar(oper | @@ -372,6 +372,43 @@ func (productCalendarService *ProductCalendarService) SearchProductCalendar(oper | ||
372 | return count, result, nil | 372 | return count, result, nil |
373 | } | 373 | } |
374 | 374 | ||
375 | +// 返回生产班组的工厂日历 | ||
376 | +func (productCalendarService *ProductCalendarService) GetProductGroupCalendar(getProductCalendarQuery *query.GetProductGroupCalendarQuery) (interface{}, error) { | ||
377 | + if err := getProductCalendarQuery.ValidateQuery(); err != nil { | ||
378 | + return nil, application.ThrowError(application.ARG_ERROR, err.Error()) | ||
379 | + } | ||
380 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
381 | + if err != nil { | ||
382 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
383 | + } | ||
384 | + if err := transactionContext.StartTransaction(); err != nil { | ||
385 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
386 | + } | ||
387 | + defer func() { | ||
388 | + transactionContext.RollbackTransaction() | ||
389 | + }() | ||
390 | + productCalendarRepository, _, _ := factory.FastPgProductCalendar(transactionContext, 0) | ||
391 | + _, productGroup, err := factory.FastPgProductGroup(transactionContext, getProductCalendarQuery.ProductGroupId) | ||
392 | + if err != nil { | ||
393 | + return nil, nil | ||
394 | + } | ||
395 | + _, productCalendar, err := productCalendarRepository.Find(map[string]interface{}{"workStationId": productGroup.WorkStation.WorkStationId, "workOn": productGroup.WorkOn, "limit": 1}) | ||
396 | + if err != nil { | ||
397 | + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) | ||
398 | + } | ||
399 | + if len(productCalendar) == 0 { | ||
400 | + return nil, nil | ||
401 | + } | ||
402 | + | ||
403 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
404 | + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
405 | + } | ||
406 | + | ||
407 | + result := &dto.ProductCalendarDto{} | ||
408 | + result.LoadDto(productCalendar[0], 0) | ||
409 | + return result, nil | ||
410 | +} | ||
411 | + | ||
375 | func NewProductCalendarService(options map[string]interface{}) *ProductCalendarService { | 412 | func NewProductCalendarService(options map[string]interface{}) *ProductCalendarService { |
376 | newProductCalendarService := &ProductCalendarService{} | 413 | newProductCalendarService := &ProductCalendarService{} |
377 | return newProductCalendarService | 414 | return newProductCalendarService |
@@ -30,6 +30,12 @@ type SearchProductGroupQuery struct { | @@ -30,6 +30,12 @@ type SearchProductGroupQuery struct { | ||
30 | WorkshopName string `cname:"车间名称" json:"workshopName,omitempty"` | 30 | WorkshopName string `cname:"车间名称" json:"workshopName,omitempty"` |
31 | // 生产线名称 | 31 | // 生产线名称 |
32 | LineName string `cname:"生产线名称" json:"lineName,omitempty"` | 32 | LineName string `cname:"生产线名称" json:"lineName,omitempty"` |
33 | + // 车间ID | ||
34 | + WorkshopId int `cname:"车间ID" json: workshopId,omitempty"` | ||
35 | + // 生产线ID | ||
36 | + LineId int `cname:"生产线ID" json:"lineId,omitempty"` | ||
37 | + // 工段ID | ||
38 | + SectionId int `json:"sectionId,omitempty"` | ||
33 | } | 39 | } |
34 | 40 | ||
35 | func (cmd *SearchProductGroupQuery) Valid(validation *validation.Validation) { | 41 | func (cmd *SearchProductGroupQuery) Valid(validation *validation.Validation) { |
@@ -578,9 +578,7 @@ func (productGroupService *ProductGroupService) SelectorProductGroup(operateInfo | @@ -578,9 +578,7 @@ func (productGroupService *ProductGroupService) SelectorProductGroup(operateInfo | ||
578 | if err := transactionContext.CommitTransaction(); err != nil { | 578 | if err := transactionContext.CommitTransaction(); err != nil { |
579 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | 579 | return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) |
580 | } | 580 | } |
581 | - return map[string]interface{}{ | ||
582 | - "groups": results, | ||
583 | - }, nil | 581 | + return results, nil |
584 | } | 582 | } |
585 | 583 | ||
586 | func NewProductGroupService(options map[string]interface{}) *ProductGroupService { | 584 | func NewProductGroupService(options map[string]interface{}) *ProductGroupService { |
@@ -2,10 +2,11 @@ package constant | @@ -2,10 +2,11 @@ package constant | ||
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | "fmt" | 4 | "fmt" |
5 | - "os" | ||
6 | - "strconv" | 5 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/utils" |
7 | ) | 6 | ) |
8 | 7 | ||
8 | +var Configurator utils.Configurator = utils.EnvConfigurator{} | ||
9 | + | ||
9 | var SERVICE_NAME = "allied-creation-manufacture" | 10 | var SERVICE_NAME = "allied-creation-manufacture" |
10 | var SERVICE_ENV = "dev" | 11 | var SERVICE_ENV = "dev" |
11 | var HTTP_PORT int = 8081 | 12 | var HTTP_PORT int = 8081 |
@@ -35,46 +36,13 @@ const HeaderOrgId = "orgId" | @@ -35,46 +36,13 @@ const HeaderOrgId = "orgId" | ||
35 | const HeaderOrgIds = "orgIds" | 36 | const HeaderOrgIds = "orgIds" |
36 | 37 | ||
37 | func init() { | 38 | func init() { |
38 | - if os.Getenv("LOG_LEVEL") != "" { | ||
39 | - LOG_LEVEL = os.Getenv("LOG_LEVEL") | ||
40 | - } | ||
41 | - //if os.Getenv("CUSTOMER_ACCOUNT") != "" { | ||
42 | - // account := os.Getenv("CUSTOMER_ACCOUNT") | ||
43 | - // accounts := strings.Split(account, CUSTOMER_ACCOUNT_DELIMITER) | ||
44 | - // var tmpAccounts []int64 | ||
45 | - // for i := range accounts { | ||
46 | - // v, err := strconv.ParseInt(accounts[i], 10, 64) | ||
47 | - // if err != nil { | ||
48 | - // panic(err) | ||
49 | - // } | ||
50 | - // tmpAccounts = append(tmpAccounts, v) | ||
51 | - // } | ||
52 | - // if len(tmpAccounts) > 0 { | ||
53 | - // CUSTOMER_ACCOUNT = tmpAccounts | ||
54 | - // } | ||
55 | - //} | ||
56 | - | ||
57 | - if os.Getenv("ALLIED_CREATION_BASIC_HOST") != "" { | ||
58 | - ALLIED_CREATION_BASIC_HOST = os.Getenv("ALLIED_CREATION_BASIC_HOST") | ||
59 | - } | ||
60 | - if os.Getenv("ALLIED_CREATION_USER_HOST") != "" { | ||
61 | - ALLIED_CREATION_USER_HOST = os.Getenv("ALLIED_CREATION_USER_HOST") | ||
62 | - } | ||
63 | - if os.Getenv("ALLIED_CREATION_COOPERATION_HOST") != "" { | ||
64 | - ALLIED_CREATION_COOPERATION_HOST = os.Getenv("ALLIED_CREATION_COOPERATION_HOST") | ||
65 | - } | ||
66 | - //if os.Getenv("SMS_SERVE_HOST") != "" { | ||
67 | - // SMS_SERVE_HOST = os.Getenv("SMS_SERVE_HOST") | ||
68 | - //} | ||
69 | - if os.Getenv("MMM_BYTE_BANK_HOST") != "" { | ||
70 | - MMM_BYTE_BANK_HOST = os.Getenv("MMM_BYTE_BANK_HOST") | ||
71 | - } | ||
72 | - if os.Getenv("SERVICE_ENV") != "" { | ||
73 | - SERVICE_ENV = os.Getenv("SERVICE_ENV") | ||
74 | - } | ||
75 | - if os.Getenv("HTTP_PORT") != "" { | ||
76 | - HTTP_PORT, _ = strconv.Atoi(os.Getenv("HTTP_PORT")) | ||
77 | - } | 39 | + LOG_LEVEL = Configurator.DefaultString("LOG_LEVEL", LOG_LEVEL) |
40 | + ALLIED_CREATION_BASIC_HOST = Configurator.DefaultString("ALLIED_CREATION_BASIC_HOST", ALLIED_CREATION_BASIC_HOST) | ||
41 | + ALLIED_CREATION_USER_HOST = Configurator.DefaultString("ALLIED_CREATION_USER_HOST", ALLIED_CREATION_USER_HOST) | ||
42 | + ALLIED_CREATION_COOPERATION_HOST = Configurator.DefaultString("ALLIED_CREATION_COOPERATION_HOST", ALLIED_CREATION_COOPERATION_HOST) | ||
43 | + MMM_BYTE_BANK_HOST = Configurator.DefaultString("MMM_BYTE_BANK_HOST", MMM_BYTE_BANK_HOST) | ||
44 | + SERVICE_ENV = Configurator.DefaultString("SERVICE_ENV", SERVICE_ENV) | ||
45 | + HTTP_PORT = Configurator.DefaultInt("HTTP_PORT", HTTP_PORT) | ||
78 | SERVICE_NAME = fmt.Sprintf("%v-%v", SERVICE_NAME, SERVICE_ENV) | 46 | SERVICE_NAME = fmt.Sprintf("%v-%v", SERVICE_NAME, SERVICE_ENV) |
79 | CACHE_PREFIX = SERVICE_NAME | 47 | CACHE_PREFIX = SERVICE_NAME |
80 | } | 48 | } |
1 | package constant | 1 | package constant |
2 | 2 | ||
3 | -import "os" | ||
4 | - | ||
5 | var ( | 3 | var ( |
6 | // kafka 地址 | 4 | // kafka 地址 |
7 | KAFKA_HOST = "192.168.0.250:9092,192.168.0.251:9092,192.168.0.252:9092" //"106.75.231.90:9092" | 5 | KAFKA_HOST = "192.168.0.250:9092,192.168.0.251:9092,192.168.0.252:9092" //"106.75.231.90:9092" |
@@ -14,13 +12,6 @@ var ( | @@ -14,13 +12,6 @@ var ( | ||
14 | ) | 12 | ) |
15 | 13 | ||
16 | func init() { | 14 | func init() { |
17 | - if os.Getenv("KAFKA_HOST") != "" { | ||
18 | - KAFKA_HOST = os.Getenv("KAFKA_HOST") | ||
19 | - } | ||
20 | - //if os.Getenv("TOPIC_LOG_STASH") != "" { | ||
21 | - // POSTGRESQL_PORT = os.Getenv("TOPIC_LOG_STASH") | ||
22 | - //} | ||
23 | - if os.Getenv("ENABLE_KAFKA_LOG") != "" { | ||
24 | - ENABLE_KAFKA_LOG = true | ||
25 | - } | 15 | + KAFKA_HOST = Configurator.DefaultString("KAFKA_HOST", KAFKA_HOST) |
16 | + ENABLE_KAFKA_LOG = Configurator.DefaultBool("ENABLE_KAFKA_LOG", ENABLE_KAFKA_LOG) | ||
26 | } | 17 | } |
1 | package constant | 1 | package constant |
2 | 2 | ||
3 | import ( | 3 | import ( |
4 | - "os" | ||
5 | - "strconv" | ||
6 | "strings" | 4 | "strings" |
7 | ) | 5 | ) |
8 | 6 | ||
@@ -20,18 +18,10 @@ var ( | @@ -20,18 +18,10 @@ var ( | ||
20 | ) | 18 | ) |
21 | 19 | ||
22 | func init() { | 20 | func init() { |
23 | - if os.Getenv("MANUFACTURE_DEFAULT_COMPANYID") != "" { | ||
24 | - MANUFACTURE_DEFAULT_COMPANYID, _ = strconv.Atoi(os.Getenv("MANUFACTURE_DEFAULT_COMPANYID")) | ||
25 | - } | ||
26 | - if os.Getenv("MANUFACTURE_DEFAULT_ORGID") != "" { | ||
27 | - MANUFACTURE_DEFAULT_ORGID, _ = strconv.Atoi(os.Getenv("MANUFACTURE_DEFAULT_ORGID")) | ||
28 | - } | ||
29 | - if os.Getenv("MANUFACTURE_DEFAULT_WORKSHOPID") != "" { | ||
30 | - MANUFACTURE_DEFAULT_WORKSHOPID, _ = strconv.Atoi(os.Getenv("MANUFACTURE_DEFAULT_WORKSHOPID")) | ||
31 | - } | ||
32 | - if os.Getenv("MANUFACTURE_PRODUCT_TYPE") != "" { | ||
33 | - MANUFACTURE_PRODUCT_TYPE = os.Getenv("MANUFACTURE_PRODUCT_TYPE") | ||
34 | - } | 21 | + MANUFACTURE_DEFAULT_COMPANYID = Configurator.DefaultInt("MANUFACTURE_DEFAULT_COMPANYID", MANUFACTURE_DEFAULT_COMPANYID) |
22 | + MANUFACTURE_DEFAULT_ORGID = Configurator.DefaultInt("MANUFACTURE_DEFAULT_ORGID", MANUFACTURE_DEFAULT_ORGID) | ||
23 | + MANUFACTURE_DEFAULT_WORKSHOPID = Configurator.DefaultInt("MANUFACTURE_DEFAULT_WORKSHOPID", MANUFACTURE_DEFAULT_WORKSHOPID) | ||
24 | + MANUFACTURE_PRODUCT_TYPE = Configurator.DefaultString("MANUFACTURE_PRODUCT_TYPE", MANUFACTURE_PRODUCT_TYPE) | ||
35 | productTypes := strings.Split(MANUFACTURE_PRODUCT_TYPE, ",") | 25 | productTypes := strings.Split(MANUFACTURE_PRODUCT_TYPE, ",") |
36 | for i, v := range productTypes { | 26 | for i, v := range productTypes { |
37 | MapProductType[i+1] = v | 27 | MapProductType[i+1] = v |
1 | package constant | 1 | package constant |
2 | 2 | ||
3 | -import "os" | ||
4 | - | ||
5 | var MQTT_TOPIC = "/MQTT" | 3 | var MQTT_TOPIC = "/MQTT" |
6 | 4 | ||
7 | //设备商提供的测试地址 | 5 | //设备商提供的测试地址 |
@@ -32,16 +30,8 @@ var MQTT_USER = "admin" | @@ -32,16 +30,8 @@ var MQTT_USER = "admin" | ||
32 | var MQTT_PASSWORD = "123456" | 30 | var MQTT_PASSWORD = "123456" |
33 | 31 | ||
34 | func init() { | 32 | func init() { |
35 | - if os.Getenv("MQTT_HOST") != "" { | ||
36 | - MQTT_HOST = os.Getenv("MQTT_HOST") | ||
37 | - } | ||
38 | - if os.Getenv("MQTT_PORT") != "" { | ||
39 | - MQTT_PORT = os.Getenv("MQTT_PORT") | ||
40 | - } | ||
41 | - if os.Getenv("MQTT_USER") != "" { | ||
42 | - MQTT_USER = os.Getenv("MQTT_USER") | ||
43 | - } | ||
44 | - if os.Getenv("MQTT_PASSWORD") != "" { | ||
45 | - MQTT_PASSWORD = os.Getenv("MQTT_PASSWORD") | ||
46 | - } | 33 | + MQTT_HOST = Configurator.DefaultString("MQTT_HOST", MQTT_HOST) |
34 | + MQTT_PORT = Configurator.DefaultString("MQTT_PORT", MQTT_PORT) | ||
35 | + MQTT_USER = Configurator.DefaultString("MQTT_USER", MQTT_USER) | ||
36 | + MQTT_PASSWORD = Configurator.DefaultString("MQTT_PASSWORD", MQTT_PASSWORD) | ||
47 | } | 37 | } |
@@ -3,10 +3,6 @@ | @@ -3,10 +3,6 @@ | ||
3 | 3 | ||
4 | package constant | 4 | package constant |
5 | 5 | ||
6 | -import ( | ||
7 | - "os" | ||
8 | -) | ||
9 | - | ||
10 | var POSTGRESQL_DB_NAME = "terms" | 6 | var POSTGRESQL_DB_NAME = "terms" |
11 | var POSTGRESQL_USER = "postgres" | 7 | var POSTGRESQL_USER = "postgres" |
12 | var POSTGRESQL_PASSWORD = "123456" | 8 | var POSTGRESQL_PASSWORD = "123456" |
@@ -17,25 +13,12 @@ var DISABLE_SQL_GENERATE_PRINT = false | @@ -17,25 +13,12 @@ var DISABLE_SQL_GENERATE_PRINT = false | ||
17 | var DISABLE_SQL_GENERATE_COMMENT = true | 13 | var DISABLE_SQL_GENERATE_COMMENT = true |
18 | 14 | ||
19 | func init() { | 15 | func init() { |
20 | - if os.Getenv("POSTGRESQL_DB_NAME") != "" { | ||
21 | - POSTGRESQL_DB_NAME = os.Getenv("POSTGRESQL_DB_NAME") | ||
22 | - } | ||
23 | - if os.Getenv("POSTGRESQL_USER") != "" { | ||
24 | - POSTGRESQL_USER = os.Getenv("POSTGRESQL_USER") | ||
25 | - } | ||
26 | - if os.Getenv("POSTGRESQL_PASSWORD") != "" { | ||
27 | - POSTGRESQL_PASSWORD = os.Getenv("POSTGRESQL_PASSWORD") | ||
28 | - } | ||
29 | - if os.Getenv("POSTGRESQL_HOST") != "" { | ||
30 | - POSTGRESQL_HOST = os.Getenv("POSTGRESQL_HOST") | ||
31 | - } | ||
32 | - if os.Getenv("POSTGRESQL_PORT") != "" { | ||
33 | - POSTGRESQL_PORT = os.Getenv("POSTGRESQL_PORT") | ||
34 | - } | ||
35 | - if os.Getenv("DISABLE_CREATE_TABLE") != "" { | ||
36 | - DISABLE_CREATE_TABLE = true | ||
37 | - } | ||
38 | - if os.Getenv("DISABLE_SQL_GENERATE_PRINT") != "" { | ||
39 | - DISABLE_SQL_GENERATE_PRINT = true | ||
40 | - } | 16 | + POSTGRESQL_HOST = Configurator.DefaultString("POSTGRESQL_HOST", POSTGRESQL_HOST) |
17 | + POSTGRESQL_PORT = Configurator.DefaultString("POSTGRESQL_PORT", POSTGRESQL_PORT) | ||
18 | + POSTGRESQL_DB_NAME = Configurator.DefaultString("POSTGRESQL_DB_NAME", POSTGRESQL_DB_NAME) | ||
19 | + POSTGRESQL_USER = Configurator.DefaultString("POSTGRESQL_USER", POSTGRESQL_USER) | ||
20 | + POSTGRESQL_PASSWORD = Configurator.DefaultString("POSTGRESQL_PASSWORD", POSTGRESQL_PASSWORD) | ||
21 | + | ||
22 | + DISABLE_CREATE_TABLE = Configurator.DefaultBool("DISABLE_CREATE_TABLE", DISABLE_CREATE_TABLE) | ||
23 | + DISABLE_SQL_GENERATE_PRINT = Configurator.DefaultBool("DISABLE_SQL_GENERATE_PRINT", DISABLE_SQL_GENERATE_PRINT) | ||
41 | } | 24 | } |
1 | package constant | 1 | package constant |
2 | 2 | ||
3 | -import "os" | ||
4 | - | ||
5 | var ( | 3 | var ( |
6 | REDIS_HOST = "127.0.0.1" | 4 | REDIS_HOST = "127.0.0.1" |
7 | REDIS_PORT = "6379" | 5 | REDIS_PORT = "6379" |
8 | REDIS_AUTH = "" | 6 | REDIS_AUTH = "" |
7 | + REDIS_ADDRESS = "" | ||
8 | + | ||
9 | // 是否关闭仓储层缓存 | 9 | // 是否关闭仓储层缓存 |
10 | - DISABLE_REPOSITORY_CACHE = false | 10 | + ENABLE_REPOSITORY_CACHE = true |
11 | // 缓存过期时间 单位秒 | 11 | // 缓存过期时间 单位秒 |
12 | REPOSITORY_CACHE_EXPIRE = 30 * 60 | 12 | REPOSITORY_CACHE_EXPIRE = 30 * 60 |
13 | - | ||
14 | - REDIS_ADDRESS = "" | ||
15 | // redis 考勤机打卡消息队列 | 13 | // redis 考勤机打卡消息队列 |
16 | REDIS_ZKTECO_KEY = "allied-creation-zkteco" | 14 | REDIS_ZKTECO_KEY = "allied-creation-zkteco" |
17 | // redis 车间数据消息队列 | 15 | // redis 车间数据消息队列 |
@@ -19,21 +17,9 @@ var ( | @@ -19,21 +17,9 @@ var ( | ||
19 | ) | 17 | ) |
20 | 18 | ||
21 | func init() { | 19 | func init() { |
22 | - if os.Getenv("REDIS_HOST") != "" { | ||
23 | - REDIS_HOST = os.Getenv("REDIS_HOST") | ||
24 | - REDIS_AUTH = os.Getenv("REDIS_AUTH") | ||
25 | - } | ||
26 | - if os.Getenv("REDIS_PORT") != "" { | ||
27 | - REDIS_PORT = os.Getenv("REDIS_PORT") | ||
28 | - } | ||
29 | - if _, ok := os.LookupEnv("REDIS_AUTH"); ok { | ||
30 | - REDIS_AUTH = os.Getenv("REDIS_AUTH") | ||
31 | - } | ||
32 | - if os.Getenv("ENABLE_REPOSITORY_CACHE") != "" { | ||
33 | - DISABLE_REPOSITORY_CACHE = false | ||
34 | - } | ||
35 | - if os.Getenv("DISABLE_REPOSITORY_CACHE") != "" { | ||
36 | - DISABLE_REPOSITORY_CACHE = true | ||
37 | - } | 20 | + REDIS_HOST = Configurator.DefaultString("REDIS_HOST", REDIS_HOST) |
21 | + REDIS_PORT = Configurator.DefaultString("REDIS_PORT", REDIS_PORT) | ||
22 | + REDIS_AUTH = Configurator.DefaultString("REDIS_AUTH", REDIS_AUTH) | ||
23 | + ENABLE_REPOSITORY_CACHE = Configurator.DefaultBool("ENABLE_REPOSITORY_CACHE", ENABLE_REPOSITORY_CACHE) | ||
38 | REDIS_ADDRESS = REDIS_HOST + ":" + REDIS_PORT | 24 | REDIS_ADDRESS = REDIS_HOST + ":" + REDIS_PORT |
39 | } | 25 | } |
@@ -130,6 +130,7 @@ func (repository *ProductGroupRepository) FindOne(queryOptions map[string]interf | @@ -130,6 +130,7 @@ func (repository *ProductGroupRepository) FindOne(queryOptions map[string]interf | ||
130 | query.SetWhereByQueryOption("work_station->>'workStationId'=?", "workStationId") | 130 | query.SetWhereByQueryOption("work_station->>'workStationId'=?", "workStationId") |
131 | query.SetWhereByQueryOption("work_station->>'workshopId'='?'", "workshopId") | 131 | query.SetWhereByQueryOption("work_station->>'workshopId'='?'", "workshopId") |
132 | query.SetWhereByQueryOption("work_station->>'lineId'='?'", "lineId") | 132 | query.SetWhereByQueryOption("work_station->>'lineId'='?'", "lineId") |
133 | + query.SetWhereByQueryOption("work_station->>'sectionId'='?'", "sectionId") | ||
133 | if v, ok := queryOptions["includeDeleted"]; ok && v.(bool) { | 134 | if v, ok := queryOptions["includeDeleted"]; ok && v.(bool) { |
134 | query.AllWithDeleted() | 135 | query.AllWithDeleted() |
135 | } | 136 | } |
pkg/infrastructure/utils/config.go
0 → 100644
1 | +package utils | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/beego/beego/v2/server/web" | ||
5 | + "os" | ||
6 | + "strconv" | ||
7 | +) | ||
8 | + | ||
9 | +type Configurator interface { | ||
10 | + DefaultString(key string, defaultVal string) string | ||
11 | + DefaultInt(key string, defaultVal int) int | ||
12 | + DefaultInt64(key string, defaultVal int64) int64 | ||
13 | + DefaultBool(key string, defaultVal bool) bool | ||
14 | + DefaultFloat(key string, defaultVal float64) float64 | ||
15 | +} | ||
16 | + | ||
17 | +// EnvConfigurator read config from env param with default value | ||
18 | +type EnvConfigurator struct{} | ||
19 | + | ||
20 | +func (c EnvConfigurator) DefaultString(key string, defaultVal string) string { | ||
21 | + if os.Getenv(key) != "" { | ||
22 | + return os.Getenv(key) | ||
23 | + } | ||
24 | + return defaultVal | ||
25 | +} | ||
26 | +func (c EnvConfigurator) DefaultInt(key string, defaultVal int) int { | ||
27 | + if os.Getenv(key) == "" { | ||
28 | + return defaultVal | ||
29 | + } | ||
30 | + v, err := strconv.Atoi(os.Getenv(key)) | ||
31 | + if err != nil { | ||
32 | + return defaultVal | ||
33 | + } | ||
34 | + return v | ||
35 | +} | ||
36 | +func (c EnvConfigurator) DefaultInt64(key string, defaultVal int64) int64 { | ||
37 | + if os.Getenv(key) == "" { | ||
38 | + return defaultVal | ||
39 | + } | ||
40 | + v, err := strconv.ParseInt(os.Getenv(key), 10, 64) | ||
41 | + if err != nil { | ||
42 | + return defaultVal | ||
43 | + } | ||
44 | + return v | ||
45 | +} | ||
46 | +func (c EnvConfigurator) DefaultBool(key string, defaultVal bool) bool { | ||
47 | + if os.Getenv(key) == "" { | ||
48 | + return defaultVal | ||
49 | + } | ||
50 | + v, err := strconv.ParseBool(os.Getenv(key)) | ||
51 | + if err != nil { | ||
52 | + return defaultVal | ||
53 | + } | ||
54 | + return v | ||
55 | +} | ||
56 | +func (c EnvConfigurator) DefaultFloat(key string, defaultVal float64) float64 { | ||
57 | + if os.Getenv(key) == "" { | ||
58 | + return defaultVal | ||
59 | + } | ||
60 | + v, err := strconv.ParseFloat(os.Getenv(key), 64) | ||
61 | + if err != nil { | ||
62 | + return defaultVal | ||
63 | + } | ||
64 | + return v | ||
65 | +} | ||
66 | + | ||
67 | +// BeegoAppConfigurator read config from beego config file with default value | ||
68 | +type BeegoAppConfigurator struct{} | ||
69 | + | ||
70 | +func (c BeegoAppConfigurator) DefaultString(key string, defaultVal string) string { | ||
71 | + return web.AppConfig.DefaultString(key, defaultVal) | ||
72 | +} | ||
73 | +func (c BeegoAppConfigurator) DefaultInt(key string, defaultVal int) int { | ||
74 | + return web.AppConfig.DefaultInt(key, defaultVal) | ||
75 | +} | ||
76 | +func (c BeegoAppConfigurator) DefaultInt64(key string, defaultVal int64) int64 { | ||
77 | + return web.AppConfig.DefaultInt64(key, defaultVal) | ||
78 | +} | ||
79 | +func (c BeegoAppConfigurator) DefaultBool(key string, defaultVal bool) bool { | ||
80 | + return web.AppConfig.DefaultBool(key, defaultVal) | ||
81 | +} | ||
82 | +func (c BeegoAppConfigurator) DefaultFloat(key string, defaultVal float64) float64 { | ||
83 | + return web.AppConfig.DefaultFloat(key, defaultVal) | ||
84 | +} |
pkg/infrastructure/utils/config_test.go
0 → 100644
1 | +package utils | ||
2 | + | ||
3 | +import ( | ||
4 | + "github.com/stretchr/testify/assert" | ||
5 | + "os" | ||
6 | + "testing" | ||
7 | +) | ||
8 | + | ||
9 | +func TestEnvConfigurator(t *testing.T) { | ||
10 | + os.Setenv("bool", "true") | ||
11 | + os.Setenv("hello", "world") | ||
12 | + os.Setenv("number", "10") | ||
13 | + | ||
14 | + var config Configurator = EnvConfigurator{} | ||
15 | + assert.Equal(t, "world", config.DefaultString("hello", "w")) | ||
16 | + assert.Equal(t, "w", config.DefaultString("unknown", "w")) | ||
17 | + | ||
18 | + assert.Equal(t, true, config.DefaultBool("bool", false)) | ||
19 | + assert.Equal(t, true, config.DefaultBool("unknown", true)) | ||
20 | + | ||
21 | + assert.Equal(t, 10, config.DefaultInt("number", 5)) | ||
22 | + assert.Equal(t, 5, config.DefaultInt("unknown", 5)) | ||
23 | + | ||
24 | + assert.Equal(t, int64(10), config.DefaultInt64("number", 5)) | ||
25 | + assert.Equal(t, int64(5), config.DefaultInt64("unknown", 5)) | ||
26 | + | ||
27 | + assert.Equal(t, float64(10), config.DefaultFloat("number", 5)) | ||
28 | + assert.Equal(t, float64(5), config.DefaultFloat("unknown", 5)) | ||
29 | +} |
@@ -78,3 +78,11 @@ func (controller *ProductCalendarController) SearchProductCalendar() { | @@ -78,3 +78,11 @@ func (controller *ProductCalendarController) SearchProductCalendar() { | ||
78 | total, data, err := productCalendarService.SearchProductCalendar(ParseOperateInfo(controller.BaseController), cmd) | 78 | total, data, err := productCalendarService.SearchProductCalendar(ParseOperateInfo(controller.BaseController), cmd) |
79 | ResponseGrid(controller.BaseController, total, data, err) | 79 | ResponseGrid(controller.BaseController, total, data, err) |
80 | } | 80 | } |
81 | + | ||
82 | +func (controller *ProductCalendarController) GetProductGroupCalendar() { | ||
83 | + productCalendarService := service.NewProductCalendarService(nil) | ||
84 | + cmd := &query.GetProductGroupCalendarQuery{} | ||
85 | + Must(controller.Unmarshal(cmd)) | ||
86 | + data, err := productCalendarService.GetProductGroupCalendar(cmd) | ||
87 | + controller.Response(data, err) | ||
88 | +} |
@@ -14,4 +14,5 @@ func init() { | @@ -14,4 +14,5 @@ func init() { | ||
14 | web.Router("/product-calendars/", &controllers.ProductCalendarController{}, "Get:ListProductCalendar") | 14 | web.Router("/product-calendars/", &controllers.ProductCalendarController{}, "Get:ListProductCalendar") |
15 | 15 | ||
16 | web.Router("/product-calendars/search", &controllers.ProductCalendarController{}, "Post:SearchProductCalendar") | 16 | web.Router("/product-calendars/search", &controllers.ProductCalendarController{}, "Post:SearchProductCalendar") |
17 | + web.Router("/product-calendars/product-group-calendar", &controllers.ProductCalendarController{}, "Post:GetProductGroupCalendar") | ||
17 | } | 18 | } |
-
请 注册 或 登录 后发表评论