作者 yangfu

1.增加日子记录

2.工作位置实时查询
正在显示 35 个修改的文件 包含 615 行增加94 行删除
1 -FROM 192.168.0.243:5000/mmm/allied-creation-manufacture:20210809 1 +FROM 192.168.0.243:5000/mmm/allied-creation-user:20210809
2 ENV APP_DIR $GOPATH/src/project-20211220 2 ENV APP_DIR $GOPATH/src/project-20211220
3 RUN mkdir -p $APP_DIR 3 RUN mkdir -p $APP_DIR
4 WORKDIR $APP_DIR/ 4 WORKDIR $APP_DIR/
@@ -52,12 +52,54 @@ spec: @@ -52,12 +52,54 @@ spec:
52 - mountPath: /opt/logs 52 - mountPath: /opt/logs
53 name: accesslogs 53 name: accesslogs
54 env: 54 env:
  55 + - name: POSTGRESQL_DB_NAME
  56 + valueFrom:
  57 + configMapKeyRef:
  58 + name: suplus-config
  59 + key: postgresqlalliedcreation.dbname
  60 + - name: POSTGRESQL_USER
  61 + valueFrom:
  62 + configMapKeyRef:
  63 + name: suplus-config
  64 + key: postgresql.user
  65 + - name: POSTGRESQL_PASSWORD
  66 + valueFrom:
  67 + configMapKeyRef:
  68 + name: suplus-config
  69 + key: postgresql.password
  70 + - name: POSTGRESQL_HOST
  71 + valueFrom:
  72 + configMapKeyRef:
  73 + name: suplus-config
  74 + key: postgresql.host
  75 + - name: POSTGRESQL_PORT
  76 + valueFrom:
  77 + configMapKeyRef:
  78 + name: suplus-config
  79 + key: postgresql.port
  80 + - name: REDIS_HOST
  81 + valueFrom:
  82 + configMapKeyRef:
  83 + name: suplus-config
  84 + key: redis.ip
  85 + - name: REDIS_PORT
  86 + valueFrom:
  87 + configMapKeyRef:
  88 + name: suplus-config
  89 + key: redis.port
  90 + - name: REDIS_AUTH
  91 + value: ""
55 - name: LOG_LEVEL 92 - name: LOG_LEVEL
56 value: "debug" 93 value: "debug"
57 - name: ERROR_BASE_CODE 94 - name: ERROR_BASE_CODE
58 value: "1" 95 value: "1"
59 - name: ERROR_BASE_CODE_MULTIPLE 96 - name: ERROR_BASE_CODE_MULTIPLE
60 - value: "1000"  
61 - volumes: 97 + value: "2000"
  98 + - name: ENABLE_KAFKA_LOG
  99 + value: "true"
  100 + - name: HTTP_PORT
  101 + value: "8082"
  102 + - name: SERVICE_ENV
  103 + value: "dev"
62 - name: accesslogs 104 - name: accesslogs
63 emptyDir: {} 105 emptyDir: {}
@@ -34,6 +34,31 @@ func FastPgWorkshop(transactionContext application.TransactionContext, id int, o @@ -34,6 +34,31 @@ func FastPgWorkshop(transactionContext application.TransactionContext, id int, o
34 return rep, mod, err 34 return rep, mod, err
35 } 35 }
36 36
  37 +// FastPgWorkshop 快速返回车间对象
  38 +//
  39 +// transactionContext 事务
  40 +// id 对象唯一标识
  41 +func FastPgWorkshops(transactionContext application.TransactionContext, companyId int, options ...option) (domain.Workshops, error) {
  42 + var rep domain.WorkshopRepository
  43 + //var mod *domain.Workshop
  44 + var err error
  45 + if value, err := CreateWorkshopRepository(map[string]interface{}{
  46 + "transactionContext": transactionContext,
  47 + }); err != nil {
  48 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  49 + } else {
  50 + rep = value
  51 + }
  52 + _, workshops, err := rep.Find(map[string]interface{}{"companyId": companyId})
  53 + if err != nil {
  54 + return nil, err
  55 + }
  56 + if len(workshops) == 0 {
  57 + workshops = make([]*domain.Workshop, 0)
  58 + }
  59 + return workshops, err
  60 +}
  61 +
37 // FastPgWorkstation 快速返回工作定位对象 62 // FastPgWorkstation 快速返回工作定位对象
38 // 63 //
39 // transactionContext 事务 64 // transactionContext 事务
@@ -91,11 +91,19 @@ func (productJobService *ProductJobService) GetProductJob(getProductJobQuery *qu @@ -91,11 +91,19 @@ func (productJobService *ProductJobService) GetProductJob(getProductJobQuery *qu
91 if err != nil { 91 if err != nil {
92 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 92 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
93 } 93 }
94 - if err := transactionContext.CommitTransaction(); err != nil {  
95 - return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 94 +
  95 + _, workshop, err := factory.FastPgWorkshop(transactionContext, productJob.WorkStation.WorkshopId)
  96 + if err != nil {
  97 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
96 } 98 }
  99 + productJob.WorkStation, _ = workshop.FindWorkStation(productJob.WorkStation.WorkshopId, productJob.WorkStation.LineId, productJob.WorkStation.SectionId)
97 newJobDto := &dto.ProductJobDto{} 100 newJobDto := &dto.ProductJobDto{}
98 newJobDto.LoadDto(productJob, 0) 101 newJobDto.LoadDto(productJob, 0)
  102 +
  103 + if err := transactionContext.CommitTransaction(); err != nil {
  104 + return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  105 + }
  106 +
99 return newJobDto, nil 107 return newJobDto, nil
100 } 108 }
101 109
@@ -279,8 +287,8 @@ func (productJobService *ProductJobService) UpdateProductJob(cmd *command.Update @@ -279,8 +287,8 @@ func (productJobService *ProductJobService) UpdateProductJob(cmd *command.Update
279 } 287 }
280 288
281 // 搜索工位服务列表 289 // 搜索工位服务列表
282 -func (productJobService *ProductJobService) SearchProductJob(operateInfo *domain.OperateInfo, listProductJobQuery *query.SearchProductJobQuery) (int64, interface{}, error) {  
283 - if err := listProductJobQuery.ValidateQuery(); err != nil { 290 +func (productJobService *ProductJobService) SearchProductJob(operateInfo *domain.OperateInfo, cmd *query.SearchProductJobQuery) (int64, interface{}, error) {
  291 + if err := cmd.ValidateQuery(); err != nil {
284 return 0, nil, application.ThrowError(application.ARG_ERROR, err.Error()) 292 return 0, nil, application.ThrowError(application.ARG_ERROR, err.Error())
285 } 293 }
286 transactionContext, err := factory.CreateTransactionContext(nil) 294 transactionContext, err := factory.CreateTransactionContext(nil)
@@ -301,14 +309,18 @@ func (productJobService *ProductJobService) SearchProductJob(operateInfo *domain @@ -301,14 +309,18 @@ func (productJobService *ProductJobService) SearchProductJob(operateInfo *domain
301 } else { 309 } else {
302 productJobRepository = value 310 productJobRepository = value
303 } 311 }
304 -  
305 - count, productJobs, err := productJobRepository.Find(utils.ObjectToMap(listProductJobQuery)) 312 + workshops, _ := factory.FastPgWorkshops(transactionContext, operateInfo.CompanyId)
  313 + queryOptions := utils.ObjectToMap(cmd)
  314 + queryOptions = workshops.FindByNameWithQuery(queryOptions, cmd.WorkshopName, cmd.LineName, cmd.SectionName)
  315 + count, productJobs, err := productJobRepository.Find(queryOptions)
306 if err != nil { 316 if err != nil {
307 return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 317 return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
308 } 318 }
  319 +
309 var result = make([]*dto.ProductJobDto, 0) 320 var result = make([]*dto.ProductJobDto, 0)
310 for i := range productJobs { 321 for i := range productJobs {
311 item := productJobs[i] 322 item := productJobs[i]
  323 + item.WorkStation = workshops.FindWorkStation(item.WorkStation.WorkshopId, item.WorkStation.LineId, item.WorkStation.SectionId)
312 newJobDto := &dto.ProductJobDto{} 324 newJobDto := &dto.ProductJobDto{}
313 newJobDto.LoadDto(item, operateInfo.OrgId) 325 newJobDto.LoadDto(item, operateInfo.OrgId)
314 result = append(result, newJobDto) 326 result = append(result, newJobDto)
@@ -13,6 +13,8 @@ type UpdateProductLineCommand struct { @@ -13,6 +13,8 @@ type UpdateProductLineCommand struct {
13 WorkshopId int `cname:"车间ID" json:"workshopId" valid:"Required"` 13 WorkshopId int `cname:"车间ID" json:"workshopId" valid:"Required"`
14 // 生产线ID 14 // 生产线ID
15 LineId int `cname:"生产线ID" json:"lineId" valid:"Required"` 15 LineId int `cname:"生产线ID" json:"lineId" valid:"Required"`
  16 + // 旧生产线ID
  17 + //OldWorkshopId int `cname:"生产线ID" json:"-" valid:"Required"`
16 // 生产线名称 18 // 生产线名称
17 LineName string `cname:"生产线名称" json:"lineName" valid:"Required"` 19 LineName string `cname:"生产线名称" json:"lineName" valid:"Required"`
18 } 20 }
@@ -57,7 +57,7 @@ func (productLineService *ProductLineService) CreateProductLine(createProductLin @@ -57,7 +57,7 @@ func (productLineService *ProductLineService) CreateProductLine(createProductLin
57 if err := transactionContext.CommitTransaction(); err != nil { 57 if err := transactionContext.CommitTransaction(); err != nil {
58 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 58 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
59 } 59 }
60 - return newProductLine, nil 60 + return createProductLineCommand, nil
61 } 61 }
62 62
63 // 返回生产线 63 // 返回生产线
@@ -2,11 +2,11 @@ package command @@ -2,11 +2,11 @@ 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/domain"
5 "reflect" 7 "reflect"
6 "strings" 8 "strings"
7 "time" 9 "time"
8 -  
9 - "github.com/beego/beego/v2/core/validation"  
10 ) 10 )
11 11
12 type CreateProductPlanCommand struct { 12 type CreateProductPlanCommand struct {
@@ -19,7 +19,7 @@ type CreateProductPlanCommand struct { @@ -19,7 +19,7 @@ type CreateProductPlanCommand struct {
19 // 批号 19 // 批号
20 BatchNumber string `cname:"批号" json:"batchNumber" valid:"Required"` 20 BatchNumber string `cname:"批号" json:"batchNumber" valid:"Required"`
21 // 生产日期 21 // 生产日期
22 - ProductDate time.Time `cname:"生产日期" json:"productDate" valid:"Required"` 22 + ProductDate string `cname:"生产日期" json:"productDate" valid:"Required"`
23 // 上班班次 1:全天 2:白班 4:中班 8:夜班 23 // 上班班次 1:全天 2:白班 4:中班 8:夜班
24 WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"` 24 WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"`
25 // 机台 (A、B、C、D 区分机器大小) 25 // 机台 (A、B、C、D 区分机器大小)
@@ -31,15 +31,28 @@ type CreateProductPlanCommand struct { @@ -31,15 +31,28 @@ type CreateProductPlanCommand struct {
31 // 单位 31 // 单位
32 Unit string `cname:"单位" json:"unit" valid:"Required"` 32 Unit string `cname:"单位" json:"unit" valid:"Required"`
33 // 单份重量(原材料) 33 // 单份重量(原材料)
34 - UnitWeight float64 `cname:"单份重量(原材料)" json:"unitWeight" valid:"Required"` 34 + //nitWeight float64 `cname:"单份重量(原材料)" json:"unitWeight" valid:"Required"`
35 // 重量 35 // 重量
36 Weight float64 `cname:"重量" json:"weight" valid:"Required"` 36 Weight float64 `cname:"重量" json:"weight" valid:"Required"`
37 // 备注 37 // 备注
38 - Remark string `cname:"备注" json:"remark" valid:"Required"` 38 + Remark string `cname:"备注" json:"remark"`
  39 +
  40 + // 生产日期
  41 + ProductDateTime time.Time `cname:"生产日期" json:"-" `
39 } 42 }
40 43
41 func (createProductPlanCommand *CreateProductPlanCommand) Valid(validation *validation.Validation) { 44 func (createProductPlanCommand *CreateProductPlanCommand) Valid(validation *validation.Validation) {
42 - validation.SetError("CustomValid", "未实现的自定义认证") 45 + //validation.SetError("CustomValid", "未实现的自定义认证")
  46 + if err := domain.ValidWorkOn(createProductPlanCommand.WorkOn); err != nil {
  47 + validation.Error(err.Error())
  48 + return
  49 + }
  50 + if t, err := time.Parse("2006/01/02", createProductPlanCommand.ProductDate); err != nil {
  51 + validation.Error("时间格式有误 2006/01/02")
  52 + return
  53 + } else {
  54 + createProductPlanCommand.ProductDateTime = t
  55 + }
43 } 56 }
44 57
45 func (createProductPlanCommand *CreateProductPlanCommand) ValidateCommand() error { 58 func (createProductPlanCommand *CreateProductPlanCommand) ValidateCommand() error {
@@ -14,7 +14,7 @@ type ReceiveMaterialCommand struct { @@ -14,7 +14,7 @@ type ReceiveMaterialCommand struct {
14 } 14 }
15 15
16 func (receiveMaterialCommand *ReceiveMaterialCommand) Valid(validation *validation.Validation) { 16 func (receiveMaterialCommand *ReceiveMaterialCommand) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (receiveMaterialCommand *ReceiveMaterialCommand) ValidateCommand() error { 20 func (receiveMaterialCommand *ReceiveMaterialCommand) ValidateCommand() error {
@@ -14,7 +14,7 @@ type RemoveProductPlanCommand struct { @@ -14,7 +14,7 @@ type RemoveProductPlanCommand struct {
14 } 14 }
15 15
16 func (removeProductPlanCommand *RemoveProductPlanCommand) Valid(validation *validation.Validation) { 16 func (removeProductPlanCommand *RemoveProductPlanCommand) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (removeProductPlanCommand *RemoveProductPlanCommand) ValidateCommand() error { 20 func (removeProductPlanCommand *RemoveProductPlanCommand) ValidateCommand() error {
@@ -14,7 +14,7 @@ type ReturnMaterialCommand struct { @@ -14,7 +14,7 @@ type ReturnMaterialCommand struct {
14 } 14 }
15 15
16 func (returnMaterialCommand *ReturnMaterialCommand) Valid(validation *validation.Validation) { 16 func (returnMaterialCommand *ReturnMaterialCommand) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (returnMaterialCommand *ReturnMaterialCommand) ValidateCommand() error { 20 func (returnMaterialCommand *ReturnMaterialCommand) ValidateCommand() error {
@@ -14,7 +14,7 @@ type SetOfflineCommand struct { @@ -14,7 +14,7 @@ type SetOfflineCommand struct {
14 } 14 }
15 15
16 func (setOfflineCommand *SetOfflineCommand) Valid(validation *validation.Validation) { 16 func (setOfflineCommand *SetOfflineCommand) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (setOfflineCommand *SetOfflineCommand) ValidateCommand() error { 20 func (setOfflineCommand *SetOfflineCommand) ValidateCommand() error {
@@ -20,7 +20,7 @@ type SetOnlineCommand struct { @@ -20,7 +20,7 @@ type SetOnlineCommand struct {
20 } 20 }
21 21
22 func (setOnlineCommand *SetOnlineCommand) Valid(validation *validation.Validation) { 22 func (setOnlineCommand *SetOnlineCommand) Valid(validation *validation.Validation) {
23 - validation.SetError("CustomValid", "未实现的自定义认证") 23 + //validation.SetError("CustomValid", "未实现的自定义认证")
24 } 24 }
25 25
26 func (setOnlineCommand *SetOnlineCommand) ValidateCommand() error { 26 func (setOnlineCommand *SetOnlineCommand) ValidateCommand() error {
@@ -14,7 +14,7 @@ type SubmitProductRecordCommand struct { @@ -14,7 +14,7 @@ type SubmitProductRecordCommand struct {
14 } 14 }
15 15
16 func (submitProductRecordCommand *SubmitProductRecordCommand) Valid(validation *validation.Validation) { 16 func (submitProductRecordCommand *SubmitProductRecordCommand) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (submitProductRecordCommand *SubmitProductRecordCommand) ValidateCommand() error { 20 func (submitProductRecordCommand *SubmitProductRecordCommand) ValidateCommand() error {
@@ -16,7 +16,7 @@ type SwitchCommand struct { @@ -16,7 +16,7 @@ type SwitchCommand struct {
16 } 16 }
17 17
18 func (switchCommand *SwitchCommand) Valid(validation *validation.Validation) { 18 func (switchCommand *SwitchCommand) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (switchCommand *SwitchCommand) ValidateCommand() error { 22 func (switchCommand *SwitchCommand) ValidateCommand() error {
@@ -2,11 +2,11 @@ package command @@ -2,11 +2,11 @@ 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/domain"
5 "reflect" 7 "reflect"
6 "strings" 8 "strings"
7 "time" 9 "time"
8 -  
9 - "github.com/beego/beego/v2/core/validation"  
10 ) 10 )
11 11
12 type UpdateProductPlanCommand struct { 12 type UpdateProductPlanCommand struct {
@@ -21,7 +21,7 @@ type UpdateProductPlanCommand struct { @@ -21,7 +21,7 @@ type UpdateProductPlanCommand struct {
21 // 批号 21 // 批号
22 BatchNumber string `cname:"批号" json:"batchNumber" valid:"Required"` 22 BatchNumber string `cname:"批号" json:"batchNumber" valid:"Required"`
23 // 生产日期 23 // 生产日期
24 - ProductDate time.Time `cname:"生产日期" json:"productDate" valid:"Required"` 24 + ProductDate string `cname:"生产日期" json:"productDate" valid:"Required"`
25 // 上班班次 1:全天 2:白班 4:中班 8:夜班 25 // 上班班次 1:全天 2:白班 4:中班 8:夜班
26 WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"` 26 WorkOn int `cname:"上班班次 1:全天 2:白班 4:中班 8:夜班" json:"workOn" valid:"Required"`
27 // 机台 (A、B、C、D 区分机器大小) 27 // 机台 (A、B、C、D 区分机器大小)
@@ -33,15 +33,26 @@ type UpdateProductPlanCommand struct { @@ -33,15 +33,26 @@ type UpdateProductPlanCommand struct {
33 // 单位 33 // 单位
34 Unit string `cname:"单位" json:"unit" valid:"Required"` 34 Unit string `cname:"单位" json:"unit" valid:"Required"`
35 // 单份重量(原材料) 35 // 单份重量(原材料)
36 - UnitWeight float64 `cname:"单份重量(原材料)" json:"unitWeight" valid:"Required"` 36 + //UnitWeight float64 `cname:"单份重量(原材料)" json:"unitWeight" valid:"Required"`
37 // 重量 37 // 重量
38 Weight float64 `cname:"重量" json:"weight" valid:"Required"` 38 Weight float64 `cname:"重量" json:"weight" valid:"Required"`
39 // 备注 39 // 备注
40 Remark string `cname:"备注" json:"remark" valid:"Required"` 40 Remark string `cname:"备注" json:"remark" valid:"Required"`
  41 + // 生产日期
  42 + ProductDateTime time.Time `cname:"生产日期" json:"-" `
41 } 43 }
42 44
43 func (updateProductPlanCommand *UpdateProductPlanCommand) Valid(validation *validation.Validation) { 45 func (updateProductPlanCommand *UpdateProductPlanCommand) Valid(validation *validation.Validation) {
44 - validation.SetError("CustomValid", "未实现的自定义认证") 46 + if err := domain.ValidWorkOn(updateProductPlanCommand.WorkOn); err != nil {
  47 + validation.Error(err.Error())
  48 + return
  49 + }
  50 + if t, err := time.Parse("2006/01/02", updateProductPlanCommand.ProductDate); err != nil {
  51 + validation.Error("时间格式有误 2006/01/02")
  52 + return
  53 + } else {
  54 + updateProductPlanCommand.ProductDateTime = t
  55 + }
45 } 56 }
46 57
47 func (updateProductPlanCommand *UpdateProductPlanCommand) ValidateCommand() error { 58 func (updateProductPlanCommand *UpdateProductPlanCommand) ValidateCommand() error {
  1 +package dto
  2 +
  3 +import (
  4 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  5 + "strings"
  6 +)
  7 +
  8 +type ProductPlanDto struct {
  9 + // 批号
  10 + BatchNumber string `json:"batchNumber,omitempty"`
  11 + // 生产日期
  12 + ProductDate string `json:"productDate,omitempty"`
  13 + // 车间
  14 + //*domain.Workshop
  15 + // 车间ID
  16 + WorkshopId int `json:"workshopId,omitempty"`
  17 + // 车间名称
  18 + WorkshopName string `json:"workshopName,omitempty"`
  19 + // 上班班次 1:全天 2:白班 4:中班 8:夜班
  20 + WorkOn int `json:"workOn,omitempty"`
  21 + // 上班班次描述
  22 + WorkOnDescription string `json:"workOnDescription"`
  23 + // 机台 (A、B、C、D 区分机器大小)
  24 + Machine string `json:"machine,omitempty"`
  25 + // 计划的产品名称
  26 + PlanProductName string `json:"planProductName,omitempty"`
  27 + // 计划投入
  28 + *domain.UnitQuantity
  29 + // 计划状态 (1:上线 2:下线 默认下线)
  30 + PlanStatus int `json:"planStatus,omitempty"`
  31 + // 工作位置
  32 + //WorkStation *WorkStation `json:"workStation,omitempty"`
  33 + // 总产能
  34 + TotalProduct float64 `json:"totalProduct"`
  35 + // 备注
  36 + Remark string `json:"remark,omitempty"`
  37 + // 组织名称
  38 + OrgName string `json:"orgName"`
  39 + // 权限标识 (当前登录组织匹配为true,否则false)
  40 + AuthFlag bool `json:"authFlag"`
  41 +}
  42 +
  43 +func (d *ProductPlanDto) LoadDto(m *domain.ProductPlan, orgId int) *ProductPlanDto {
  44 + d.BatchNumber = m.BatchNumber
  45 + d.ProductDate = m.ProductDate.Format("2006/01/02")
  46 + d.WorkshopId = m.Workshop.WorkshopId
  47 + d.WorkshopName = m.Workshop.WorkshopName
  48 + d.WorkOn = m.WorkOn
  49 + d.PlanProductName = m.PlanProductName
  50 + d.UnitQuantity = m.PlanDevoted
  51 + d.PlanStatus = m.PlanStatus
  52 + d.TotalProduct = 0
  53 + d.Remark = m.Remark
  54 + d.AuthFlag = domain.CheckOrgAuth(orgId, m.OrgId)
  55 + if m.Ext != nil {
  56 + d.OrgName = m.Ext.OrgName
  57 + }
  58 + workOnDesc := domain.WorkOnDescription(m.WorkOn)
  59 + d.WorkOnDescription = strings.Join(workOnDesc, ",")
  60 + return d
  61 +}
@@ -14,7 +14,7 @@ type GetProductPlanQuery struct { @@ -14,7 +14,7 @@ type GetProductPlanQuery struct {
14 } 14 }
15 15
16 func (getProductPlanQuery *GetProductPlanQuery) Valid(validation *validation.Validation) { 16 func (getProductPlanQuery *GetProductPlanQuery) Valid(validation *validation.Validation) {
17 - validation.SetError("CustomValid", "未实现的自定义认证") 17 + //validation.SetError("CustomValid", "未实现的自定义认证")
18 } 18 }
19 19
20 func (getProductPlanQuery *GetProductPlanQuery) ValidateQuery() error { 20 func (getProductPlanQuery *GetProductPlanQuery) ValidateQuery() error {
@@ -16,7 +16,7 @@ type ListProductPlanQuery struct { @@ -16,7 +16,7 @@ type ListProductPlanQuery struct {
16 } 16 }
17 17
18 func (listProductPlanQuery *ListProductPlanQuery) Valid(validation *validation.Validation) { 18 func (listProductPlanQuery *ListProductPlanQuery) Valid(validation *validation.Validation) {
19 - validation.SetError("CustomValid", "未实现的自定义认证") 19 + //validation.SetError("CustomValid", "未实现的自定义认证")
20 } 20 }
21 21
22 func (listProductPlanQuery *ListProductPlanQuery) ValidateQuery() error { 22 func (listProductPlanQuery *ListProductPlanQuery) ValidateQuery() error {
  1 +package query
  2 +
  3 +import (
  4 + "fmt"
  5 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  6 + "reflect"
  7 + "strings"
  8 +
  9 + "github.com/beego/beego/v2/core/validation"
  10 +)
  11 +
  12 +type SearchProductPlanQuery struct {
  13 + // 查询偏离量
  14 + Offset int `cname:"查询偏离量" json:"offset"`
  15 + // 查询限制
  16 + Limit int `cname:"查询限制" json:"limit"`
  17 + // 当前公司
  18 + CompanyId int `cname:"当前公司" json:"companyId,omitempty" valid:"Required"`
  19 + // 当前登录的组织
  20 + OrgId int `cname:"当前登录的组织" json:"orgId,omitempty"`
  21 + // 匹配多个组织
  22 + InOrgIds []int `cname:"匹配多个组织" json:"inOrgIds,omitempty" valid:"Required"`
  23 + // 页码
  24 + PageNumber int `cname:"页码" json:"pageNumber,omitempty"`
  25 + // 页数
  26 + PageSize int `cname:"页数" json:"pageSize,omitempty"`
  27 + // 批号
  28 + BatchNumber string `cname:"批号" json:"batchNumber"`
  29 + // 车间名称
  30 + WorkshopName string `cname:"车间名称" json:"workshopName"`
  31 +}
  32 +
  33 +func (cmd *SearchProductPlanQuery) Valid(validation *validation.Validation) {
  34 + //validation.SetError("CustomValid", "未实现的自定义认证")
  35 + cmd.Offset, cmd.Limit = domain.Pagination(cmd.PageNumber, cmd.PageSize)
  36 +}
  37 +
  38 +func (cmd *SearchProductPlanQuery) ValidateQuery() error {
  39 + valid := validation.Validation{}
  40 + b, err := valid.Valid(cmd)
  41 + if err != nil {
  42 + return err
  43 + }
  44 + if !b {
  45 + elem := reflect.TypeOf(cmd).Elem()
  46 + for _, validErr := range valid.Errors {
  47 + field, isExist := elem.FieldByName(validErr.Field)
  48 + if isExist {
  49 + return fmt.Errorf(strings.Replace(validErr.Message, validErr.Field, field.Tag.Get("cname"), -1))
  50 + } else {
  51 + return fmt.Errorf(validErr.Message)
  52 + }
  53 + }
  54 + }
  55 + return nil
  56 +}
@@ -6,8 +6,12 @@ import ( @@ -6,8 +6,12 @@ import (
6 "github.com/linmadan/egglib-go/utils/tool_funs" 6 "github.com/linmadan/egglib-go/utils/tool_funs"
7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/factory" 7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/factory"
8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productPlan/command" 8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productPlan/command"
  9 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productPlan/dto"
9 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productPlan/query" 10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productPlan/query"
10 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain" 11 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  12 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/domainService"
  13 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/utils"
  14 + "time"
11 ) 15 )
12 16
13 // 生产计划服务 17 // 生产计划服务
@@ -15,8 +19,8 @@ type ProductPlanService struct { @@ -15,8 +19,8 @@ type ProductPlanService struct {
15 } 19 }
16 20
17 // 创建生产计划服务 21 // 创建生产计划服务
18 -func (productPlanService *ProductPlanService) CreateProductPlan(createProductPlanCommand *command.CreateProductPlanCommand) (interface{}, error) {  
19 - if err := createProductPlanCommand.ValidateCommand(); err != nil { 22 +func (productPlanService *ProductPlanService) CreateProductPlan(cmd *command.CreateProductPlanCommand) (interface{}, error) {
  23 + if err := cmd.ValidateCommand(); err != nil {
20 return nil, application.ThrowError(application.ARG_ERROR, err.Error()) 24 return nil, application.ThrowError(application.ARG_ERROR, err.Error())
21 } 25 }
22 transactionContext, err := factory.CreateTransactionContext(nil) 26 transactionContext, err := factory.CreateTransactionContext(nil)
@@ -29,34 +33,55 @@ func (productPlanService *ProductPlanService) CreateProductPlan(createProductPla @@ -29,34 +33,55 @@ func (productPlanService *ProductPlanService) CreateProductPlan(createProductPla
29 defer func() { 33 defer func() {
30 transactionContext.RollbackTransaction() 34 transactionContext.RollbackTransaction()
31 }() 35 }()
32 - newProductPlan := &domain.ProductPlan{  
33 - CompanyId: createProductPlanCommand.CompanyId,  
34 - OrgId: createProductPlanCommand.OrgId,  
35 - //WorkshopId: createProductPlanCommand.WorkshopId,  
36 - BatchNumber: createProductPlanCommand.BatchNumber,  
37 - ProductDate: createProductPlanCommand.ProductDate,  
38 - WorkOn: createProductPlanCommand.WorkOn,  
39 - Machine: createProductPlanCommand.Machine,  
40 - PlanProductName: createProductPlanCommand.PlanProductName,  
41 - //PlanDevoted: createProductPlanCommand.PlanDevoted,  
42 - Remark: createProductPlanCommand.Remark,  
43 - }  
44 var productPlanRepository domain.ProductPlanRepository 36 var productPlanRepository domain.ProductPlanRepository
45 - if value, err := factory.CreateProductPlanRepository(map[string]interface{}{  
46 - "transactionContext": transactionContext,  
47 - }); err != nil { 37 + var productPlan *domain.ProductPlan
  38 + productPlanRepository, _, _ = factory.FastPgProductPlan(transactionContext, 0)
  39 + // 检查批次号是否有重复的
  40 + if item, err := productPlanRepository.FindOne(map[string]interface{}{"companyId": cmd.CompanyId, "orgId": cmd.OrgId, "batchNumber": cmd.BatchNumber}); err == nil && item != nil {
  41 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, "批次号重复")
  42 + }
  43 +
  44 + _, workshop, err := factory.FastPgWorkshop(transactionContext, cmd.WorkshopId)
  45 + if err != nil {
  46 + return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  47 + }
  48 +
  49 + var userService = domainService.NewUserService()
  50 + var org *domain.Org
  51 + org, err = userService.Organization(cmd.OrgId)
  52 + if err != nil {
48 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 53 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
49 - } else {  
50 - productPlanRepository = value  
51 } 54 }
52 - if productPlan, err := productPlanRepository.Save(newProductPlan); err != nil { 55 +
  56 + newProductPlan := &domain.ProductPlan{
  57 + CompanyId: cmd.CompanyId,
  58 + OrgId: cmd.OrgId,
  59 + BatchNumber: cmd.BatchNumber,
  60 + ProductDate: cmd.ProductDateTime,
  61 + Workshop: workshop.CloneSample(),
  62 + WorkOn: cmd.WorkOn,
  63 + Machine: cmd.Machine,
  64 + PlanProductName: cmd.PlanProductName,
  65 + PlanDevoted: &domain.UnitQuantity{
  66 + Unit: cmd.Unit,
  67 + Quantity: cmd.Quantity,
  68 + Weight: cmd.Weight,
  69 + },
  70 + PlanStatus: domain.PlanOffline,
  71 + WorkStation: &domain.WorkStation{},
  72 + Remark: cmd.Remark,
  73 + CreatedAt: time.Now(),
  74 + UpdatedAt: time.Now(),
  75 + Ext: domain.NewExt(org.OrgName),
  76 + }
  77 + if productPlan, err = productPlanRepository.Save(newProductPlan); err != nil {
53 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error()) 78 return nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
54 - } else { 79 + }
55 if err := transactionContext.CommitTransaction(); err != nil { 80 if err := transactionContext.CommitTransaction(); err != nil {
56 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 81 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
57 } 82 }
58 return productPlan, nil 83 return productPlan, nil
59 - } 84 +
60 } 85 }
61 86
62 // 返回生产计划服务 87 // 返回生产计划服务
@@ -92,7 +117,9 @@ func (productPlanService *ProductPlanService) GetProductPlan(getProductPlanQuery @@ -92,7 +117,9 @@ func (productPlanService *ProductPlanService) GetProductPlan(getProductPlanQuery
92 if err := transactionContext.CommitTransaction(); err != nil { 117 if err := transactionContext.CommitTransaction(); err != nil {
93 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) 118 return nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
94 } 119 }
95 - return productPlan, nil 120 + result := &dto.ProductPlanDto{}
  121 + result.LoadDto(productPlan, 0)
  122 + return result, nil
96 } 123 }
97 } 124 }
98 125
@@ -341,6 +368,46 @@ func (productPlanService *ProductPlanService) UpdateProductPlan(updateProductPla @@ -341,6 +368,46 @@ func (productPlanService *ProductPlanService) UpdateProductPlan(updateProductPla
341 } 368 }
342 } 369 }
343 370
  371 +// 搜索生产计划服务列表
  372 +func (productPlanService *ProductPlanService) SearchProductPlan(operateInfo *domain.OperateInfo, cmd *query.SearchProductPlanQuery) (int64, interface{}, error) {
  373 + if err := cmd.ValidateQuery(); err != nil {
  374 + return 0, nil, application.ThrowError(application.ARG_ERROR, err.Error())
  375 + }
  376 + transactionContext, err := factory.CreateTransactionContext(nil)
  377 + if err != nil {
  378 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  379 + }
  380 + if err := transactionContext.StartTransaction(); err != nil {
  381 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  382 + }
  383 + defer func() {
  384 + transactionContext.RollbackTransaction()
  385 + }()
  386 + var productPlanRepository domain.ProductPlanRepository
  387 + if value, err := factory.CreateProductPlanRepository(map[string]interface{}{
  388 + "transactionContext": transactionContext,
  389 + }); err != nil {
  390 + return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  391 + } else {
  392 + productPlanRepository = value
  393 + }
  394 + count, productPlans, err := productPlanRepository.Find(utils.ObjectToMap(cmd))
  395 + if err != nil {
  396 + return 0, nil, application.ThrowError(application.INTERNAL_SERVER_ERROR, err.Error())
  397 + }
  398 + if err := transactionContext.CommitTransaction(); err != nil {
  399 + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error())
  400 + }
  401 + var result = make([]*dto.ProductPlanDto, 0)
  402 + for i := range productPlans {
  403 + item := productPlans[i]
  404 + newItem := &dto.ProductPlanDto{}
  405 + newItem.LoadDto(item, operateInfo.OrgId)
  406 + result = append(result, newItem)
  407 + }
  408 + return count, result, nil
  409 +}
  410 +
344 func NewProductPlanService(options map[string]interface{}) *ProductPlanService { 411 func NewProductPlanService(options map[string]interface{}) *ProductPlanService {
345 newProductPlanService := &ProductPlanService{} 412 newProductPlanService := &ProductPlanService{}
346 return newProductPlanService 413 return newProductPlanService
@@ -103,3 +103,20 @@ func ValidWorkOn(workOn int) error { @@ -103,3 +103,20 @@ func ValidWorkOn(workOn int) error {
103 } 103 }
104 return nil 104 return nil
105 } 105 }
  106 +
  107 +func WorkOnDescription(workOn int) []string {
  108 + result := make([]string, 0)
  109 + if workOn&WorkOnFullDay > 0 {
  110 + result = append(result, "全天")
  111 + }
  112 + if workOn&WorkOnDay > 0 {
  113 + result = append(result, "白班")
  114 + }
  115 + if workOn&WorkOnMidDay > 0 {
  116 + result = append(result, "中班")
  117 + }
  118 + if workOn&WorkOnNight > 0 {
  119 + result = append(result, "夜班")
  120 + }
  121 + return result
  122 +}
@@ -2,6 +2,11 @@ package domain @@ -2,6 +2,11 @@ package domain
2 2
3 import "time" 3 import "time"
4 4
  5 +const (
  6 + PlanOnline = 1 // 计划上线
  7 + PlanOffline = 2 // 计划下线
  8 +)
  9 +
5 // 生产计划 10 // 生产计划
6 type ProductPlan struct { 11 type ProductPlan struct {
7 // 生产计划ID 12 // 生产计划ID
@@ -31,5 +31,6 @@ func NewWorkStation(w *Workshop, l *ProductLine, s *ProductSection) *WorkStation @@ -31,5 +31,6 @@ func NewWorkStation(w *Workshop, l *ProductLine, s *ProductSection) *WorkStation
31 LineName: l.LineName, 31 LineName: l.LineName,
32 SectionId: s.SectionId, 32 SectionId: s.SectionId,
33 SectionName: s.SectionName, 33 SectionName: s.SectionName,
  34 + Principal: w.Principal,
34 } 35 }
35 } 36 }
@@ -85,10 +85,10 @@ func (workshop *Workshop) RemoveLine(lineId int) (*ProductLine, error) { @@ -85,10 +85,10 @@ func (workshop *Workshop) RemoveLine(lineId int) (*ProductLine, error) {
85 if err != nil { 85 if err != nil {
86 return nil, err 86 return nil, err
87 } 87 }
88 - if line.Removed == 1 { 88 + if line.Removed == Deleted {
89 return nil, fmt.Errorf("生产线:%v已删除", line.LineName) 89 return nil, fmt.Errorf("生产线:%v已删除", line.LineName)
90 } 90 }
91 - line.Removed = 1 91 + line.Removed = Deleted
92 return line, nil 92 return line, nil
93 } 93 }
94 94
@@ -98,7 +98,7 @@ func (workshop *Workshop) UpdateLine(lineId int, lineName string) error { @@ -98,7 +98,7 @@ func (workshop *Workshop) UpdateLine(lineId int, lineName string) error {
98 if err != nil { 98 if err != nil {
99 return err 99 return err
100 } 100 }
101 - if line.Removed == 1 { 101 + if line.Removed == Deleted {
102 return fmt.Errorf("生产线:%v已删除", line.LineName) 102 return fmt.Errorf("生产线:%v已删除", line.LineName)
103 } 103 }
104 line.LineName = lineName 104 line.LineName = lineName
@@ -133,7 +133,7 @@ func (workshop *Workshop) AddSection(lineId int, section *ProductSection) error @@ -133,7 +133,7 @@ func (workshop *Workshop) AddSection(lineId int, section *ProductSection) error
133 if err != nil { 133 if err != nil {
134 return err 134 return err
135 } 135 }
136 - if line.Removed == 1 { 136 + if line.Removed == Deleted {
137 return fmt.Errorf("生产线:%v已删除", line.LineName) 137 return fmt.Errorf("生产线:%v已删除", line.LineName)
138 } 138 }
139 for i := range line.ProductSections { 139 for i := range line.ProductSections {
@@ -155,10 +155,10 @@ func (workshop *Workshop) RemoveSection(lineId, sectionId int) error { @@ -155,10 +155,10 @@ func (workshop *Workshop) RemoveSection(lineId, sectionId int) error {
155 if err != nil { 155 if err != nil {
156 return err 156 return err
157 } 157 }
158 - if section.Removed == 1 { 158 + if section.Removed == Deleted {
159 return fmt.Errorf("工段:%v已删除", section.SectionName) 159 return fmt.Errorf("工段:%v已删除", section.SectionName)
160 } 160 }
161 - section.Removed = 1 161 + section.Removed = Deleted
162 return nil 162 return nil
163 } 163 }
164 164
@@ -168,7 +168,7 @@ func (workshop *Workshop) UpdateSection(lineId, sectionId int, sectionName strin @@ -168,7 +168,7 @@ func (workshop *Workshop) UpdateSection(lineId, sectionId int, sectionName strin
168 if err != nil { 168 if err != nil {
169 return err 169 return err
170 } 170 }
171 - if section.Removed == 1 { 171 + if section.Removed == Deleted {
172 return fmt.Errorf("工段:%v已删除", section.SectionName) 172 return fmt.Errorf("工段:%v已删除", section.SectionName)
173 } 173 }
174 section.SectionName = sectionName 174 section.SectionName = sectionName
@@ -219,3 +219,10 @@ func (workshop *Workshop) GetProductLines(removed int) []*ProductLine { @@ -219,3 +219,10 @@ func (workshop *Workshop) GetProductLines(removed int) []*ProductLine {
219 } 219 }
220 return result 220 return result
221 } 221 }
  222 +
  223 +func (workshop *Workshop) CloneSample() *Workshop {
  224 + return &Workshop{
  225 + WorkshopId: workshop.WorkshopId,
  226 + WorkshopName: workshop.WorkshopName,
  227 + }
  228 +}
  1 +package domain
  2 +
  3 +import "strings"
  4 +
  5 +/*车间列表*/
  6 +type Workshops []*Workshop
  7 +
  8 +func (m Workshops) FindWorkStation(workshopId, lineId, sectionId int) *WorkStation {
  9 + for i := range m {
  10 + item := m[i]
  11 + workstation, err := item.FindWorkStation(workshopId, lineId, sectionId)
  12 + if err == nil && workstation != nil {
  13 + return workstation
  14 + }
  15 + }
  16 + return &WorkStation{} //返回空的对象
  17 +}
  18 +
  19 +func (m Workshops) FindWorkshopsByName(workshopName string) []int {
  20 + result := make([]int, 0)
  21 + if len(workshopName) == 0 {
  22 + return result
  23 + }
  24 + for i := range m {
  25 + item := m[i]
  26 + if strings.Contains(item.WorkshopName, workshopName) {
  27 + result = append(result, item.WorkshopId)
  28 + }
  29 + }
  30 + return result
  31 +}
  32 +
  33 +func (m Workshops) FindProductLinesByName(lineName string) []int {
  34 + result := make([]int, 0)
  35 + if len(lineName) == 0 {
  36 + return result
  37 + }
  38 + for i := range m {
  39 + item := m[i]
  40 + for j := range item.ProductLines {
  41 + line := item.ProductLines[j]
  42 + if line.Removed == Deleted {
  43 + continue
  44 + }
  45 + if strings.Contains(line.LineName, lineName) {
  46 + result = append(result, line.LineId)
  47 + }
  48 + }
  49 + }
  50 + return result
  51 +}
  52 +
  53 +func (m Workshops) FindProductSectionsByName(sectionName string) []int {
  54 + result := make([]int, 0)
  55 + if len(sectionName) == 0 {
  56 + return result
  57 + }
  58 + for i := range m {
  59 + item := m[i]
  60 + for j := range item.ProductLines {
  61 + line := item.ProductLines[j]
  62 + if line.Removed == Deleted {
  63 + continue
  64 + }
  65 + for z := range line.ProductSections {
  66 + section := line.ProductSections[z]
  67 + if section.Removed == Deleted {
  68 + continue
  69 + }
  70 + if strings.Contains(section.SectionName, sectionName) {
  71 + result = append(result, section.SectionId)
  72 + }
  73 + }
  74 + }
  75 + }
  76 + return result
  77 +}
  78 +
  79 +func (m Workshops) FindByName(workshopName, lineName, sectionName string) (workshops []int, lines []int, sections []int) {
  80 + workshops = m.FindWorkshopsByName(workshopName)
  81 + lines = m.FindProductLinesByName(lineName)
  82 + sections = m.FindProductSectionsByName(sectionName)
  83 + return
  84 +}
  85 +
  86 +func (m Workshops) FindByNameWithQuery(query map[string]interface{}, workshopName, lineName, sectionName string) map[string]interface{} {
  87 + var workshops, lines, sections []int
  88 + workshops = m.FindWorkshopsByName(workshopName)
  89 + lines = m.FindProductLinesByName(lineName)
  90 + sections = m.FindProductSectionsByName(sectionName)
  91 + defaultValue := []int{0}
  92 + if len(workshops) > 0 {
  93 + query["inWorkshopIds"] = workshops
  94 + } else {
  95 + if len(workshopName) > 0 {
  96 + query["inWorkshopIds"] = defaultValue
  97 + }
  98 + }
  99 +
  100 + if len(lines) > 0 {
  101 + query["inLineIds"] = lines
  102 + } else {
  103 + if len(lineName) > 0 {
  104 + query["inLineIds"] = defaultValue
  105 + }
  106 + }
  107 + if len(sections) > 0 {
  108 + query["inSectionIds"] = sections
  109 + } else {
  110 + if len(sectionName) > 0 {
  111 + query["inSectionIds"] = defaultValue
  112 + }
  113 + }
  114 + return query
  115 +}
  1 +package domainService
  2 +
  3 +//import (
  4 +// "fmt"
  5 +// pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
  6 +// "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
  7 +// "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/repository"
  8 +//)
  9 +//
  10 +//type PGWorkshopService struct {
  11 +// transactionContext *pgTransaction.TransactionContext
  12 +//}
  13 +//
  14 +//func(ptr *PGWorkshopService)CompanyWorkshops(companyId int)(domain.Workshops,error){
  15 +// workshopRepository,_:= repository.NewWorkshopRepository(ptr.transactionContext)
  16 +// _,workshops,err:= workshopRepository.Find(map[string]interface{}{"companyId":companyId})
  17 +// if err!=nil{
  18 +// return nil,err
  19 +// }
  20 +// if len(workshops)==0{
  21 +// workshops = make([]*domain.Workshop,0)
  22 +// }
  23 +// return workshops,nil
  24 +//}
  25 +//
  26 +//func NewPGWorkshopService(transactionContext *pgTransaction.TransactionContext) (*PGWorkshopService, error) {
  27 +// if transactionContext == nil {
  28 +// return nil, fmt.Errorf("transactionContext参数不能为nil")
  29 +// } else {
  30 +// return &PGWorkshopService{
  31 +// transactionContext: transactionContext,
  32 +// }, nil
  33 +// }
  34 +//}
@@ -6,7 +6,7 @@ import ( @@ -6,7 +6,7 @@ import (
6 ) 6 )
7 7
8 type ProductPlan struct { 8 type ProductPlan struct {
9 - tableName string `comment:"生产计划" pg:"product_plans,alias:manufacture.product_plan"` 9 + tableName string `comment:"生产计划" pg:"manufacture.product_plan"`
10 // 生产计划ID 10 // 生产计划ID
11 ProductPlanId int `comment:"生产计划ID" pg:"pk:product_plan_id"` 11 ProductPlanId int `comment:"生产计划ID" pg:"pk:product_plan_id"`
12 // 企业id 12 // 企业id
@@ -6,6 +6,7 @@ import ( @@ -6,6 +6,7 @@ import (
6 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain" 6 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain"
7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/pg/models" 7 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/pg/models"
8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/pg/transform" 8 "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/pg/transform"
  9 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/utils"
9 10
10 "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder" 11 "github.com/linmadan/egglib-go/persistent/pg/sqlbuilder"
11 pgTransaction "github.com/linmadan/egglib-go/transaction/pg" 12 pgTransaction "github.com/linmadan/egglib-go/transaction/pg"
@@ -154,18 +155,28 @@ func (repository *ProductJobRepository) Find(queryOptions map[string]interface{} @@ -154,18 +155,28 @@ func (repository *ProductJobRepository) Find(queryOptions map[string]interface{}
154 query.SetWhereByQueryOption("work_station->>'workshopId'='?'", "workshopId") 155 query.SetWhereByQueryOption("work_station->>'workshopId'='?'", "workshopId")
155 query.SetWhereByQueryOption("work_station->>'lineId'='?'", "lineId") 156 query.SetWhereByQueryOption("work_station->>'lineId'='?'", "lineId")
156 query.SetWhereByQueryOption("work_station->>'sectionId'='?'", "sectionId") 157 query.SetWhereByQueryOption("work_station->>'sectionId'='?'", "sectionId")
157 - if v, ok := queryOptions["jobName"]; ok && len(v.(string)) > 0 {  
158 - query.Where(fmt.Sprintf(`job_name like '%%%v%%'`, v)) 158 + if v, ok := queryOptions["inWorkshopIds"]; ok && len(v.([]int)) > 0 {
  159 + query.Where(`work_station->>'workshopId' in (?)`, pg.In(utils.ToArrayString(v.([]int))))
159 } 160 }
160 - if v, ok := queryOptions["workshopName"]; ok && len(v.(string)) > 0 {  
161 - query.Where(fmt.Sprintf(`work_station->>'workshopName' like '%%%v%%'`, v)) 161 + if v, ok := queryOptions["inLineIds"]; ok && len(v.([]int)) > 0 {
  162 + query.Where(`work_station->>'lineId' in (?)`, pg.In(utils.ToArrayString(v.([]int))))
162 } 163 }
163 - if v, ok := queryOptions["lineName"]; ok && len(v.(string)) > 0 {  
164 - query.Where(fmt.Sprintf(`work_station->>'lineName' like '%%%v%%'`, v)) 164 + if v, ok := queryOptions["inSectionIds"]; ok && len(v.([]int)) > 0 {
  165 + query.Where(`work_station->>'sectionId' in (?)`, pg.In(utils.ToArrayString(v.([]int))))
165 } 166 }
166 - if v, ok := queryOptions["sectionName"]; ok && len(v.(string)) > 0 {  
167 - query.Where(fmt.Sprintf(`work_station->>'sectionName' like '%%%v%%'`, v)) 167 +
  168 + if v, ok := queryOptions["jobName"]; ok && len(v.(string)) > 0 {
  169 + query.Where(fmt.Sprintf(`job_name like '%%%v%%'`, v))
168 } 170 }
  171 + //if v, ok := queryOptions["workshopName"]; ok && len(v.(string)) > 0 {
  172 + // query.Where(fmt.Sprintf(`work_station->>'workshopName' like '%%%v%%'`, v))
  173 + //}
  174 + //if v, ok := queryOptions["lineName"]; ok && len(v.(string)) > 0 {
  175 + // query.Where(fmt.Sprintf(`work_station->>'lineName' like '%%%v%%'`, v))
  176 + //}
  177 + //if v, ok := queryOptions["sectionName"]; ok && len(v.(string)) > 0 {
  178 + // query.Where(fmt.Sprintf(`work_station->>'sectionName' like '%%%v%%'`, v))
  179 + //}
169 query.SetOffsetAndLimit(domain.MaxQueryRow) 180 query.SetOffsetAndLimit(domain.MaxQueryRow)
170 query.SetOrderDirect("product_job_id", "DESC") 181 query.SetOrderDirect("product_job_id", "DESC")
171 if count, err := query.SelectAndCount(); err != nil { 182 if count, err := query.SelectAndCount(); err != nil {
@@ -44,19 +44,13 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) ( @@ -44,19 +44,13 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) (
44 "deleted_at", 44 "deleted_at",
45 "ext", 45 "ext",
46 } 46 }
47 - insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)  
48 - insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlBuildFields) 47 + insertFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "product_plan_id", "deleted_at"))
  48 + insertPlaceHoldersSnippet := sqlbuilder.SqlPlaceHoldersSnippet(sqlbuilder.RemoveSqlFields(sqlBuildFields, "product_plan_id", "deleted_at"))
49 returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields) 49 returningFieldsSnippet := sqlbuilder.SqlFieldsSnippet(sqlBuildFields)
50 - updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "productPlan_id") 50 + updateFields := sqlbuilder.RemoveSqlFields(sqlBuildFields, "product_plan_id", "deleted_at")
51 updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields) 51 updateFieldsSnippet := sqlbuilder.SqlUpdateFieldsSnippet(updateFields)
52 tx := repository.transactionContext.PgTx 52 tx := repository.transactionContext.PgTx
53 if productPlan.Identify() == nil { 53 if productPlan.Identify() == nil {
54 - productPlanId, err := repository.nextIdentify()  
55 - if err != nil {  
56 - return productPlan, err  
57 - } else {  
58 - productPlan.ProductPlanId = int(productPlanId)  
59 - }  
60 if _, err := tx.QueryOne( 54 if _, err := tx.QueryOne(
61 pg.Scan( 55 pg.Scan(
62 &productPlan.ProductPlanId, 56 &productPlan.ProductPlanId,
@@ -77,8 +71,7 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) ( @@ -77,8 +71,7 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) (
77 &productPlan.DeletedAt, 71 &productPlan.DeletedAt,
78 &productPlan.Ext, 72 &productPlan.Ext,
79 ), 73 ),
80 - fmt.Sprintf("INSERT INTO product_plans (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),  
81 - productPlan.ProductPlanId, 74 + fmt.Sprintf("INSERT INTO manufacture.product_plan (%s) VALUES (%s) RETURNING %s", insertFieldsSnippet, insertPlaceHoldersSnippet, returningFieldsSnippet),
82 productPlan.CompanyId, 75 productPlan.CompanyId,
83 productPlan.OrgId, 76 productPlan.OrgId,
84 productPlan.BatchNumber, 77 productPlan.BatchNumber,
@@ -93,7 +86,6 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) ( @@ -93,7 +86,6 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) (
93 productPlan.Remark, 86 productPlan.Remark,
94 productPlan.CreatedAt, 87 productPlan.CreatedAt,
95 productPlan.UpdatedAt, 88 productPlan.UpdatedAt,
96 - productPlan.DeletedAt,  
97 productPlan.Ext, 89 productPlan.Ext,
98 ); err != nil { 90 ); err != nil {
99 return productPlan, err 91 return productPlan, err
@@ -119,8 +111,7 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) ( @@ -119,8 +111,7 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) (
119 &productPlan.DeletedAt, 111 &productPlan.DeletedAt,
120 &productPlan.Ext, 112 &productPlan.Ext,
121 ), 113 ),
122 - fmt.Sprintf("UPDATE product_plans SET %s WHERE product_plan_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),  
123 - productPlan.ProductPlanId, 114 + fmt.Sprintf("UPDATE manufacture.product_plan SET %s WHERE product_plan_id=? RETURNING %s", updateFieldsSnippet, returningFieldsSnippet),
124 productPlan.CompanyId, 115 productPlan.CompanyId,
125 productPlan.OrgId, 116 productPlan.OrgId,
126 productPlan.BatchNumber, 117 productPlan.BatchNumber,
@@ -135,7 +126,6 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) ( @@ -135,7 +126,6 @@ func (repository *ProductPlanRepository) Save(productPlan *domain.ProductPlan) (
135 productPlan.Remark, 126 productPlan.Remark,
136 productPlan.CreatedAt, 127 productPlan.CreatedAt,
137 productPlan.UpdatedAt, 128 productPlan.UpdatedAt,
138 - productPlan.DeletedAt,  
139 productPlan.Ext, 129 productPlan.Ext,
140 productPlan.Identify(), 130 productPlan.Identify(),
141 ); err != nil { 131 ); err != nil {
@@ -157,7 +147,10 @@ func (repository *ProductPlanRepository) FindOne(queryOptions map[string]interfa @@ -157,7 +147,10 @@ func (repository *ProductPlanRepository) FindOne(queryOptions map[string]interfa
157 tx := repository.transactionContext.PgTx 147 tx := repository.transactionContext.PgTx
158 productPlanModel := new(models.ProductPlan) 148 productPlanModel := new(models.ProductPlan)
159 query := sqlbuilder.BuildQuery(tx.Model(productPlanModel), queryOptions) 149 query := sqlbuilder.BuildQuery(tx.Model(productPlanModel), queryOptions)
160 - query.SetWhereByQueryOption("product_plan.product_plan_id = ?", "productPlanId") 150 + query.SetWhereByQueryOption("product_plan_id = ?", "productPlanId")
  151 + query.SetWhereByQueryOption("company_id = ?", "companyId")
  152 + query.SetWhereByQueryOption("org_id = ?", "orgId")
  153 + query.SetWhereByQueryOption("batch_number=?", "batchNumber")
161 if v, ok := queryOptions["includeDeleted"]; ok && v.(bool) { 154 if v, ok := queryOptions["includeDeleted"]; ok && v.(bool) {
162 query.AllWithDeleted() 155 query.AllWithDeleted()
163 } 156 }
@@ -48,6 +48,15 @@ func ObjectToMap(o interface{}) map[string]interface{} { @@ -48,6 +48,15 @@ func ObjectToMap(o interface{}) map[string]interface{} {
48 return m 48 return m
49 } 49 }
50 50
  51 +func DeleteMapKeys(options map[string]interface{}, keys ...string) map[string]interface{} {
  52 + for i := range keys {
  53 + if _, ok := options[keys[i]]; ok {
  54 + delete(options, keys[i])
  55 + }
  56 + }
  57 + return options
  58 +}
  59 +
51 // AssertString convert v to string value 60 // AssertString convert v to string value
52 func AssertString(v interface{}) string { 61 func AssertString(v interface{}) string {
53 if v == nil { 62 if v == nil {
@@ -315,3 +324,11 @@ func ComputeTimeDuration(t1, t2 string) (result time.Duration, err error) { @@ -315,3 +324,11 @@ func ComputeTimeDuration(t1, t2 string) (result time.Duration, err error) {
315 ts := t2t.Sub(t1t) 324 ts := t2t.Sub(t1t)
316 return ts, nil 325 return ts, nil
317 } 326 }
  327 +
  328 +func ToArrayString(inputs []int) []string {
  329 + result := make([]string, 0)
  330 + for i := range inputs {
  331 + result = append(result, strconv.Itoa(inputs[i]))
  332 + }
  333 + return result
  334 +}
@@ -24,7 +24,9 @@ func (controller *ProductLineController) UpdateProductLine() { @@ -24,7 +24,9 @@ func (controller *ProductLineController) UpdateProductLine() {
24 updateProductLineCommand := &command.UpdateProductLineCommand{} 24 updateProductLineCommand := &command.UpdateProductLineCommand{}
25 Must(controller.Unmarshal(updateProductLineCommand)) 25 Must(controller.Unmarshal(updateProductLineCommand))
26 lineId, _ := controller.GetInt(":lineId") 26 lineId, _ := controller.GetInt(":lineId")
  27 + workshopId, _ := controller.GetInt("workshopId")
27 updateProductLineCommand.LineId = lineId 28 updateProductLineCommand.LineId = lineId
  29 + updateProductLineCommand.WorkshopId = workshopId
28 data, err := productLineService.UpdateProductLine(updateProductLineCommand) 30 data, err := productLineService.UpdateProductLine(updateProductLineCommand)
29 controller.Response(data, err) 31 controller.Response(data, err)
30 } 32 }
@@ -13,16 +13,19 @@ type ProductPlanController struct { @@ -13,16 +13,19 @@ type ProductPlanController struct {
13 13
14 func (controller *ProductPlanController) CreateProductPlan() { 14 func (controller *ProductPlanController) CreateProductPlan() {
15 productPlanService := service.NewProductPlanService(nil) 15 productPlanService := service.NewProductPlanService(nil)
16 - createProductPlanCommand := &command.CreateProductPlanCommand{}  
17 - controller.Unmarshal(createProductPlanCommand)  
18 - data, err := productPlanService.CreateProductPlan(createProductPlanCommand) 16 + cmd := &command.CreateProductPlanCommand{}
  17 + Must(controller.Unmarshal(cmd))
  18 + operateInfo := ParseOperateInfo(controller.BaseController)
  19 + cmd.CompanyId = operateInfo.CompanyId
  20 + cmd.OrgId = operateInfo.OrgId
  21 + data, err := productPlanService.CreateProductPlan(cmd)
19 controller.Response(data, err) 22 controller.Response(data, err)
20 } 23 }
21 24
22 func (controller *ProductPlanController) UpdateProductPlan() { 25 func (controller *ProductPlanController) UpdateProductPlan() {
23 productPlanService := service.NewProductPlanService(nil) 26 productPlanService := service.NewProductPlanService(nil)
24 updateProductPlanCommand := &command.UpdateProductPlanCommand{} 27 updateProductPlanCommand := &command.UpdateProductPlanCommand{}
25 - controller.Unmarshal(updateProductPlanCommand) 28 + Must(controller.Unmarshal(updateProductPlanCommand))
26 productPlanId, _ := controller.GetInt(":productPlanId") 29 productPlanId, _ := controller.GetInt(":productPlanId")
27 updateProductPlanCommand.ProductPlanId = productPlanId 30 updateProductPlanCommand.ProductPlanId = productPlanId
28 data, err := productPlanService.UpdateProductPlan(updateProductPlanCommand) 31 data, err := productPlanService.UpdateProductPlan(updateProductPlanCommand)
@@ -62,7 +65,7 @@ func (controller *ProductPlanController) ListProductPlan() { @@ -62,7 +65,7 @@ func (controller *ProductPlanController) ListProductPlan() {
62 func (controller *ProductPlanController) ReceiveMaterial() { 65 func (controller *ProductPlanController) ReceiveMaterial() {
63 productPlanService := service.NewProductPlanService(nil) 66 productPlanService := service.NewProductPlanService(nil)
64 receiveMaterialCommand := &command.ReceiveMaterialCommand{} 67 receiveMaterialCommand := &command.ReceiveMaterialCommand{}
65 - controller.Unmarshal(receiveMaterialCommand) 68 + Must(controller.Unmarshal(receiveMaterialCommand))
66 data, err := productPlanService.ReceiveMaterial(receiveMaterialCommand) 69 data, err := productPlanService.ReceiveMaterial(receiveMaterialCommand)
67 controller.Response(data, err) 70 controller.Response(data, err)
68 } 71 }
@@ -70,7 +73,7 @@ func (controller *ProductPlanController) ReceiveMaterial() { @@ -70,7 +73,7 @@ func (controller *ProductPlanController) ReceiveMaterial() {
70 func (controller *ProductPlanController) ReturnMaterial() { 73 func (controller *ProductPlanController) ReturnMaterial() {
71 productPlanService := service.NewProductPlanService(nil) 74 productPlanService := service.NewProductPlanService(nil)
72 returnMaterialCommand := &command.ReturnMaterialCommand{} 75 returnMaterialCommand := &command.ReturnMaterialCommand{}
73 - controller.Unmarshal(returnMaterialCommand) 76 + Must(controller.Unmarshal(returnMaterialCommand))
74 data, err := productPlanService.ReturnMaterial(returnMaterialCommand) 77 data, err := productPlanService.ReturnMaterial(returnMaterialCommand)
75 controller.Response(data, err) 78 controller.Response(data, err)
76 } 79 }
@@ -78,7 +81,7 @@ func (controller *ProductPlanController) ReturnMaterial() { @@ -78,7 +81,7 @@ func (controller *ProductPlanController) ReturnMaterial() {
78 func (controller *ProductPlanController) SetOnline() { 81 func (controller *ProductPlanController) SetOnline() {
79 productPlanService := service.NewProductPlanService(nil) 82 productPlanService := service.NewProductPlanService(nil)
80 setOnlineCommand := &command.SetOnlineCommand{} 83 setOnlineCommand := &command.SetOnlineCommand{}
81 - controller.Unmarshal(setOnlineCommand) 84 + Must(controller.Unmarshal(setOnlineCommand))
82 data, err := productPlanService.SetOnline(setOnlineCommand) 85 data, err := productPlanService.SetOnline(setOnlineCommand)
83 controller.Response(data, err) 86 controller.Response(data, err)
84 } 87 }
@@ -86,7 +89,7 @@ func (controller *ProductPlanController) SetOnline() { @@ -86,7 +89,7 @@ func (controller *ProductPlanController) SetOnline() {
86 func (controller *ProductPlanController) Switch() { 89 func (controller *ProductPlanController) Switch() {
87 productPlanService := service.NewProductPlanService(nil) 90 productPlanService := service.NewProductPlanService(nil)
88 switchCommand := &command.SwitchCommand{} 91 switchCommand := &command.SwitchCommand{}
89 - controller.Unmarshal(switchCommand) 92 + Must(controller.Unmarshal(switchCommand))
90 data, err := productPlanService.Switch(switchCommand) 93 data, err := productPlanService.Switch(switchCommand)
91 controller.Response(data, err) 94 controller.Response(data, err)
92 } 95 }
@@ -94,7 +97,19 @@ func (controller *ProductPlanController) Switch() { @@ -94,7 +97,19 @@ func (controller *ProductPlanController) Switch() {
94 func (controller *ProductPlanController) SubmitProductRecord() { 97 func (controller *ProductPlanController) SubmitProductRecord() {
95 productPlanService := service.NewProductPlanService(nil) 98 productPlanService := service.NewProductPlanService(nil)
96 submitProductRecordCommand := &command.SubmitProductRecordCommand{} 99 submitProductRecordCommand := &command.SubmitProductRecordCommand{}
97 - controller.Unmarshal(submitProductRecordCommand) 100 + Must(controller.Unmarshal(submitProductRecordCommand))
98 data, err := productPlanService.SubmitProductRecord(submitProductRecordCommand) 101 data, err := productPlanService.SubmitProductRecord(submitProductRecordCommand)
99 controller.Response(data, err) 102 controller.Response(data, err)
100 } 103 }
  104 +
  105 +func (controller *ProductPlanController) SearchProductPlan() {
  106 + productPlanService := service.NewProductPlanService(nil)
  107 + cmd := &query.SearchProductPlanQuery{}
  108 + Must(controller.Unmarshal(cmd))
  109 + operateInfo := ParseOperateInfo(controller.BaseController)
  110 + //cmd.OrgId = operateInfo.OrgId
  111 + cmd.CompanyId = operateInfo.CompanyId
  112 + cmd.InOrgIds = operateInfo.OrgIds
  113 + total, data, err := productPlanService.SearchProductPlan(ParseOperateInfo(controller.BaseController), cmd)
  114 + ResponseGrid(controller.BaseController, total, data, err)
  115 +}
@@ -24,7 +24,11 @@ func (controller *ProductSectionController) UpdateProductSection() { @@ -24,7 +24,11 @@ func (controller *ProductSectionController) UpdateProductSection() {
24 updateProductSectionCommand := &command.UpdateProductSectionCommand{} 24 updateProductSectionCommand := &command.UpdateProductSectionCommand{}
25 Must(controller.Unmarshal(updateProductSectionCommand)) 25 Must(controller.Unmarshal(updateProductSectionCommand))
26 sectionId, _ := controller.GetInt(":sectionId") 26 sectionId, _ := controller.GetInt(":sectionId")
  27 + lineId, _ := controller.GetInt("lineId")
  28 + workshopId, _ := controller.GetInt("workshopId")
27 updateProductSectionCommand.SectionId = sectionId 29 updateProductSectionCommand.SectionId = sectionId
  30 + updateProductSectionCommand.WorkshopId = workshopId
  31 + updateProductSectionCommand.LineId = lineId
28 data, err := productSectionService.UpdateProductSection(updateProductSectionCommand) 32 data, err := productSectionService.UpdateProductSection(updateProductSectionCommand)
29 controller.Response(data, err) 33 controller.Response(data, err)
30 } 34 }
  1 +package routers
  2 +
  3 +import (
  4 + "github.com/beego/beego/v2/server/web"
  5 + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/constant"
  6 +)
  7 +
  8 +func init() {
  9 + web.SetStaticPath("/log", constant.LOG_FILE)
  10 +}
@@ -16,4 +16,5 @@ func init() { @@ -16,4 +16,5 @@ func init() {
16 web.Router("/product-plans/set-online", &controllers.ProductPlanController{}, "Post:SetOnline") 16 web.Router("/product-plans/set-online", &controllers.ProductPlanController{}, "Post:SetOnline")
17 web.Router("/product-plans/switch", &controllers.ProductPlanController{}, "Post:Switch") 17 web.Router("/product-plans/switch", &controllers.ProductPlanController{}, "Post:Switch")
18 web.Router("/product-plans/submit-product-record", &controllers.ProductPlanController{}, "Post:SubmitProductRecord") 18 web.Router("/product-plans/submit-product-record", &controllers.ProductPlanController{}, "Post:SubmitProductRecord")
  19 + web.Router("/product-plans/search", &controllers.ProductPlanController{}, "Post:SearchProductPlan")
19 } 20 }