XMLWAN 3 years ago
parent
commit
48049d5f67

+ 144 - 0
controllers/new_mobile_api_controllers/common_api_controller.go View File

@@ -7,6 +7,7 @@ import (
7 7
 	"XT_New/service"
8 8
 	"encoding/json"
9 9
 	"fmt"
10
+	"github.com/jinzhu/gorm"
10 11
 	"strconv"
11 12
 	"time"
12 13
 )
@@ -176,3 +177,146 @@ func (this *CommonApiController) DeleteConfiguration() {
176 177
 	this.ServeSuccessJSON(returnData)
177 178
 	return
178 179
 }
180
+
181
+func (this *CommonApiController) GetAllInspectiondata() {
182
+	adminUser := this.GetAdminUserInfo()
183
+	orgid := adminUser.CurrentOrgId
184
+
185
+	//查询该机构是否有数据
186
+	_, errcode := service.GetAllInspectionData(orgid)
187
+	if errcode == gorm.ErrRecordNotFound {
188
+		inspection, err := service.GetAllInspectiondatatwo(0)
189
+		if err != nil {
190
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
191
+			return
192
+		}
193
+		this.ServeSuccessJSON(map[string]interface{}{
194
+			"inspection": inspection,
195
+		})
196
+	} else if errcode == nil {
197
+		inspection, err := service.GetAllInspectiondatatwo(orgid)
198
+		if err != nil {
199
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
200
+			return
201
+		}
202
+		this.ServeSuccessJSON(map[string]interface{}{
203
+			"inspection": inspection,
204
+		})
205
+	}
206
+
207
+}
208
+
209
+func (this *CommonApiController) SaveCheckConfiguration() {
210
+	dataBody := make(map[string]interface{}, 0)
211
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
212
+	fmt.Println("err", err)
213
+	adminUser := this.GetAdminUserInfo()
214
+	orgid := adminUser.CurrentOrgId
215
+	inspectionmajor := int64(dataBody["inspectionMajor"].(float64))
216
+	fmt.Println("大项", inspectionmajor)
217
+	frequency := dataBody["frequency"].(string)
218
+	fmt.Println("凭次", frequency)
219
+	sort := dataBody["sort"].(string)
220
+	sorts, err := strconv.ParseInt(sort, 10, 64)
221
+	fmt.Println("sort", sort)
222
+	_, errcode := service.GetInspectionMajorById(inspectionmajor)
223
+	if errcode == gorm.ErrRecordNotFound {
224
+		configuration := models.XtCheckConfiguration{
225
+			InspectionMajor:     inspectionmajor,
226
+			InspectionFrequency: frequency,
227
+			Sort:                sorts,
228
+			UserOrgId:           orgid,
229
+			Status:              1,
230
+			CreatedTime:         time.Now().Unix(),
231
+		}
232
+		err := service.CreateCheckConfiguration(&configuration)
233
+		if err != nil {
234
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
235
+			return
236
+		}
237
+		this.ServeSuccessJSON(map[string]interface{}{
238
+			"configuration": configuration,
239
+		})
240
+	} else if errcode == nil {
241
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
242
+		return
243
+	}
244
+}
245
+
246
+func (this *CommonApiController) GetAllCheckList() {
247
+	adminUser := this.GetAdminUserInfo()
248
+	orgid := adminUser.CurrentOrgId
249
+	fmt.Println("org", orgid)
250
+	page, _ := this.GetInt64("page")
251
+	limit, _ := this.GetInt64("limit")
252
+	checkList, total, err := service.GetAllCheckList(orgid, page, limit)
253
+	if err != nil {
254
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
255
+		return
256
+	}
257
+	this.ServeSuccessJSON(map[string]interface{}{
258
+		"checklist": checkList,
259
+		"total":     total,
260
+	})
261
+}
262
+
263
+func (this *CommonApiController) GetCheckdetail() {
264
+
265
+	id, _ := this.GetInt64("id")
266
+	detail, err := service.GetCheckDetail(id)
267
+	if err != nil {
268
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
269
+		return
270
+	}
271
+	this.ServeSuccessJSON(map[string]interface{}{
272
+		"checkdetail": detail,
273
+	})
274
+}
275
+
276
+func (this *CommonApiController) UpdateCheck() {
277
+	id, _ := this.GetInt64("id")
278
+	fmt.Println(id)
279
+	dataBody := make(map[string]interface{}, 0)
280
+	err := json.Unmarshal(this.Ctx.Input.RequestBody, &dataBody)
281
+	fmt.Println(err)
282
+	inspectionmajor := int64(dataBody["inspectionMajor"].(float64))
283
+	fmt.Println("大项", inspectionmajor)
284
+	frequency := dataBody["frequency"].(string)
285
+	fmt.Println("凭次", frequency)
286
+	sort := int64(dataBody["sort"].(float64))
287
+	fmt.Println("sort", sort)
288
+
289
+	Inspection, err := service.GetInspectionMajorById(inspectionmajor)
290
+	if Inspection.ID > 0 && Inspection.ID != id {
291
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
292
+		return
293
+	}
294
+
295
+	configuration := models.XtCheckConfiguration{
296
+		InspectionMajor:     inspectionmajor,
297
+		InspectionFrequency: frequency,
298
+		Sort:                sort,
299
+	}
300
+
301
+	err = service.UpdateCheck(&configuration, id)
302
+	if err != nil {
303
+		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
304
+		return
305
+	}
306
+	this.ServeSuccessJSON(map[string]interface{}{
307
+		"configuration": configuration,
308
+	})
309
+}
310
+
311
+func (this *CommonApiController) DeleteCheck() {
312
+	id, _ := this.GetInt64("id")
313
+	err := service.DeleteCheck(id)
314
+	if err != nil {
315
+		this.ServeFailJsonSend(enums.ErrorCodeDBDelete, "删除失败")
316
+		return
317
+	}
318
+	returnData := make(map[string]interface{}, 0)
319
+	returnData["msg"] = "ok"
320
+	this.ServeSuccessJSON(returnData)
321
+	return
322
+}

+ 6 - 0
controllers/new_mobile_api_controllers/common_api_router.go View File

@@ -15,4 +15,10 @@ func CommonApiControllersRegisterRouters() {
15 15
 	beego.Router("com/api/getallinspectionminor", &CommonApiController{}, "Get:GetAllInspectionminor")
16 16
 	beego.Router("com/api/updateconfiguration", &CommonApiController{}, "Post:UpdateConfiguration")
17 17
 	beego.Router("com/api/deleteconfiguration", &CommonApiController{}, "Delete:DeleteConfiguration")
18
+	beego.Router("com/api/getallinspectiondata", &CommonApiController{}, "Get:GetAllInspectiondata")
19
+	beego.Router("/com/api/savecheckconfiguration", &CommonApiController{}, "Post:SaveCheckConfiguration")
20
+	beego.Router("/com/api/getallchecklist", &CommonApiController{}, "Get:GetAllCheckList")
21
+	beego.Router("/com/api/getcheckdetail", &CommonApiController{}, "Get:GetCheckdetail")
22
+	beego.Router("/com/api/updatecheck", &CommonApiController{}, "Post:UpdateCheck")
23
+	beego.Router("/com/api/deletecheck", &CommonApiController{}, "Delete:DeleteCheck")
18 24
 }

+ 27 - 0
models/common_models.go View File

@@ -32,3 +32,30 @@ type XtQualityControlStandard struct {
32 32
 func (XtQualityControlStandard) TableName() string {
33 33
 	return "xt_quality_control_standard"
34 34
 }
35
+
36
+type CheckConfiguration struct {
37
+	ID                  int64  `gorm:"column:id" json:"id" form:"id"`
38
+	InspectionMajor     int64  `gorm:"column:inspection_major" json:"inspection_major" form:"inspection_major"`
39
+	InspectionFrequency string `gorm:"column:inspection_frequency" json:"inspection_frequency" form:"inspection_frequency"`
40
+	Sort                int64  `gorm:"column:sort" json:"sort" form:"sort"`
41
+	UserOrgId           int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
42
+	Status              int64  `gorm:"column:status" json:"status" form:"status"`
43
+	CreatedTime         int64  `gorm:"column:created_time" json:"created_time" form:"created_time"`
44
+	UpdatedTime         int64  `gorm:"column:updated_time" json:"updated_time" form:"updated_time"`
45
+	ProjectName         string `gorm:"column:project_name" json:"project_name" form:"project_name"`
46
+}
47
+
48
+type XtCheckConfiguration struct {
49
+	ID                  int64  `gorm:"column:id" json:"id" form:"id"`
50
+	InspectionMajor     int64  `gorm:"column:inspection_major" json:"inspection_major" form:"inspection_major"`
51
+	InspectionFrequency string `gorm:"column:inspection_frequency" json:"inspection_frequency" form:"inspection_frequency"`
52
+	Sort                int64  `gorm:"column:sort" json:"sort" form:"sort"`
53
+	UserOrgId           int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
54
+	Status              int64  `gorm:"column:status" json:"status" form:"status"`
55
+	CreatedTime         int64  `gorm:"column:created_time" json:"created_time" form:"created_time"`
56
+	UpdatedTime         int64  `gorm:"column:updated_time" json:"updated_time" form:"updated_time"`
57
+}
58
+
59
+func (XtCheckConfiguration) TableName() string {
60
+	return "xt_check_configuration"
61
+}

+ 69 - 0
service/common_service.go View File

@@ -3,6 +3,7 @@ package service
3 3
 import (
4 4
 	"XT_New/models"
5 5
 	"fmt"
6
+	"github.com/jinzhu/gorm"
6 7
 	"time"
7 8
 )
8 9
 
@@ -67,3 +68,71 @@ func DeleteConfiguration(id int64) (err error) {
67 68
 	err = XTWriteDB().Model(models.XtQualityControlStandard{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "updated_time": time.Now().Unix()}).Error
68 69
 	return err
69 70
 }
71
+
72
+func GetAllInspectionData(orgid int64) (*models.XtInspectionReference, error) {
73
+	diseases := models.XtInspectionReference{}
74
+	err := XTReadDB().Model(&diseases).Where("org_id = ? and status = 1", orgid).Find(&diseases).Error
75
+	if err == gorm.ErrRecordNotFound {
76
+		return nil, err
77
+	}
78
+	if err != nil {
79
+		return nil, err
80
+	}
81
+	return &diseases, nil
82
+}
83
+
84
+func GetAllInspectiondatatwo(orgid int64) (reference []*models.XtInspectionReference, err error) {
85
+
86
+	err = XTReadDB().Model(&reference).Where("org_id = ? and status = 1", orgid).Group("project_name").Find(&reference).Error
87
+	return reference, err
88
+}
89
+
90
+func GetInspectionMajorById(marjor int64) (*models.XtCheckConfiguration, error) {
91
+	configuration := models.XtCheckConfiguration{}
92
+	err := XTReadDB().Model(&configuration).Where("inspection_major = ? and status =1", marjor).Find(&configuration).Error
93
+	if err == gorm.ErrRecordNotFound {
94
+		return nil, err
95
+	}
96
+	if err != nil {
97
+		return nil, err
98
+	}
99
+	return &configuration, nil
100
+}
101
+
102
+func CreateCheckConfiguration(configuration *models.XtCheckConfiguration) error {
103
+	err := XTWriteDB().Create(&configuration).Error
104
+	return err
105
+}
106
+
107
+func GetAllCheckList(orgid int64, page int64, limit int64) (check []*models.CheckConfiguration, total int64, err error) {
108
+
109
+	db := XTReadDB().Table("xt_check_configuration as x").Where("x.status =1")
110
+	table := XTReadDB().Table("xt_inspection_reference as r")
111
+	fmt.Println(table)
112
+	if orgid > 0 {
113
+		db = db.Where("x.user_org_id = ?", orgid)
114
+	}
115
+	offset := (page - 1) * limit
116
+	err = db.Group("x.id").Order("x.sort asc,x.created_time desc").Select("x.id,x.inspection_major,x.inspection_frequency,x.sort,x.user_org_id,r.project_name").Count(&total).
117
+		Joins("left join xt_inspection_reference as r on r.project_id = x.inspection_major").Offset(offset).Limit(limit).Scan(&check).Error
118
+	return check, total, err
119
+}
120
+
121
+func GetCheckDetail(id int64) (models.XtCheckConfiguration, error) {
122
+
123
+	configuration := models.XtCheckConfiguration{}
124
+	err := XTReadDB().Model(&configuration).Where("id=? and status =1", id).Find(&configuration).Error
125
+	return configuration, err
126
+}
127
+
128
+func UpdateCheck(con *models.XtCheckConfiguration, id int64) error {
129
+
130
+	err := XTWriteDB().Model(&con).Where("id=?", id).Updates(map[string]interface{}{"inspection_major": con.InspectionMajor, "inspection_frequency": con.InspectionFrequency, "sort": con.Sort, "updated_time": time.Now().Unix()}).Error
131
+	return err
132
+}
133
+
134
+func DeleteCheck(id int64) error {
135
+
136
+	err := XTWriteDB().Model(models.XtCheckConfiguration{}).Where("id=?", id).Updates(map[string]interface{}{"status": 0, "updated_time": time.Now().Unix()}).Error
137
+	return err
138
+}