Browse Source

医保对接

csx 3 years ago
parent
commit
e0d3511490

+ 14 - 1
controllers/his_api_controller.go View File

@@ -3120,9 +3120,22 @@ func (this *HisApiController) GetHisDayPrescription() {
3120 3120
 	end_time := this.GetString("end_time")
3121 3121
 	p_type, _ := this.GetInt64("p_type")
3122 3122
 
3123
+	order_status, _ := this.GetInt64("type")
3124
+
3123 3125
 	endtime, _ := time.ParseInLocation(timeLayout+" 15:04:05", end_time+" 23:59:59", loc)
3124 3126
 	adminUserInfo := this.GetAdminUserInfo()
3125
-	dayHisPrescription, err := service.GetMonthHisPrescriptionThree(adminUserInfo.CurrentOrgId, patient_id, startime.Unix(), endtime.Unix(), p_type)
3127
+
3128
+	var dayHisPrescription []*models.HisPrescription
3129
+	var err error
3130
+	if order_status == 1 || order_status == 0 {
3131
+
3132
+		dayHisPrescription, err = service.GetUnChargeMonthHisPrescriptionSix(adminUserInfo.CurrentOrgId, patient_id, startime.Unix(), endtime.Unix(), p_type)
3133
+
3134
+	} else if order_status == 2 {
3135
+		dayHisPrescription, err = service.GetChargeMonthHisPrescriptionSix(adminUserInfo.CurrentOrgId, patient_id, startime.Unix(), endtime.Unix(), p_type)
3136
+
3137
+	}
3138
+
3126 3139
 	if err == nil {
3127 3140
 		this.ServeSuccessJSON(map[string]interface{}{
3128 3141
 			"day_prescription": dayHisPrescription,

+ 32 - 0
service/his_service.go View File

@@ -1875,3 +1875,35 @@ func UpdateGoodInfo(good_info *models.GoodInfo) (err error) {
1875 1875
 	err = writeDb.Save(&good_info).Error
1876 1876
 	return
1877 1877
 }
1878
+
1879
+func GetUnChargeMonthHisPrescriptionSix(org_id int64, patient_id int64, start_date int64, end_date int64, p_type int64) (prescription []*models.HisPrescription, err error) {
1880
+	err = readDb.Model(&models.HisPrescription{}).
1881
+		Preload("HisAdditionalCharge", func(db *gorm.DB) *gorm.DB {
1882
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("XtHisAddtionConfig", "status=1")
1883
+		}).
1884
+		Preload("HisDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
1885
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("Drug", "status=1")
1886
+		}).
1887
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
1888
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisProject").Preload("GoodInfo", "status=1")
1889
+		}).
1890
+		Where("user_org_id = ? AND status = 1 AND record_date >= ? AND record_date <= ? AND patient_id = ?  AND p_type = ? AND order_status <> 2 ", org_id, start_date, end_date, patient_id, p_type).
1891
+		Find(&prescription).Error
1892
+	return
1893
+}
1894
+
1895
+func GetChargeMonthHisPrescriptionSix(org_id int64, patient_id int64, start_date int64, end_date int64, p_type int64) (prescription []*models.HisPrescription, err error) {
1896
+	err = readDb.Model(&models.HisPrescription{}).
1897
+		Preload("HisAdditionalCharge", func(db *gorm.DB) *gorm.DB {
1898
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("XtHisAddtionConfig", "status=1")
1899
+		}).
1900
+		Preload("HisDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
1901
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("Drug", "status=1")
1902
+		}).
1903
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
1904
+			return db.Where("status = 1 AND user_org_id = ?", org_id).Preload("HisProject").Preload("GoodInfo", "status=1")
1905
+		}).
1906
+		Where("user_org_id = ? AND status = 1 AND record_date >= ? AND record_date <= ? AND patient_id = ?  AND p_type = ? AND order_status == 2 ", org_id, start_date, end_date, patient_id, p_type).
1907
+		Find(&prescription).Error
1908
+	return
1909
+}

+ 12 - 13
service/mobile_dialysis_service.go View File

@@ -730,7 +730,7 @@ type MScheduleDoctorAdviceVM struct {
730 730
 	ScheduleType           int64                            `gorm:"column:schedule_type" json:"schedule_type"`
731 731
 	ModeId                 int64                            `gorm:"column:mode_id" json:"mode_id"`
732 732
 	Status                 int64                            `gorm:"column:status" json:"status"`
733
-	DialysisOrder          *MDialysisOrderVM                `gorm:"ForeignKey:DialysisDate,PatientId;AssociationForeignKey:ScheduleDate,PatientId" json:"dialysis_order"`
733
+	DialysisOrder          *MDialysisOrderVM                `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"dialysis_order"`
734 734
 	SchedualPatient        *MSchedualPatientVM              `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"patient"`
735 735
 	DeviceNumber           *MDeviceNumberVM                 `gorm:"ForeignKey:BedId" json:"device_number"`
736 736
 	DoctorAdvices          []*MDoctorAdviceVM               `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"doctor_advice"`
@@ -871,7 +871,7 @@ func MobileGetScheduleDoctorAdvices(orgID int64, scheduleDate int64, adviceType
871 871
 		Table("xt_schedule").
872 872
 		Preload("SchedualPatient", "status = 1 AND user_org_id = ?", orgID).
873 873
 		Preload("DialysisOrder", func(db *gorm.DB) *gorm.DB {
874
-			return db.Where("status = 1 AND user_org_id = ?", orgID).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
874
+			return db.Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
875 875
 		}).
876 876
 		Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
877 877
 		Preload("DeviceNumber.Zone", "status = 1 AND org_id = ?", orgID).
@@ -896,7 +896,7 @@ func GetHisDoctorAdvices(orgID int64, scheduleDate int64, deliverWay string, pat
896 896
 				Table("xt_schedule").
897 897
 				Preload("SchedualPatient", "status = 1 AND user_org_id = ?", orgID).
898 898
 				Preload("DialysisOrder", func(db *gorm.DB) *gorm.DB {
899
-					return db.Where("status = 1 AND user_org_id = ?", orgID).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
899
+					return db.Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
900 900
 				}).
901 901
 				Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
902 902
 				Preload("DeviceNumber.Zone", "status = 1 AND org_id = ?", orgID).
@@ -914,7 +914,7 @@ func GetHisDoctorAdvices(orgID int64, scheduleDate int64, deliverWay string, pat
914 914
 				Table("xt_schedule").
915 915
 				Preload("SchedualPatient", "status = 1 AND user_org_id = ?", orgID).
916 916
 				Preload("DialysisOrder", func(db *gorm.DB) *gorm.DB {
917
-					return db.Where("status = 1 AND user_org_id = ?", orgID).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
917
+					return db.Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
918 918
 				}).
919 919
 				Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
920 920
 				Preload("DeviceNumber.Zone", "status = 1 AND org_id = ?", orgID).
@@ -934,7 +934,7 @@ func GetHisDoctorAdvices(orgID int64, scheduleDate int64, deliverWay string, pat
934 934
 				Table("xt_schedule").
935 935
 				Preload("SchedualPatient", "status = 1 AND user_org_id = ?", orgID).
936 936
 				Preload("DialysisOrder", func(db *gorm.DB) *gorm.DB {
937
-					return db.Where("status = 1 AND user_org_id = ?", orgID).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
937
+					return db.Where("status = 1 AND user_org_id = ? and dialysis_date = ?", orgID, scheduleDate).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
938 938
 				}).
939 939
 				Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
940 940
 				Preload("DeviceNumber.Zone", "status = 1 AND org_id = ?", orgID).
@@ -947,13 +947,12 @@ func GetHisDoctorAdvices(orgID int64, scheduleDate int64, deliverWay string, pat
947 947
 			}
948 948
 			err = db.Find(&vms).Error
949 949
 		}
950
-		fmt.Println("patin34te2222222222222222222", patientType)
951 950
 		if patientType > 0 {
952 951
 			db := readDb.
953 952
 				Table("xt_schedule").
954 953
 				Preload("SchedualPatient", "status = 1 AND user_org_id = ?", orgID).
955 954
 				Preload("DialysisOrder", func(db *gorm.DB) *gorm.DB {
956
-					return db.Where("status = 1 AND user_org_id = ?", orgID).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
955
+					return db.Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
957 956
 				}).
958 957
 				Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
959 958
 				Preload("DeviceNumber.Zone", "status = 1 AND org_id = ?", orgID).
@@ -979,7 +978,7 @@ func GetMobileHisPrescriptionProject(orgID int64, scheduleDate int64, deliverWay
979 978
 			Table("xt_schedule").
980 979
 			Preload("SchedualPatient", "status = 1 AND user_org_id = ?", orgID).
981 980
 			Preload("DialysisOrder", func(db *gorm.DB) *gorm.DB {
982
-				return db.Where("status = 1 AND user_org_id = ?", orgID).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
981
+				return db.Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
983 982
 			}).
984 983
 			Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
985 984
 			Preload("DeviceNumber.Zone", "status = 1 AND org_id = ?", orgID).
@@ -999,7 +998,7 @@ func GetMobileHisPrescriptionProject(orgID int64, scheduleDate int64, deliverWay
999 998
 			Table("xt_schedule").
1000 999
 			Preload("SchedualPatient", "status = 1 AND user_org_id = ?", orgID).
1001 1000
 			Preload("DialysisOrder", func(db *gorm.DB) *gorm.DB {
1002
-				return db.Where("status = 1 AND user_org_id = ?", orgID).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
1001
+				return db.Where("status = 1 AND user_org_id = ? AND dialysis_date = ?", orgID, scheduleDate).Preload("DeviceNumber", "status = 1 AND org_id= ?", orgID)
1003 1002
 			}).
1004 1003
 			Preload("DeviceNumber", "status = 1 AND org_id = ?", orgID).
1005 1004
 			Preload("DeviceNumber.Zone", "status = 1 AND org_id = ?", orgID).
@@ -1834,7 +1833,7 @@ type HisMScheduleDoctorAdviceVM struct {
1834 1833
 	ScheduleType           int64                            `gorm:"column:schedule_type" json:"schedule_type"`
1835 1834
 	ModeId                 int64                            `gorm:"column:mode_id" json:"mode_id"`
1836 1835
 	Status                 int64                            `gorm:"column:status" json:"status"`
1837
-	DialysisOrder          *MDialysisOrderVM                `gorm:"ForeignKey:DialysisDate,PatientId;AssociationForeignKey:ScheduleDate,PatientId" json:"dialysis_order"`
1836
+	DialysisOrder          *MDialysisOrderVM                `gorm:"ForeignKeyPatientId;AssociationForeignKey:PatientId" json:"dialysis_order"`
1838 1837
 	SchedualPatient        *MSchedualPatientVM              `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"patient"`
1839 1838
 	DeviceNumber           *MDeviceNumberVM                 `gorm:"ForeignKey:BedId" json:"device_number"`
1840 1839
 	Prescription           *models.DialysisPrescriptionList `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"prescription"`
@@ -1856,7 +1855,7 @@ type HisMScheduleProjectVM struct {
1856 1855
 	ScheduleType           int64                            `gorm:"column:schedule_type" json:"schedule_type"`
1857 1856
 	ModeId                 int64                            `gorm:"column:mode_id" json:"mode_id"`
1858 1857
 	Status                 int64                            `gorm:"column:status" json:"status"`
1859
-	DialysisOrder          *MDialysisOrderVM                `gorm:"ForeignKey:DialysisDate,PatientId;AssociationForeignKey:ScheduleDate,PatientId" json:"dialysis_order"`
1858
+	DialysisOrder          *MDialysisOrderVM                `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"dialysis_order"`
1860 1859
 	SchedualPatient        *MSchedualPatientVM              `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"patient"`
1861 1860
 	DeviceNumber           *MDeviceNumberVM                 `gorm:"ForeignKey:BedId" json:"device_number"`
1862 1861
 	Prescription           *models.DialysisPrescriptionList `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"prescription"`
@@ -2090,8 +2089,8 @@ func BatchDeleteMonitor(ids []string) (err error) {
2090 2089
 func GetPatientDialysisRecordList(patientid int64, startime int64, endtime int64) (order []*models.XtDialysisOrders, err error) {
2091 2090
 
2092 2091
 	db := XTReadDB().Table("xt_dialysis_order as x").Where("x.status = 1")
2093
-	table := XTReadDB().Table("xt_schedule as s")
2094
-	fmt.Println(table)
2092
+	//table := XTReadDB().Table("xt_schedule as s")
2093
+	//fmt.Println(table)
2095 2094
 	if patientid > 0 {
2096 2095
 		db = db.Where("x.patient_id = ?", patientid)
2097 2096
 	}

+ 1 - 1
service/print_data_service/schedule_dialysis/print_schedule_dialysis_models.go View File

@@ -546,7 +546,7 @@ type ScheduleVM struct {
546 546
 	Summer                   *SummerVM                        `gorm:"ForeignKey:AssessmentDate,PatientID;AssociationForeignKey:ScheduleDate,PatientID" json:"summer"`
547 547
 	LastAfterWeight          XtAssessmentAfterDislysisVM      `gorm:"ForeignKey:PatientID;AssociationForeignKey:PatientID" json:"lastafterweight"`
548 548
 	HisAdvices               []*models.HisDoctorAdviceInfo    `gorm:"ForeignKey:RecordDate,PatientID;AssociationForeignKey:ScheduleDate,PatientID" json:"his_advices"`
549
-	HisProject               []*models.HisPrescriptionProject `gorm:"ForeignKey:RecordDate,PatientID;AssociationForeignKey:ScheduleDate,PatientID" json:"his_project"`
549
+	HisPrescriptionProject   []*models.HisPrescriptionProject `gorm:"ForeignKey:RecordDate,PatientID;AssociationForeignKey:ScheduleDate,PatientID" json:"his_project"`
550 550
 }
551 551
 
552 552
 func (ScheduleVM) TableName() string {

+ 2 - 2
service/print_data_service/schedule_dialysis/print_schedule_dialysis_service.go View File

@@ -47,8 +47,8 @@ func GetSchedules(orgID int64, schIDs []string) ([]*ScheduleVM, error) {
47 47
 				Where("user_org_id = ? AND status = 1", orgID).
48 48
 				Order("start_time asc, groupno desc, advice_order desc, id asc")
49 49
 		}).
50
-		Preload("HisProject", func(db *gorm.DB) *gorm.DB {
51
-			return db.Where("user_org_id = ? AND status = 1", orgID).Preload("XtHisProject").Preload("GoodInfo", "status=1")
50
+		Preload("HisPrescriptionProject", func(db *gorm.DB) *gorm.DB {
51
+			return db.Where("user_org_id = ? AND status = 1", orgID).Preload("HisProject").Preload("GoodInfo", "status=1")
52 52
 		}).
53 53
 		Where("user_org_id = ? AND status = 1 AND id in (?)", orgID, schIDs).Order("schedule_date desc").
54 54
 		Find(&schedules).