Browse Source

医保对接

csx 4 years ago
parent
commit
0b76f2e1e8

+ 112 - 23
controllers/his_api_controller.go View File

@@ -332,6 +332,8 @@ func (c *HisApiController) CreateHisPrescription() {
332 332
 						for _, advice := range advices {
333 333
 							var drug_id int64
334 334
 							var prescribing_number float64
335
+							var prescribingNumberUnit string
336
+
335 337
 							if advice.(map[string]interface{})["id"] != nil || reflect.TypeOf(advice.(map[string]interface{})["id"]).String() == "float64" {
336 338
 								drug_id = int64(advice.(map[string]interface{})["id"].(float64))
337 339
 							}
@@ -339,15 +341,29 @@ func (c *HisApiController) CreateHisPrescription() {
339 341
 								prescribing_number = advice.(map[string]interface{})["prescribing_number"].(float64)
340 342
 							}
341 343
 
344
+							if advice.(map[string]interface{})["prescribing_number_unit"] != nil && reflect.TypeOf(advice.(map[string]interface{})["prescribing_number_unit"]).String() == "string" {
345
+								prescribingNumberUnit, _ = advice.(map[string]interface{})["prescribing_number_unit"].(string)
346
+							}
347
+
342 348
 							drug, _ := service.FindBaseDrugLibRecord(adminInfo.CurrentOrgId, drug_id)
343 349
 							if drug.ID == 0 {
344 350
 								c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
345 351
 								return
346 352
 							}
347 353
 
348
-							if prescribing_number > drug.Total {
349
-								c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOutOfStockParamWrong)
350
-								return
354
+							if prescribingNumberUnit == drug.MinUnit {
355
+								if prescribing_number > drug.Total {
356
+									c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOutOfStockParamWrong)
357
+									return
358
+								}
359
+							} else {
360
+								if prescribingNumberUnit == drug.MaxUnit {
361
+									num := prescribing_number * float64(drug.MinNumber)
362
+									if num > drug.Total {
363
+										c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOutOfStockParamWrong)
364
+										return
365
+									}
366
+								}
351 367
 							}
352 368
 						}
353 369
 					}
@@ -355,7 +371,6 @@ func (c *HisApiController) CreateHisPrescription() {
355 371
 			}
356 372
 		}
357 373
 	}
358
-
359 374
 	info, _ := service.FindHisPatientPrescriptionInfo(adminInfo.CurrentOrgId, patient_id, recordDateTime, p_type, his_patient_id)
360 375
 	var hpInfo models.HisPrescriptionInfo
361 376
 	if info.ID == 0 {
@@ -893,11 +908,18 @@ func (c *HisApiController) DeletePrescription() {
893 908
 		if len(advices) > 0 {
894 909
 			for _, item := range advices {
895 910
 				drug, _ := service.FindBaseDrugLibRecord(c.GetAdminUserInfo().CurrentOrgId, item.DrugId)
896
-				drug.Total = drug.Total + item.PrescribingNumber
897
-				service.UpdateBaseDrugLib(&drug)
911
+				if item.PrescribingNumberUnit == drug.MinUnit {
912
+					drug.Total = drug.Total + item.PrescribingNumber
913
+					service.UpdateBaseDrugLib(&drug)
914
+				} else {
915
+					if item.PrescribingNumberUnit == drug.MaxUnit {
916
+						item.PrescribingNumber = item.PrescribingNumber * float64(drug.MinNumber)
917
+						drug.Total = drug.Total + item.PrescribingNumber
918
+						service.UpdateBaseDrugLib(&drug)
919
+					}
920
+				}
898 921
 			}
899 922
 		}
900
-
901 923
 		c.ServeSuccessJSON(map[string]interface{}{
902 924
 			"msg": "删除成功",
903 925
 		})
@@ -914,8 +936,20 @@ func (c *HisApiController) DeleteDoctorAdvice() {
914 936
 	err := service.DelelteDoctorAdvice(id, c.GetAdminUserInfo().CurrentOrgId)
915 937
 	if err == nil {
916 938
 		drug, _ := service.FindBaseDrugLibRecord(c.GetAdminUserInfo().CurrentOrgId, advice.DrugId)
917
-		drug.Total = drug.Total + advice.PrescribingNumber
918
-		service.UpdateBaseDrugLib(&drug)
939
+
940
+		if advice.PrescribingNumberUnit == drug.MinUnit {
941
+			drug.Total = drug.Total + advice.PrescribingNumber
942
+			service.UpdateBaseDrugLib(&drug)
943
+
944
+		} else {
945
+
946
+			if advice.PrescribingNumberUnit == drug.MaxUnit {
947
+				advice.PrescribingNumber = advice.PrescribingNumber * float64(drug.MinNumber)
948
+				drug.Total = drug.Total + advice.PrescribingNumber
949
+				service.UpdateBaseDrugLib(&drug)
950
+			}
951
+		}
952
+
919 953
 		c.ServeSuccessJSON(map[string]interface{}{
920 954
 			"msg": "删除成功",
921 955
 		})
@@ -1550,6 +1584,11 @@ func (c *HisApiController) setAdviceWithJSON(advice *models.HisDoctorAdviceInfo,
1550 1584
 		advice.PrescribingNumber = prescribingNumber
1551 1585
 	}
1552 1586
 
1587
+	if json["prescribing_number_unit"] != nil && reflect.TypeOf(json["prescribing_number_unit"]).String() == "string" {
1588
+		prescribingNumberUnit, _ := json["prescribing_number_unit"].(string)
1589
+		advice.PrescribingNumberUnit = prescribingNumberUnit
1590
+	}
1591
+
1553 1592
 	if json["advice_id"] != nil && reflect.TypeOf(json["advice_id"]).String() == "float64" {
1554 1593
 		advice_id := int64(json["advice_id"].(float64))
1555 1594
 		advice.ID = advice_id
@@ -1572,20 +1611,74 @@ func (c *HisApiController) setAdviceWithJSON(advice *models.HisDoctorAdviceInfo,
1572 1611
 
1573 1612
 	drug, _ := service.FindBaseDrugLibRecord(advice.UserOrgId, advice.DrugId)
1574 1613
 	if advice.ID == 0 { //医嘱不存在
1575
-		drug.Total = drug.Total - advice.PrescribingNumber
1576
-		service.UpdateBaseDrugLib(&drug)
1577
-	} else if advice.ID > 0 { //医嘱存在
1578
-		hisAdvice, _ := service.GetHisDoctorAdvicesById(advice.ID)
1579
-		var num float64
1580
-		if hisAdvice.PrescribingNumber > advice.PrescribingNumber {
1581
-			num = hisAdvice.PrescribingNumber - advice.PrescribingNumber
1582
-			drug.Total = drug.Total + num
1614
+		if advice.PrescribingNumberUnit == drug.MinUnit { //当前数据单位与基础库一致为最小单位,直接计算
1615
+			drug.Total = drug.Total - advice.PrescribingNumber
1583 1616
 			service.UpdateBaseDrugLib(&drug)
1584
-		} else if hisAdvice.PrescribingNumber < advice.PrescribingNumber {
1585
-			num = advice.PrescribingNumber - hisAdvice.PrescribingNumber
1617
+
1618
+		} else if advice.PrescribingNumberUnit == drug.MaxUnit { //当前数据单位为最大单位,需要将最大单位转为最小单位
1619
+			num := advice.PrescribingNumber * float64(drug.MinNumber)
1586 1620
 			drug.Total = drug.Total - num
1587 1621
 			service.UpdateBaseDrugLib(&drug)
1588 1622
 		}
1623
+
1624
+	} else if advice.ID > 0 { //医嘱存在
1625
+		hisAdvice, _ := service.GetHisDoctorAdvicesById(advice.ID)
1626
+		var num float64
1627
+
1628
+		if advice.PrescribingNumberUnit == drug.MinUnit { //当前数据为最小单位
1629
+			if hisAdvice.PrescribingNumberUnit == advice.PrescribingNumberUnit { //原数据为最小单位,三个单位一致为最小单位直接计算
1630
+				if hisAdvice.PrescribingNumber > advice.PrescribingNumber {
1631
+					num = hisAdvice.PrescribingNumber - advice.PrescribingNumber
1632
+					drug.Total = drug.Total + num
1633
+					service.UpdateBaseDrugLib(&drug)
1634
+				} else if hisAdvice.PrescribingNumber < advice.PrescribingNumber {
1635
+					num = advice.PrescribingNumber - hisAdvice.PrescribingNumber
1636
+					drug.Total = drug.Total - num
1637
+					service.UpdateBaseDrugLib(&drug)
1638
+				}
1639
+			} else { //原数据为最大单位,需要将最大单位数量转为最小单位数量
1640
+				num2 := hisAdvice.PrescribingNumber * float64(drug.MinNumber)
1641
+				if num2 > advice.PrescribingNumber {
1642
+					num = num2 - advice.PrescribingNumber
1643
+					drug.Total = drug.Total + num
1644
+					service.UpdateBaseDrugLib(&drug)
1645
+				} else if num2 < advice.PrescribingNumber {
1646
+					num = advice.PrescribingNumber - num2
1647
+					drug.Total = drug.Total - num
1648
+					service.UpdateBaseDrugLib(&drug)
1649
+				}
1650
+
1651
+			}
1652
+
1653
+		} else if advice.PrescribingNumberUnit == drug.MaxUnit { //当前数据为最大单位
1654
+			if advice.PrescribingNumberUnit == hisAdvice.PrescribingNumberUnit { //原数据为最大单位, 当前数据单位和原数据单位都为最大单位,需要将两个数据转成最小单位
1655
+				num1 := hisAdvice.PrescribingNumber * float64(drug.MinNumber)
1656
+				num2 := advice.PrescribingNumber * float64(drug.MinNumber)
1657
+				if num1 > num2 {
1658
+					num = num1 - num2
1659
+					drug.Total = drug.Total + num
1660
+					service.UpdateBaseDrugLib(&drug)
1661
+				} else if num1 < num2 {
1662
+					num = num2 - num1
1663
+					drug.Total = drug.Total - num
1664
+					service.UpdateBaseDrugLib(&drug)
1665
+				}
1666
+
1667
+			} else { //原数据为最小单位,当前数据为最大单位,需要将当前数据数量转为最小单位数量
1668
+				num2 := advice.PrescribingNumber * float64(drug.MinNumber)
1669
+				//num2 := hisAdvice.PrescribingNumber * (drug.Dose / float64(drug.MinNumber))
1670
+				if hisAdvice.PrescribingNumber > num2 {
1671
+					num = hisAdvice.PrescribingNumber - num2
1672
+					drug.Total = drug.Total + num
1673
+					service.UpdateBaseDrugLib(&drug)
1674
+				} else if num2 < advice.PrescribingNumber {
1675
+					num = num2 - hisAdvice.PrescribingNumber
1676
+					drug.Total = drug.Total - num
1677
+					service.UpdateBaseDrugLib(&drug)
1678
+				}
1679
+
1680
+			}
1681
+		}
1589 1682
 	}
1590 1683
 
1591 1684
 	//
@@ -1644,10 +1737,6 @@ func (c *HisApiController) setAdviceWithJSON(advice *models.HisDoctorAdviceInfo,
1644 1737
 		advice.SingleDoseUnit = singleDoseUnit
1645 1738
 	}
1646 1739
 
1647
-	if json["prescribing_number_unit"] != nil && reflect.TypeOf(json["prescribing_number_unit"]).String() == "string" {
1648
-		prescribingNumberUnit, _ := json["prescribing_number_unit"].(string)
1649
-		advice.PrescribingNumberUnit = prescribingNumberUnit
1650
-	}
1651 1740
 	if json["delivery_way"] != nil && reflect.TypeOf(json["delivery_way"]).String() == "string" {
1652 1741
 		deliveryWay, _ := json["delivery_way"].(string)
1653 1742
 		advice.DeliveryWay = deliveryWay

+ 113 - 25
controllers/new_mobile_api_controllers/mobile_his_api_controller.go View File

@@ -155,11 +155,20 @@ func (c *MobileHisApiController) DeletePrescription() {
155 155
 		}
156 156
 		if len(advices) > 0 {
157 157
 			for _, item := range advices {
158
-				drug, _ := service.FindBaseDrugLibRecord(c.GetAdminUserInfo().CurrentOrgId, item.DrugId)
159
-				drug.Total = drug.Total + item.PrescribingNumber
160
-				service.UpdateBaseDrugLib(&drug)
158
+				drug, _ := service.FindBaseDrugLibRecord(c.GetMobileAdminUserInfo().Org.Id, item.DrugId)
159
+				if item.PrescribingNumberUnit == drug.MinUnit {
160
+					drug.Total = drug.Total + item.PrescribingNumber
161
+					service.UpdateBaseDrugLib(&drug)
162
+				} else {
163
+					if item.PrescribingNumberUnit == drug.MaxUnit {
164
+						item.PrescribingNumber = item.PrescribingNumber * float64(drug.MinNumber)
165
+						drug.Total = drug.Total + item.PrescribingNumber
166
+						service.UpdateBaseDrugLib(&drug)
167
+					}
168
+				}
161 169
 			}
162 170
 		}
171
+
163 172
 		c.ServeSuccessJSON(map[string]interface{}{
164 173
 			"msg": "删除成功",
165 174
 		})
@@ -172,13 +181,19 @@ func (c *MobileHisApiController) DeletePrescription() {
172 181
 func (c *MobileHisApiController) DeleteDoctorAdvice() {
173 182
 	id, _ := c.GetInt64("id")
174 183
 	advice, _ := service.GetHisDoctorAdvicesById(id)
175
-
176
-	//TODO 需要判断是否已经结算
177 184
 	err := service.DelelteDoctorAdvice(id, c.GetMobileAdminUserInfo().Org.Id)
178 185
 	if err == nil {
179
-		drug, _ := service.FindBaseDrugLibRecord(c.GetMobileAdminUserInfo().CurrentOrgId, advice.DrugId)
180
-		drug.Total = drug.Total + advice.PrescribingNumber
181
-		service.UpdateBaseDrugLib(&drug)
186
+		drug, _ := service.FindBaseDrugLibRecord(c.GetMobileAdminUserInfo().Org.Id, advice.DrugId)
187
+		if advice.PrescribingNumberUnit == drug.MinUnit {
188
+			drug.Total = drug.Total + advice.PrescribingNumber
189
+			service.UpdateBaseDrugLib(&drug)
190
+		} else {
191
+			if advice.PrescribingNumberUnit == drug.MaxUnit {
192
+				advice.PrescribingNumber = advice.PrescribingNumber * float64(drug.MinNumber)
193
+				drug.Total = drug.Total + advice.PrescribingNumber
194
+				service.UpdateBaseDrugLib(&drug)
195
+			}
196
+		}
182 197
 		c.ServeSuccessJSON(map[string]interface{}{
183 198
 			"msg": "删除成功",
184 199
 		})
@@ -241,6 +256,8 @@ func (c *MobileHisApiController) CreateHisPrescription() {
241 256
 
242 257
 	role, _ := service.GetAdminUserInfoByID(adminInfo.Org.Id, doctor_id)
243 258
 
259
+	//校验库存总量
260
+
244 261
 	if dataBody["prescriptions"] != nil && reflect.TypeOf(dataBody["prescriptions"]).String() == "[]interface {}" {
245 262
 		prescriptions, _ := dataBody["prescriptions"].([]interface{})
246 263
 		if len(prescriptions) > 0 {
@@ -252,6 +269,8 @@ func (c *MobileHisApiController) CreateHisPrescription() {
252 269
 						for _, advice := range advices {
253 270
 							var drug_id int64
254 271
 							var prescribing_number float64
272
+							var prescribingNumberUnit string
273
+
255 274
 							if advice.(map[string]interface{})["id"] != nil || reflect.TypeOf(advice.(map[string]interface{})["id"]).String() == "float64" {
256 275
 								drug_id = int64(advice.(map[string]interface{})["id"].(float64))
257 276
 							}
@@ -259,15 +278,29 @@ func (c *MobileHisApiController) CreateHisPrescription() {
259 278
 								prescribing_number = advice.(map[string]interface{})["prescribing_number"].(float64)
260 279
 							}
261 280
 
281
+							if advice.(map[string]interface{})["prescribing_number_unit"] != nil && reflect.TypeOf(advice.(map[string]interface{})["prescribing_number_unit"]).String() == "string" {
282
+								prescribingNumberUnit, _ = advice.(map[string]interface{})["prescribing_number_unit"].(string)
283
+							}
284
+
262 285
 							drug, _ := service.FindBaseDrugLibRecord(adminInfo.Org.Id, drug_id)
263 286
 							if drug.ID == 0 {
264 287
 								c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeParamWrong)
265 288
 								return
266 289
 							}
267 290
 
268
-							if prescribing_number > drug.Total {
269
-								c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOutOfStockParamWrong)
270
-								return
291
+							if prescribingNumberUnit == drug.MinUnit {
292
+								if prescribing_number > drug.Total {
293
+									c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOutOfStockParamWrong)
294
+									return
295
+								}
296
+							} else {
297
+								if prescribingNumberUnit == drug.MaxUnit {
298
+									num := prescribing_number * float64(drug.MinNumber)
299
+									if num > drug.Total {
300
+										c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOutOfStockParamWrong)
301
+										return
302
+									}
303
+								}
271 304
 							}
272 305
 						}
273 306
 					}
@@ -596,22 +629,81 @@ func (c *MobileHisApiController) setAdviceWithJSON(advice *models.HisDoctorAdvic
596 629
 		advice.PrescribingNumber = prescribingNumber
597 630
 	}
598 631
 
632
+	if json["prescribing_number_unit"] != nil && reflect.TypeOf(json["prescribing_number_unit"]).String() == "string" {
633
+		prescribingNumberUnit, _ := json["prescribing_number_unit"].(string)
634
+		advice.PrescribingNumberUnit = prescribingNumberUnit
635
+	}
636
+
599 637
 	drug, _ := service.FindBaseDrugLibRecord(advice.UserOrgId, advice.DrugId)
600 638
 	if advice.ID == 0 { //医嘱不存在
601
-		drug.Total = drug.Total - advice.PrescribingNumber
602
-		service.UpdateBaseDrugLib(&drug)
603
-	} else if advice.ID > 0 { //医嘱存在
604
-		hisAdvice, _ := service.GetHisDoctorAdvicesById(advice.ID)
605
-		var num float64
606
-		if hisAdvice.PrescribingNumber > advice.PrescribingNumber {
607
-			num = hisAdvice.PrescribingNumber - advice.PrescribingNumber
608
-			drug.Total = drug.Total + num
639
+		if advice.PrescribingNumberUnit == drug.MinUnit { //当前数据单位与基础库一致为最小单位,直接计算
640
+			drug.Total = drug.Total - advice.PrescribingNumber
609 641
 			service.UpdateBaseDrugLib(&drug)
610
-		} else if hisAdvice.PrescribingNumber < advice.PrescribingNumber {
611
-			num = advice.PrescribingNumber - hisAdvice.PrescribingNumber
642
+
643
+		} else if advice.PrescribingNumberUnit == drug.MaxUnit { //当前数据单位为最大单位,需要将最大单位转为最小单位
644
+			num := advice.PrescribingNumber * float64(drug.MinNumber)
612 645
 			drug.Total = drug.Total - num
613 646
 			service.UpdateBaseDrugLib(&drug)
614 647
 		}
648
+
649
+	} else if advice.ID > 0 { //医嘱存在
650
+		hisAdvice, _ := service.GetHisDoctorAdvicesById(advice.ID)
651
+		var num float64
652
+
653
+		if advice.PrescribingNumberUnit == drug.MinUnit { //当前数据为最小单位
654
+			if advice.PrescribingNumberUnit == hisAdvice.PrescribingNumberUnit { //原数据为最小单位,三个单位一致为最小单位直接计算
655
+				if hisAdvice.PrescribingNumber > advice.PrescribingNumber {
656
+					num = hisAdvice.PrescribingNumber - advice.PrescribingNumber
657
+					drug.Total = drug.Total + num
658
+					service.UpdateBaseDrugLib(&drug)
659
+				} else if hisAdvice.PrescribingNumber < advice.PrescribingNumber {
660
+					num = advice.PrescribingNumber - hisAdvice.PrescribingNumber
661
+					drug.Total = drug.Total - num
662
+					service.UpdateBaseDrugLib(&drug)
663
+				}
664
+			} else { //原数据为最大单位,需要将最大单位数量转为最小单位数量
665
+				num2 := hisAdvice.PrescribingNumber * float64(drug.MinNumber)
666
+				if num2 > advice.PrescribingNumber {
667
+					num = num2 - advice.PrescribingNumber
668
+					drug.Total = drug.Total + num
669
+					service.UpdateBaseDrugLib(&drug)
670
+				} else if num2 < advice.PrescribingNumber {
671
+					num = advice.PrescribingNumber - num2
672
+					drug.Total = drug.Total - num
673
+					service.UpdateBaseDrugLib(&drug)
674
+				}
675
+
676
+			}
677
+
678
+		} else if advice.PrescribingNumberUnit == drug.MaxUnit { //当前数据为最大单位
679
+			if advice.PrescribingNumberUnit == hisAdvice.PrescribingNumberUnit { //原数据为最大单位, 当前数据单位和原数据单位都为最大单位,需要将两个数据转成最小单位
680
+				num1 := hisAdvice.PrescribingNumber * float64(drug.MinNumber)
681
+				num2 := advice.PrescribingNumber * float64(drug.MinNumber)
682
+				if num1 > num2 {
683
+					num = num1 - num2
684
+					drug.Total = drug.Total + num
685
+					service.UpdateBaseDrugLib(&drug)
686
+				} else if num1 < num2 {
687
+					num = num2 - num1
688
+					drug.Total = drug.Total - num
689
+					service.UpdateBaseDrugLib(&drug)
690
+				}
691
+
692
+			} else { //原数据为最小单位,当前数据为最大单位,需要将当前数据数量转为最小单位数量
693
+				num2 := advice.PrescribingNumber * float64(drug.MinNumber)
694
+				//num2 := hisAdvice.PrescribingNumber * (drug.Dose / float64(drug.MinNumber))
695
+				if hisAdvice.PrescribingNumber > num2 {
696
+					num = hisAdvice.PrescribingNumber - num2
697
+					drug.Total = drug.Total + num
698
+					service.UpdateBaseDrugLib(&drug)
699
+				} else if num2 < advice.PrescribingNumber {
700
+					num = num2 - hisAdvice.PrescribingNumber
701
+					drug.Total = drug.Total - num
702
+					service.UpdateBaseDrugLib(&drug)
703
+				}
704
+
705
+			}
706
+		}
615 707
 	}
616 708
 
617 709
 	//
@@ -670,10 +762,6 @@ func (c *MobileHisApiController) setAdviceWithJSON(advice *models.HisDoctorAdvic
670 762
 		advice.SingleDoseUnit = singleDoseUnit
671 763
 	}
672 764
 
673
-	if json["prescribing_number_unit"] != nil && reflect.TypeOf(json["prescribing_number_unit"]).String() == "string" {
674
-		prescribingNumberUnit, _ := json["prescribing_number_unit"].(string)
675
-		advice.PrescribingNumberUnit = prescribingNumberUnit
676
-	}
677 765
 	if json["delivery_way"] != nil && reflect.TypeOf(json["delivery_way"]).String() == "string" {
678 766
 		deliveryWay, _ := json["delivery_way"].(string)
679 767
 		advice.DeliveryWay = deliveryWay

+ 1 - 1
service/his_service.go View File

@@ -1857,7 +1857,7 @@ func GetHisPrescriptionProjectsByID(id int64) (projects []*models.HisPrescriptio
1857 1857
 }
1858 1858
 
1859 1859
 func GetHisPrescriptionProjects(user_org_id int64, patient_id int64, record_time int64) (projects []*models.HisPrescriptionProject, err error) {
1860
-	err = readDb.Model(&models.HisPrescriptionProject{}).Preload("GoodInfo", "status = 1").Where("user_org_id = ? AND patient_id = ? AND record_date = ? AND  status = 1", user_org_id, patient_id, record_time).Find(&projects).Error
1860
+	err = readDb.Model(&models.HisPrescriptionProject{}).Preload("HisProject", "status = 1").Preload("GoodInfo", "status = 1").Where("user_org_id = ? AND patient_id = ? AND record_date = ? AND  status = 1", user_org_id, patient_id, record_time).Find(&projects).Error
1861 1861
 	return
1862 1862
 }
1863 1863