正在显示
10 个修改的文件
包含
170 行增加
和
7 行删除
@@ -8,6 +8,8 @@ type ProductTroubleInfo struct { | @@ -8,6 +8,8 @@ type ProductTroubleInfo struct { | ||
8 | LineName string `json:"lineName"` // | 8 | LineName string `json:"lineName"` // |
9 | SectionId int `json:"sectionId"` //工段ID | 9 | SectionId int `json:"sectionId"` //工段ID |
10 | SectionName string `json:"sectionName"` // | 10 | SectionName string `json:"sectionName"` // |
11 | + WorkerId int `json:"workerId"` //员工id | ||
12 | + WorkerName string `json:"workerName"` //员工名称 | ||
11 | Remark string `json:"remark"` //备注 | 13 | Remark string `json:"remark"` //备注 |
12 | ProductDate string `json:"productDate"` //日期 | 14 | ProductDate string `json:"productDate"` //日期 |
13 | AmountLoss float64 `json:"amountLoss"` //损失的金额 | 15 | AmountLoss float64 `json:"amountLoss"` //损失的金额 |
1 | +package dto | ||
2 | + | ||
3 | +type ProductTroubleList struct { | ||
4 | + Id int `json:"id"` //id | ||
5 | + WorkshopId int `json:"workshopId"` //车间id | ||
6 | + WorkshopName string `json:"workshopName"` // | ||
7 | + LineId int `json:"lineId"` //生产线ID | ||
8 | + LineName string `json:"lineName"` // | ||
9 | + SectionId int `json:"sectionId"` //工段ID | ||
10 | + SectionName string `json:"sectionName"` // | ||
11 | + Remark string `json:"remark"` //备注 | ||
12 | + ProductDate string `json:"productDate"` //日期 | ||
13 | + AmountLoss float64 `json:"amountLoss"` //损失的金额 | ||
14 | + Types string `json:"types"` //事故类型 | ||
15 | + WorkerId int `json:"workerId"` //员工 | ||
16 | + WorkerName string `json:"workerName"` //员工名称 | ||
17 | + ApproveStatus int `json:"approveStatus"` //审核状态 | ||
18 | + ApproveStatusName string `json:"approveStatusName"` //审核状态 | ||
19 | +} |
1 | +package query | ||
2 | + | ||
3 | +type ListProductTrouble struct { | ||
4 | + // 当前公司 | ||
5 | + CompanyId int `cname:"当前公司" json:"companyId"` | ||
6 | + // 当前登录的组织 | ||
7 | + OrgId int `cname:"当前登录的组织" json:"orgId"` | ||
8 | + // 页码 | ||
9 | + PageNumber int `cname:"页码" json:"pageNumber"` | ||
10 | + // 页数 | ||
11 | + PageSize int `cname:"页数" json:"pageSize"` | ||
12 | + // 车间名称 | ||
13 | + WorkshopName string `cname:"车间名称" json:"workshopName"` | ||
14 | + //员工名称 | ||
15 | + WorkerName string `cname:"员工名称" json:"workerName"` | ||
16 | +} |
@@ -7,6 +7,7 @@ import ( | @@ -7,6 +7,7 @@ import ( | ||
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/productTrouble/command" | 8 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productTrouble/command" |
9 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productTrouble/dto" | 9 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productTrouble/dto" |
10 | + "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/application/productTrouble/query" | ||
10 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain" | 11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/domain" |
11 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/domainService" | 12 | "gitlab.fjmaimaimai.com/allied-creation/allied-creation-manufacture/pkg/infrastructure/domainService" |
12 | ) | 13 | ) |
@@ -137,6 +138,8 @@ func (srv ProductTroubleService) GetProductTrouble(id int) (*dto.ProductTroubleI | @@ -137,6 +138,8 @@ func (srv ProductTroubleService) GetProductTrouble(id int) (*dto.ProductTroubleI | ||
137 | ProductDate: troubleData.RecordData.Format("2006-01-02"), | 138 | ProductDate: troubleData.RecordData.Format("2006-01-02"), |
138 | AmountLoss: troubleData.AmountLoss, | 139 | AmountLoss: troubleData.AmountLoss, |
139 | Types: int(troubleData.Types), | 140 | Types: int(troubleData.Types), |
141 | + WorkerId: troubleData.ProductWorker.UserId, | ||
142 | + WorkerName: troubleData.ProductWorker.UserName, | ||
140 | } | 143 | } |
141 | return &result, nil | 144 | return &result, nil |
142 | } | 145 | } |
@@ -212,3 +215,68 @@ func (srv ProductTroubleService) ApproveProductTrouble(operateInfo *domain.Opera | @@ -212,3 +215,68 @@ func (srv ProductTroubleService) ApproveProductTrouble(operateInfo *domain.Opera | ||
212 | } | 215 | } |
213 | return nil | 216 | return nil |
214 | } | 217 | } |
218 | + | ||
219 | +// ListProductTrouble 事故管理列表 | ||
220 | +func (srv ProductTroubleService) ListProductTrouble(param *query.ListProductTrouble) (int64, []dto.ProductTroubleList, error) { | ||
221 | + transactionContext, err := factory.CreateTransactionContext(nil) | ||
222 | + if err != nil { | ||
223 | + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
224 | + } | ||
225 | + if err := transactionContext.StartTransaction(); err != nil { | ||
226 | + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
227 | + } | ||
228 | + defer func() { | ||
229 | + transactionContext.RollbackTransaction() | ||
230 | + }() | ||
231 | + | ||
232 | + productTroubleRepo, _ := factory.CreateProductTroubleRepository(map[string]interface{}{ | ||
233 | + "transactionContext": transactionContext, | ||
234 | + }) | ||
235 | + limit := param.PageSize | ||
236 | + offset := param.PageSize * (param.PageNumber - 1) | ||
237 | + condition := map[string]interface{}{ | ||
238 | + "limit": limit, | ||
239 | + "offsett": offset, | ||
240 | + "companyId": param.CompanyId, | ||
241 | + "orgId": param.OrgId, | ||
242 | + } | ||
243 | + | ||
244 | + if len(param.WorkerName) > 0 { | ||
245 | + condition["productWorkerName"] = param.WorkerName | ||
246 | + } | ||
247 | + | ||
248 | + if len(param.WorkshopName) > 0 { | ||
249 | + condition["workshopName"] = param.WorkshopName | ||
250 | + } | ||
251 | + cnt, troubleDataList, err := productTroubleRepo.Find(condition) | ||
252 | + if err != nil { | ||
253 | + return 0, nil, application.ThrowError(application.ARG_ERROR, "事故数据不存在,"+err.Error()) | ||
254 | + } | ||
255 | + if err := transactionContext.CommitTransaction(); err != nil { | ||
256 | + return 0, nil, application.ThrowError(application.TRANSACTION_ERROR, err.Error()) | ||
257 | + } | ||
258 | + | ||
259 | + result := []dto.ProductTroubleList{} | ||
260 | + var item dto.ProductTroubleList | ||
261 | + for _, v := range troubleDataList { | ||
262 | + item = dto.ProductTroubleList{ | ||
263 | + Id: v.Id, | ||
264 | + WorkshopId: v.WorkStation.WorkshopId, | ||
265 | + WorkshopName: v.WorkStation.WorkshopName, | ||
266 | + LineId: v.WorkStation.LineId, | ||
267 | + LineName: v.WorkStation.LineName, | ||
268 | + SectionId: v.WorkStation.SectionId, | ||
269 | + SectionName: v.WorkStation.SectionName, | ||
270 | + Remark: v.Remark, | ||
271 | + ProductDate: v.RecordData.Format("2006-01-02"), | ||
272 | + AmountLoss: v.AmountLoss, | ||
273 | + Types: v.GetTypesName(), | ||
274 | + WorkerId: v.ProductWorker.UserId, | ||
275 | + WorkerName: v.ProductWorker.UserName, | ||
276 | + ApproveStatus: int(v.ApproveStatus), | ||
277 | + ApproveStatusName: v.GetApproveStatusName(), | ||
278 | + } | ||
279 | + result = append(result, item) | ||
280 | + } | ||
281 | + return cnt, result, nil | ||
282 | +} |
@@ -8,12 +8,12 @@ import ( | @@ -8,12 +8,12 @@ import ( | ||
8 | // 事故管理数据结构 | 8 | // 事故管理数据结构 |
9 | type ProductTrouble struct { | 9 | type ProductTrouble struct { |
10 | Id int `json:"id"` // id | 10 | Id int `json:"id"` // id |
11 | - CompanyId int `json:"companyId"` //企业id | ||
12 | - OrgId int `json:"orgId"` //组织ID | 11 | + CompanyId int `json:"companyId"` // 企业id |
12 | + OrgId int `json:"orgId"` // 组织ID | ||
13 | WorkStation WorkStation `json:"workStation"` // 工作位置 | 13 | WorkStation WorkStation `json:"workStation"` // 工作位置 |
14 | ProductWorker User `json:"productWorker,omitempty"` // 生产工人 | 14 | ProductWorker User `json:"productWorker,omitempty"` // 生产工人 |
15 | AmountLoss float64 `json:"amountLoss"` // 损失的金额 | 15 | AmountLoss float64 `json:"amountLoss"` // 损失的金额 |
16 | - Types TroubleType `json:"types"` // 事故类型 | 16 | + Types TroubleType `json:"types"` // 事故类型 1 安全事故 ,2 质量事故, 3 金属事故 ,4 非金属事故 |
17 | RecordData time.Time `json:"recordData"` // 事故发生的日期 | 17 | RecordData time.Time `json:"recordData"` // 事故发生的日期 |
18 | Remark string `json:"remakr"` // 备注 | 18 | Remark string `json:"remakr"` // 备注 |
19 | ApproveStatus ProductTroubleApprove `json:"approveStatus"` // 审核状态 1:未审核 2:已审核 3.自动审核 | 19 | ApproveStatus ProductTroubleApprove `json:"approveStatus"` // 审核状态 1:未审核 2:已审核 3.自动审核 |
@@ -75,3 +75,27 @@ func (m *ProductTrouble) Approve(approveUser *User) error { | @@ -75,3 +75,27 @@ func (m *ProductTrouble) Approve(approveUser *User) error { | ||
75 | } | 75 | } |
76 | return nil | 76 | return nil |
77 | } | 77 | } |
78 | + | ||
79 | +func (m *ProductTrouble) GetApproveStatusName() string { | ||
80 | + switch m.ApproveStatus { | ||
81 | + case TroubleWaitApprove: | ||
82 | + return "未审核" | ||
83 | + case TroubleIsApprove: | ||
84 | + return "已审核" | ||
85 | + } | ||
86 | + return "" | ||
87 | +} | ||
88 | + | ||
89 | +func (m *ProductTrouble) GetTypesName() string { | ||
90 | + switch m.Types { | ||
91 | + case TroubleType1: | ||
92 | + return "安全事故" | ||
93 | + case TroubleType2: | ||
94 | + return "质量事故" | ||
95 | + case TroubleType3: | ||
96 | + return "金属事故" | ||
97 | + case TroubleType4: | ||
98 | + return "非金属事故" | ||
99 | + } | ||
100 | + return "" | ||
101 | +} |
@@ -53,6 +53,7 @@ func init() { | @@ -53,6 +53,7 @@ func init() { | ||
53 | (*models.ProductMaterial)(nil), | 53 | (*models.ProductMaterial)(nil), |
54 | (*models.RewardStandard)(nil), | 54 | (*models.RewardStandard)(nil), |
55 | (*models.RewardRule)(nil), | 55 | (*models.RewardRule)(nil), |
56 | + (*models.ProductTrouble)(nil), | ||
56 | } { | 57 | } { |
57 | err := DB.Model(model).CreateTable(&orm.CreateTableOptions{ | 58 | err := DB.Model(model).CreateTable(&orm.CreateTableOptions{ |
58 | Temp: false, | 59 | Temp: false, |
@@ -102,14 +102,29 @@ func (repo *ProductTroubleRepository) Find(queryOptions map[string]interface{}) | @@ -102,14 +102,29 @@ func (repo *ProductTroubleRepository) Find(queryOptions map[string]interface{}) | ||
102 | query := tx.Model(&m). | 102 | query := tx.Model(&m). |
103 | Where("deleted_at isnull"). | 103 | Where("deleted_at isnull"). |
104 | Limit(20) | 104 | Limit(20) |
105 | - if v, ok := queryOptions["limit"].(int); ok { | 105 | + if v, ok := queryOptions["limit"].(int); ok && v > 0 { |
106 | query.Limit(v) | 106 | query.Limit(v) |
107 | } | 107 | } |
108 | 108 | ||
109 | - if v, ok := queryOptions["offset"].(int); ok { | 109 | + if v, ok := queryOptions["offset"].(int); ok && v >= 0 { |
110 | query.Offset(v) | 110 | query.Offset(v) |
111 | } | 111 | } |
112 | 112 | ||
113 | + if v, ok := queryOptions["companyId"]; ok { | ||
114 | + query.Where("company_id=?", v) | ||
115 | + } | ||
116 | + if v, ok := queryOptions["orgId"]; ok { | ||
117 | + query.Where("org_id=?", v) | ||
118 | + } | ||
119 | + | ||
120 | + if v, ok := queryOptions["workshopName"]; ok && len(v.(string)) > 0 { | ||
121 | + query.Where(`Work_station->>'workshopName' like '%?%'`, v) | ||
122 | + } | ||
123 | + | ||
124 | + if v, ok := queryOptions["productWorkerName"]; ok { | ||
125 | + query.Where(`product_worker->>'userName' like '%?%'`, v) | ||
126 | + } | ||
127 | + | ||
113 | cnt, err := query.SelectAndCount() | 128 | cnt, err := query.SelectAndCount() |
114 | if err != nil { | 129 | if err != nil { |
115 | return 0, nil, err | 130 | return 0, nil, err |
@@ -114,6 +114,12 @@ func (repo *RewardStandardRepository) Find(queryOptions map[string]interface{}) | @@ -114,6 +114,12 @@ func (repo *RewardStandardRepository) Find(queryOptions map[string]interface{}) | ||
114 | if v, ok := queryOptions["limit"].(int); ok { | 114 | if v, ok := queryOptions["limit"].(int); ok { |
115 | query.Limit(v) | 115 | query.Limit(v) |
116 | } | 116 | } |
117 | + if v, ok := queryOptions["companyId"]; ok { | ||
118 | + query.Where("company_id=?", v) | ||
119 | + } | ||
120 | + if v, ok := queryOptions["orgId"]; ok { | ||
121 | + query.Where("org_id=?", v) | ||
122 | + } | ||
117 | 123 | ||
118 | if v, ok := queryOptions["offset"].(int); ok { | 124 | if v, ok := queryOptions["offset"].(int); ok { |
119 | query.Offset(v) | 125 | query.Offset(v) |
@@ -43,10 +43,22 @@ func (c *ProductTroubleController) GetProductTrouble() { | @@ -43,10 +43,22 @@ func (c *ProductTroubleController) GetProductTrouble() { | ||
43 | } | 43 | } |
44 | 44 | ||
45 | // 删除事故记录 | 45 | // 删除事故记录 |
46 | -func (c RewardStandardController) DeleteProductTrouble() { | 46 | +func (c *ProductTroubleController) DeleteProductTrouble() { |
47 | srv := service.NewProductTroubleService(nil) | 47 | srv := service.NewProductTroubleService(nil) |
48 | getQuery := &query.GetProductTroubleQuery{} | 48 | getQuery := &query.GetProductTroubleQuery{} |
49 | Must(c.Unmarshal(getQuery)) | 49 | Must(c.Unmarshal(getQuery)) |
50 | err := srv.DeleteProductTrouble(int64(getQuery.Id)) | 50 | err := srv.DeleteProductTrouble(int64(getQuery.Id)) |
51 | c.Response(nil, err) | 51 | c.Response(nil, err) |
52 | } | 52 | } |
53 | + | ||
54 | +// 获取事故记录列表 | ||
55 | +func (c *ProductTroubleController) ListProductTrouble() { | ||
56 | + srv := service.NewProductTroubleService(nil) | ||
57 | + getQuery := query.ListProductTrouble{} | ||
58 | + Must(c.Unmarshal(&getQuery)) | ||
59 | + operater := ParseOperateInfo(c.BaseController) | ||
60 | + getQuery.CompanyId = operater.CompanyId | ||
61 | + getQuery.OrgId = operater.OrgId | ||
62 | + total, data, err := srv.ListProductTrouble(&getQuery) | ||
63 | + ResponseGrid(c.BaseController, total, data, err) | ||
64 | +} |
@@ -10,5 +10,5 @@ func init() { | @@ -10,5 +10,5 @@ func init() { | ||
10 | web.Router("/product_trouble/:id", &controllers.ProductTroubleController{}, "Put:UpdateProductTrouble") | 10 | web.Router("/product_trouble/:id", &controllers.ProductTroubleController{}, "Put:UpdateProductTrouble") |
11 | web.Router("/product_trouble/:id", &controllers.ProductTroubleController{}, "Get:GetProductTrouble") | 11 | web.Router("/product_trouble/:id", &controllers.ProductTroubleController{}, "Get:GetProductTrouble") |
12 | web.Router("/product_trouble/remove", &controllers.ProductTroubleController{}, "Post:DeleteProductTrouble") | 12 | web.Router("/product_trouble/remove", &controllers.ProductTroubleController{}, "Post:DeleteProductTrouble") |
13 | - // web.Router("/reward-standard/search", &controllers.RewardStandardController{}, "Post:ListRewardStandard") | 13 | + web.Router("/product_trouble/search", &controllers.ProductTroubleController{}, "Post:ListProductTrouble") |
14 | } | 14 | } |
-
请 注册 或 登录 后发表评论