瀏覽代碼

Merge branch '20201014_xt_api_new_branch' of http://git.shengws.com/csx/XT_New into 20201014_xt_api_new_branch

XMLWAN 3 年之前
父節點
當前提交
0fc273a2ae

+ 66 - 10
controllers/his_api_controller.go 查看文件

631
 
631
 
632
 	}
632
 	}
633
 
633
 
634
+	patient, _ := service.GetPatientByIDTwo(adminInfo.CurrentOrgId, patient_id)
635
+
634
 	_, drugStockConfig := service.FindDrugStockAutomaticReduceRecordByOrgId(c.GetAdminUserInfo().CurrentOrgId)
636
 	_, drugStockConfig := service.FindDrugStockAutomaticReduceRecordByOrgId(c.GetAdminUserInfo().CurrentOrgId)
635
 
637
 
636
 	_, stockConfig := service.FindAutomaticReduceRecordByOrgId(c.GetAdminUserInfo().CurrentOrgId)
638
 	_, stockConfig := service.FindAutomaticReduceRecordByOrgId(c.GetAdminUserInfo().CurrentOrgId)
824
 				}
826
 				}
825
 				types := int64(items["type"].(float64))
827
 				types := int64(items["type"].(float64))
826
 
828
 
827
-				if items["order_status"] == nil || reflect.TypeOf(items["order_status"]).String() != "float64" {
828
-					utils.ErrorLog("order_status")
829
-				}
830
-				order_status := int64(items["order_status"].(float64))
829
+				//if items["order_status"] == nil || reflect.TypeOf(items["order_status"]).String() != "float64" {
830
+				//	utils.ErrorLog("order_status")
831
+				//}
832
+				//order_status := int64(items["order_status"].(float64))
831
 
833
 
832
 				if items["med_type"] == nil || reflect.TypeOf(items["med_type"]).String() != "float64" {
834
 				if items["med_type"] == nil || reflect.TypeOf(items["med_type"]).String() != "float64" {
833
 					utils.ErrorLog("med_type")
835
 					utils.ErrorLog("med_type")
840
 					med_type = "14"
842
 					med_type = "14"
841
 				}
843
 				}
842
 
844
 
843
-				if order_status == 0 {
844
-					order_status = 1
845
-				}
845
+				//if order_status == 0 {
846
+				//	order_status = 1
847
+				//}
846
 
848
 
847
 				if items["pre_time"] == nil || reflect.TypeOf(items["pre_time"]).String() != "string" {
849
 				if items["pre_time"] == nil || reflect.TypeOf(items["pre_time"]).String() != "string" {
848
 					utils.ErrorLog("pre_time")
850
 					utils.ErrorLog("pre_time")
874
 						Status:             1,
876
 						Status:             1,
875
 						Doctor:             role.UserName,
877
 						Doctor:             role.UserName,
876
 						HisPatientId:       his_patient_id,
878
 						HisPatientId:       his_patient_id,
877
-						OrderStatus:        order_status,
879
+						OrderStatus:        1,
878
 						BatchNumber:        "",
880
 						BatchNumber:        "",
879
 						PrescriptionNumber: hpInfo.PrescriptionNumber,
881
 						PrescriptionNumber: hpInfo.PrescriptionNumber,
880
 						PreTime:            pTime,
882
 						PreTime:            pTime,
890
 					tempPrescription.Modifier = adminInfo.AdminUser.Id
892
 					tempPrescription.Modifier = adminInfo.AdminUser.Id
891
 					tempPrescription.Mtime = time.Now().Unix()
893
 					tempPrescription.Mtime = time.Now().Unix()
892
 					tempPrescription.Doctor = role.UserName
894
 					tempPrescription.Doctor = role.UserName
893
-					tempPrescription.OrderStatus = order_status
895
+					//tempPrescription.OrderStatus = order_status
894
 					tempPrescription.PreTime = pTime
896
 					tempPrescription.PreTime = pTime
895
 					tempPrescription.MedType = med_type
897
 					tempPrescription.MedType = med_type
896
 					service.SaveHisPrescription(tempPrescription)
898
 					service.SaveHisPrescription(tempPrescription)
964
 								c.ServeFailJSONWithSGJErrorCode(errcode)
966
 								c.ServeFailJSONWithSGJErrorCode(errcode)
965
 								return
967
 								return
966
 							}
968
 							}
967
-							service.CreateHisProjectTwo(&p)
968
 
969
 
970
+							service.CreateHisProjectTwo(&p)
969
 							var randNum int
971
 							var randNum int
970
 							randNum = rand.Intn(10000) + 1000
972
 							randNum = rand.Intn(10000) + 1000
971
 							timestamp := time.Now().Unix()
973
 							timestamp := time.Now().Unix()
972
 							tempTime := time.Unix(timestamp, 0)
974
 							tempTime := time.Unix(timestamp, 0)
973
 							timeFormat := tempTime.Format("20060102150405")
975
 							timeFormat := tempTime.Format("20060102150405")
974
 							p.FeedetlSn = timeFormat + strconv.FormatInt(int64(randNum), 10) + "-" + "2" + "-" + strconv.FormatInt(p.ID, 10)
976
 							p.FeedetlSn = timeFormat + strconv.FormatInt(int64(randNum), 10) + "-" + "2" + "-" + strconv.FormatInt(p.ID, 10)
977
+
978
+							//新增或者编辑项目,修改对应的标签数据
979
+							labelOrigin, _ := service.GetProjectById(p.UserOrgId, p.ID, patient_id, recordDateTime)
980
+							if labelOrigin.ID == 0 { //当天某个人的处方中的项目不存在
981
+								var label models.HisLabelPrintInfo
982
+								project, _ := service.GetProjectDetail(p.ProjectId)
983
+								if project.CostClassify == 3 { //类别为检验检查
984
+									if p.TeamId > 0 { //检验检查组套
985
+										tempLabel, _ := service.GetProjectByTeamId(p.UserOrgId, p.TeamId, patient_id, recordDateTime)
986
+										if tempLabel.ID == 0 {
987
+											team, _ := service.GetProjectTeamDetail(p.TeamId)
988
+											label.Number = tempPrescription.PrescriptionNumber
989
+											label.ProjectId = project.ID
990
+											label.Status = 1
991
+											label.IsPrint = 2
992
+											label.DoctorId = info.DoctorId
993
+											label.UserOrgId = p.UserOrgId
994
+											label.PatientId = patient_id
995
+											label.RecordDate = recordDateTime
996
+											label.Ctime = time.Now().Unix()
997
+											label.Mtime = time.Now().Unix()
998
+											label.ItemId = p.TeamId
999
+											label.FeedetlSn = p.FeedetlSn
1000
+											label.PProjectId = p.ID
1001
+											label.ProjectName = team.ProjectTeam
1002
+											label.PatientName = patient.Name
1003
+											service.CreateHisLabelRecord(&label)
1004
+										}
1005
+									} else { //单条检验检查项目
1006
+										label.Number = tempPrescription.PrescriptionNumber
1007
+										label.ProjectId = project.ID
1008
+										label.Status = 1
1009
+										label.DoctorId = info.DoctorId
1010
+										label.UserOrgId = p.UserOrgId
1011
+										label.PatientId = patient_id
1012
+										label.RecordDate = recordDateTime
1013
+										label.IsPrint = 2
1014
+										label.Ctime = time.Now().Unix()
1015
+										label.Mtime = time.Now().Unix()
1016
+										label.FeedetlSn = p.FeedetlSn
1017
+										label.PProjectId = p.ID
1018
+										label.ItemId = p.TeamId
1019
+										label.ProjectName = project.ProjectName
1020
+										label.PatientName = patient.Name
1021
+										service.CreateHisLabelRecord(&label)
1022
+									}
1023
+								}
1024
+							}
1025
+
975
 							service.SaveHisProjectTwo(&p)
1026
 							service.SaveHisProjectTwo(&p)
976
 
1027
 
977
 							if p.Type == 3 { //处理透前准备耗材数量数据
1028
 							if p.Type == 3 { //处理透前准备耗材数量数据
981
 									service.UpdateConsumables(&consumables)
1032
 									service.UpdateConsumables(&consumables)
982
 								}
1033
 								}
983
 							}
1034
 							}
1035
+
984
 						}
1036
 						}
985
 					}
1037
 					}
986
 				}
1038
 				}
1378
 	}
1430
 	}
1379
 	err := service.DelelteProject(id, c.GetAdminUserInfo().CurrentOrgId)
1431
 	err := service.DelelteProject(id, c.GetAdminUserInfo().CurrentOrgId)
1380
 	if err == nil {
1432
 	if err == nil {
1433
+		label, _ := service.GetProjectById(adminInfo.CurrentOrgId, id, project.RecordDate, project.PatientId)
1434
+		label.Status = 0
1435
+		service.CreateHisLabelRecord(&label)
1436
+
1381
 		if stockConfig.IsOpen == 1 {
1437
 		if stockConfig.IsOpen == 1 {
1382
 			if project.Type == 3 {
1438
 			if project.Type == 3 {
1383
 				good, _ := service.FindGoodInfoByIdTwo(project.ProjectId)
1439
 				good, _ := service.FindGoodInfoByIdTwo(project.ProjectId)

+ 50 - 0
controllers/his_charge_api_controller.go 查看文件

15
 	beego.Router("/api/his/chargestatistics/detail", &HisChargeApiController{}, "get:GetChargeStatisticsDetail")
15
 	beego.Router("/api/his/chargestatistics/detail", &HisChargeApiController{}, "get:GetChargeStatisticsDetail")
16
 	beego.Router("/api/his/chargestatistics/settle", &HisChargeApiController{}, "get:GetChargeStatisticsSettle")
16
 	beego.Router("/api/his/chargestatistics/settle", &HisChargeApiController{}, "get:GetChargeStatisticsSettle")
17
 
17
 
18
+	beego.Router("/api/his/inspectionlist/get", &HisChargeApiController{}, "get:GetHisInspectionList")
19
+	beego.Router("/api/his/inspectioninfo/get", &HisChargeApiController{}, "get:GetHisInspectionInfo")
20
+
18
 }
21
 }
19
 
22
 
20
 func (c *HisChargeApiController) GetChargeStatisticsDetail() {
23
 func (c *HisChargeApiController) GetChargeStatisticsDetail() {
87
 	}
90
 	}
88
 
91
 
89
 }
92
 }
93
+
94
+func (c *HisChargeApiController) GetHisInspectionList() {
95
+	record_date := c.GetString("record_date")
96
+	keyword := c.GetString("keyword")
97
+	is_print, _ := c.GetInt64("is_print")
98
+	page, _ := c.GetInt64("page")
99
+	limit, _ := c.GetInt64("limit")
100
+
101
+	adminUser := c.GetAdminUserInfo()
102
+
103
+	timeLayout := "2006-01-02"
104
+	loc, _ := time.LoadLocation("Local")
105
+	startTime, err := time.ParseInLocation(timeLayout+" 15:04:05", record_date+" 00:00:00", loc)
106
+	if err != nil {
107
+
108
+	}
109
+	record_time := startTime.Unix()
110
+	labels, total, err := service.GetLabelPrintList(page, limit, adminUser.CurrentOrgId, record_time, is_print, keyword)
111
+	if err == nil {
112
+
113
+		c.ServeSuccessJSON(map[string]interface{}{
114
+			"labels": labels,
115
+			"total":  total,
116
+		})
117
+		return
118
+
119
+	} else {
120
+
121
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
122
+		return
123
+
124
+	}
125
+
126
+}
127
+func (c *HisChargeApiController) GetHisInspectionInfo() {
128
+	id, _ := c.GetInt64("id")
129
+	label, err := service.GetLabelPrintInfo(id)
130
+	if err == nil {
131
+		c.ServeSuccessJSON(map[string]interface{}{
132
+			"label": label,
133
+		})
134
+		return
135
+	} else {
136
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
137
+		return
138
+	}
139
+}

+ 25 - 0
models/his_charge_models.go 查看文件

177
 func (HisChargeGoodInfo) TableName() string {
177
 func (HisChargeGoodInfo) TableName() string {
178
 	return "xt_good_information"
178
 	return "xt_good_information"
179
 }
179
 }
180
+
181
+type HisLabelPrintInfo struct {
182
+	ID          int64  `gorm:"column:id" json:"id" form:"id"`
183
+	PatientId   int64  `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
184
+	Number      string `gorm:"column:number" json:"number" form:"number"`
185
+	Ctime       int64  `gorm:"column:ctime" json:"ctime" form:"ctime"`
186
+	Mtime       int64  `gorm:"column:mtime" json:"mtime" form:"mtime"`
187
+	DoctorId    int64  `gorm:"column:doctor_id" json:"doctor_id" form:"doctor_id"`
188
+	Status      int64  `gorm:"column:status" json:"status" form:"status"`
189
+	ProjectName string `gorm:"column:project_name" json:"project_name" form:"project_name"`
190
+	ProjectId   int64  `gorm:"column:project_id" json:"project_id" form:"project_id"`
191
+	IsPrint     int64  `gorm:"column:is_print" json:"is_print" form:"is_print"`
192
+	RecordDate  int64  `gorm:"column:record_date" json:"record_date" form:"record_date"`
193
+	ItemId      int64  `gorm:"column:item_id" json:"item_id" form:"item_id"`
194
+	UserOrgId   int64  `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
195
+	PProjectId  int64  `gorm:"column:p_project_id" json:"p_project_id" form:"p_project_id"`
196
+
197
+	FeedetlSn   string `gorm:"column:feedetl_sn" json:"feedetl_sn" form:"feedetl_sn"`
198
+	DoctorName  string `gorm:"column:doctor_name" json:"doctor_name" form:"doctor_name"`
199
+	PatientName string `gorm:"column:patient_name" json:"patient_name" form:"patient_name"`
200
+}
201
+
202
+func (HisLabelPrintInfo) TableName() string {
203
+	return "his_label_print_info"
204
+}

+ 99 - 0
models/his_models.go 查看文件

1475
 func (NewHisOrder) TableName() string {
1475
 func (NewHisOrder) TableName() string {
1476
 	return "his_order"
1476
 	return "his_order"
1477
 }
1477
 }
1478
+
1479
+type VMHisOrderTwo struct {
1480
+	ID                    int64     `gorm:"column:id" json:"id" form:"id"`
1481
+	UserOrgId             int64     `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
1482
+	HisPatientId          int64     `gorm:"column:his_patient_id" json:"his_patient_id" form:"his_patient_id"`
1483
+	SettleAccountsDate    int64     `gorm:"column:settle_accounts_date" json:"settle_accounts_date" form:"settle_accounts_date"`
1484
+	Ctime                 int64     `gorm:"column:ctime" json:"ctime" form:"ctime"`
1485
+	Mtime                 int64     `gorm:"column:mtime" json:"mtime" form:"mtime"`
1486
+	Status                int64     `gorm:"column:status" json:"status" form:"status"`
1487
+	Number                string    `gorm:"column:number" json:"number" form:"number"`
1488
+	PatientId             int64     `gorm:"column:patient_id" json:"patient_id" form:"patient_id"`
1489
+	Infcode               int64     `gorm:"column:infcode" json:"infcode" form:"infcode"`
1490
+	WarnMsg               string    `gorm:"column:warn_msg" json:"warn_msg" form:"warn_msg"`
1491
+	Cainfo                string    `gorm:"column:cainfo" json:"cainfo" form:"cainfo"`
1492
+	ErrMsg                string    `gorm:"column:err_msg" json:"err_msg" form:"err_msg"`
1493
+	RespondTime           string    `gorm:"column:respond_time" json:"respond_time" form:"respond_time"`
1494
+	InfRefmsgid           string    `gorm:"column:inf_refmsgid" json:"inf_refmsgid" form:"inf_refmsgid"`
1495
+	OrderStatus           int64     `gorm:"column:order_status" json:"order_status" form:"order_status"`
1496
+	MdtrtId               string    `gorm:"column:mdtrt_id" json:"mdtrt_id" form:"mdtrt_id"`
1497
+	SetlId                string    `gorm:"column:setl_id" json:"setl_id" form:"setl_id"`
1498
+	PsnNo                 string    `gorm:"column:psn_no" json:"psn_no" form:"psn_no"`
1499
+	PsnName               string    `gorm:"column:psn_name" json:"psn_name" form:"psn_name"`
1500
+	PsnCertType           string    `gorm:"column:psn_cert_type" json:"psn_cert_type" form:"psn_cert_type"`
1501
+	Certno                string    `gorm:"column:certno" json:"certno" form:"certno"`
1502
+	Gend                  string    `gorm:"column:gend" json:"gend" form:"gend"`
1503
+	Naty                  string    `gorm:"column:naty" json:"naty" form:"naty"`
1504
+	Brdy                  time.Time `gorm:"column:brdy" json:"brdy" form:"brdy"`
1505
+	Age                   float64   `gorm:"column:age" json:"age" form:"age"`
1506
+	Insutype              string    `gorm:"column:insutype" json:"insutype" form:"insutype"`
1507
+	PsnType               string    `gorm:"column:psn_type" json:"psn_type" form:"psn_type"`
1508
+	CvlservFlag           string    `gorm:"column:cvlserv_flag" json:"cvlserv_flag" form:"cvlserv_flag"`
1509
+	SetlTime              string    `gorm:"column:setl_time" json:"setl_time" form:"setl_time"`
1510
+	MdtrtCertType         string    `gorm:"column:mdtrt_cert_type" json:"mdtrt_cert_type" form:"mdtrt_cert_type"`
1511
+	MedType               string    `gorm:"column:med_type" json:"med_type" form:"med_type"`
1512
+	MedfeeSumamt          float64   `gorm:"column:medfee_sumamt" json:"medfee_sumamt" form:"medfee_sumamt"`
1513
+	FulamtOwnpayAmt       float64   `gorm:"column:fulamt_ownpay_amt" json:"fulamt_ownpay_amt" form:"fulamt_ownpay_amt"`
1514
+	OverlmtSelfPay        float64   `gorm:"column:overlmt_self_pay" json:"overlmt_self_pay" form:"overlmt_self_pay"`
1515
+	PreselfpayAmt         float64   `gorm:"column:preselfpay_amt" json:"preselfpay_amt" form:"preselfpay_amt"`
1516
+	InscpScpAmt           float64   `gorm:"column:inscp_scp_amt" json:"inscp_scp_amt" form:"inscp_scp_amt"`
1517
+	ActPayDedc            float64   `gorm:"column:act_pay_dedc" json:"act_pay_dedc" form:"act_pay_dedc"`
1518
+	HifpPay               float64   `gorm:"column:hifp_pay" json:"hifp_pay" form:"hifp_pay"`
1519
+	CvlservPay            float64   `gorm:"column:cvlserv_pay" json:"cvlserv_pay" form:"cvlserv_pay"`
1520
+	PoolPropSelfpay       float64   `gorm:"column:pool_prop_selfpay" json:"pool_prop_selfpay" form:"pool_prop_selfpay"`
1521
+	HifesPay              float64   `gorm:"column:hifes_pay" json:"hifes_pay" form:"hifes_pay"`
1522
+	HifmiPay              float64   `gorm:"column:hifmi_pay" json:"hifmi_pay" form:"hifmi_pay"`
1523
+	HifobPay              float64   `gorm:"column:hifob_pay" json:"hifob_pay" form:"hifob_pay"`
1524
+	MafPay                float64   `gorm:"column:maf_pay" json:"maf_pay" form:"maf_pay"`
1525
+	OthPay                float64   `gorm:"column:oth_pay" json:"oth_pay" form:"oth_pay"`
1526
+	FundPaySumamt         float64   `gorm:"column:fund_pay_sumamt" json:"fund_pay_sumamt" form:"fund_pay_sumamt"`
1527
+	PsnPartAmt            float64   `gorm:"column:psn_part_amt" json:"psn_part_amt" form:"psn_part_amt"`
1528
+	AcctPay               float64   `gorm:"column:acct_pay" json:"acct_pay" form:"acct_pay"`
1529
+	PsnCashPay            float64   `gorm:"column:psn_cash_pay" json:"psn_cash_pay" form:"psn_cash_pay"`
1530
+	HospPartAmt           float64   `gorm:"column:hosp_part_amt" json:"hosp_part_amt" form:"hosp_part_amt"`
1531
+	Balc                  float64   `gorm:"column:balc" json:"balc" form:"balc"`
1532
+	AcctMulaidPay         float64   `gorm:"column:acct_mulaid_pay" json:"acct_mulaid_pay" form:"acct_mulaid_pay"`
1533
+	MedinsSetlId          string    `gorm:"column:medins_setl_id" json:"medins_setl_id" form:"medins_setl_id"`
1534
+	ClrOptins             string    `gorm:"column:clr_optins" json:"clr_optins" form:"clr_optins"`
1535
+	ClrWay                string    `gorm:"column:clr_way" json:"clr_way" form:"clr_way"`
1536
+	ClrType               string    `gorm:"column:clr_type" json:"clr_type" form:"clr_type"`
1537
+	SetlDetail            string    `gorm:"column:setl_detail" json:"setl_detail" form:"setl_detail"`
1538
+	IsMedicineInsurance   int64     `gorm:"column:is_medicine_insurance" json:"is_medicine_insurance" form:"is_medicine_insurance"`
1539
+	PayWay                int64     `gorm:"column:pay_way" json:"pay_way" form:"pay_way"`
1540
+	PayPrice              float64   `gorm:"column:pay_price" json:"pay_price" form:"pay_price"`
1541
+	PayCardNo             string    `gorm:"column:pay_card_no" json:"pay_card_no" form:"pay_card_no"`
1542
+	DiscountPrice         float64   `gorm:"column:discount_price" json:"discount_price" form:"discount_price"`
1543
+	PreferentialPrice     float64   `gorm:"column:preferential_price" json:"preferential_price" form:"preferential_price"`
1544
+	RealityPrice          float64   `gorm:"column:reality_price" json:"reality_price" form:"reality_price"`
1545
+	FoundPrice            float64   `gorm:"column:found_price" json:"found_price" form:"found_price"`
1546
+	MedicalInsurancePrice float64   `gorm:"column:medical_insurance_price" json:"medical_insurance_price" form:"medical_insurance_price"`
1547
+	PrivatePrice          float64   `gorm:"column:private_price" json:"private_price" form:"private_price"`
1548
+	DepartmentName        string    `gorm:"-" json:"department_name" form:"department_name"`
1549
+	DoctorName            string    `gorm:"-" json:"doctor_name" form:"doctor_name"`
1550
+	Creator               int64     `gorm:"column:creator" json:"creator" form:"creator"`
1551
+	PType                 int64     `gorm:"column:p_type" json:"p_type" form:"p_type"`
1552
+
1553
+	FaPiaoCode   string `gorm:"column:fa_piao_code" json:"fa_piao_code" form:"fa_piao_code"`
1554
+	FaPiaoNumber string `gorm:"column:fa_piao_number" json:"fa_piao_number" form:"fa_piao_number"`
1555
+
1556
+	AdminUser AdminUser `gorm:"ForeignKey:ID;AssociationForeignKey:OrderId" json:"order_info"`
1557
+
1558
+	SettleType      int64 `gorm:"column:settle_type" json:"settle_type" form:"settle_type"`
1559
+	SettleStartTime int64 `gorm:"column:settle_start_time" json:"settle_start_time" form:"settle_start_time"`
1560
+	SettleEndTime   int64 `gorm:"column:settle_end_time" json:"settle_end_time" form:"settle_end_time"`
1561
+
1562
+	HisOrderInfo           HisOrderInfo           `gorm:"ForeignKey:ID;AssociationForeignKey:OrderId" json:"order_info"`
1563
+	Patients               Patients               `gorm:"ForeignKey:PatientId;AssociationForeignKey:ID" json:"patient"`
1564
+	HisPatient             HisPatient             `gorm:"ForeignKey:MdtrtId;AssociationForeignKey:Number" json:"his_patient"`
1565
+	HisHospitalCheckRecord HisHospitalCheckRecord `gorm:"ForeignKey:MdtrtId,PatientId;AssociationForeignKey:Number,PatientId" json:"his_hospital_patient"`
1566
+
1567
+	HisPrescriptionInfo HisPrescriptionInfo `gorm:"ForeignKey:PatientId;AssociationForeignKey:PatientId" json:"p_info"`
1568
+
1569
+	HisFundSettleListResult HisFundSettleListResult `gorm:"ForeignKey:ID;AssociationForeignKey:OrderId" json:"result"`
1570
+	IsPre                   int64                   `gorm:"column:is_pre" json:"is_pre" form:"is_pre"`
1571
+	Diagnosis               string                  `gorm:"column:diagnosis" json:"diagnosis" form:"diagnosis"`
1572
+}
1573
+
1574
+func (VMHisOrderTwo) TableName() string {
1575
+	return "his_order"
1576
+}

+ 57 - 36
service/his_charge_service.go 查看文件

9
 	if len(keyword) == 0 {
9
 	if len(keyword) == 0 {
10
 		switch item_type {
10
 		switch item_type {
11
 		case 0:
11
 		case 0:
12
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
12
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
13
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
13
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
14
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
14
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
15
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").
15
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").
22
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
22
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
23
 							}).Where("status = 1 ")
23
 							}).Where("status = 1 ")
24
 						})
24
 						})
25
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
25
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
26
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
26
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
27
 
27
 
28
 			break
28
 			break
29
 		case 1:
29
 		case 1:
30
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
30
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
31
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
31
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
32
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
32
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
33
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id > 0 AND project_id = 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
33
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id > 0 AND project_id = 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
39
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
39
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
40
 							}).Where("status = 1 ")
40
 							}).Where("status = 1 ")
41
 						})
41
 						})
42
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
42
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
43
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
43
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
44
 
44
 
45
 			break
45
 			break
46
 		case 2:
46
 		case 2:
47
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
47
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
48
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
48
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
49
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
49
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
50
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
50
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
54
 								return db.Select("id,project_name,unit").Where("status = 1 ")
54
 								return db.Select("id,project_name,unit").Where("status = 1 ")
55
 							}).Where("status = 1 ")
55
 							}).Where("status = 1 ")
56
 						})
56
 						})
57
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
57
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
58
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
58
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
59
 
59
 
60
 			break
60
 			break
61
 		case 3:
61
 		case 3:
62
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
62
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
63
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
63
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
64
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
64
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
65
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
65
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
69
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
69
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
70
 							}).Where("status = 1 ")
70
 							}).Where("status = 1 ")
71
 						})
71
 						})
72
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
72
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
73
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
73
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
74
 
74
 
75
 			break
75
 			break
80
 		keyword := "%" + keyword + "%"
80
 		keyword := "%" + keyword + "%"
81
 		switch item_type {
81
 		switch item_type {
82
 		case 0:
82
 		case 0:
83
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
83
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
84
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
84
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
85
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
85
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
86
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
86
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
92
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
92
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
93
 							}).Where("status = 1 ")
93
 							}).Where("status = 1 ")
94
 						})
94
 						})
95
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
95
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
96
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
96
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
97
 
97
 
98
 			break
98
 			break
99
 		case 1:
99
 		case 1:
100
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
100
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
101
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
101
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
102
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
102
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
103
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id > 0 AND project_id = 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
103
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id > 0 AND project_id = 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
109
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
109
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
110
 							}).Where("status = 1 ")
110
 							}).Where("status = 1 ")
111
 						})
111
 						})
112
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
112
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
113
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
113
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
114
 
114
 
115
 			break
115
 			break
116
 		case 2:
116
 		case 2:
117
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
117
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
118
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
118
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
119
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
119
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
120
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
120
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
124
 								return db.Select("id,project_name,unit").Where("status = 1 ")
124
 								return db.Select("id,project_name,unit").Where("status = 1 ")
125
 							}).Where("status = 1 ")
125
 							}).Where("status = 1 ")
126
 						})
126
 						})
127
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
127
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
128
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
128
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
129
 
129
 
130
 			break
130
 			break
131
 		case 3:
131
 		case 3:
132
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
132
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeOrder", func(db *gorm.DB) *gorm.DB {
133
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
133
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
134
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
134
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
135
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
135
 						return db.Select("id,order_number,advice_id,det_item_fee_sumamt,cnt,pric,med_chrgitm_type,status,chld_medc_flag,chrgitm_lv,user_org_id,project_id,type").Where("advice_id = 0 AND project_id > 0").Preload("HisChargeDoctorAdviceInfo", func(db *gorm.DB) *gorm.DB {
139
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
139
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
140
 							}).Where("status = 1 ")
140
 							}).Where("status = 1 ")
141
 						})
141
 						})
142
-					}).Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
142
+					}).Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
143
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
143
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
144
 
144
 
145
 			break
145
 			break
155
 	if len(keyword) == 0 {
155
 	if len(keyword) == 0 {
156
 		switch item_type {
156
 		switch item_type {
157
 		case 0:
157
 		case 0:
158
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
159
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
158
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
159
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
160
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
160
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
161
 
161
 
162
 			break
162
 			break
163
 		case 1:
163
 		case 1:
164
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
165
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
164
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
165
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
166
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
166
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
167
 
167
 
168
 			break
168
 			break
169
 		case 2:
169
 		case 2:
170
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
171
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
170
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
171
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
172
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
172
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
173
 
173
 
174
 			break
174
 			break
175
 		case 3:
175
 		case 3:
176
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
177
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
176
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
177
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
178
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
178
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
179
 
179
 
180
 			break
180
 			break
181
 		case 4:
181
 		case 4:
182
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
183
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
182
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
183
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
184
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
184
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
185
 
185
 
186
 			break
186
 			break
191
 		keyword = "%" + keyword + "%"
191
 		keyword = "%" + keyword + "%"
192
 		switch item_type {
192
 		switch item_type {
193
 		case 0:
193
 		case 0:
194
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
195
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
194
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
195
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2", start_time, end_time, org_id)
196
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
196
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
197
 
197
 
198
 			break
198
 			break
199
 		case 1:
199
 		case 1:
200
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
201
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
200
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
201
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 1 ", start_time, end_time, org_id)
202
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
202
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
203
 
203
 
204
 			break
204
 			break
205
 		case 2:
205
 		case 2:
206
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
207
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
206
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
207
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND is_medicine_insurance = 0", start_time, end_time, org_id)
208
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
208
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
209
 
209
 
210
 			break
210
 			break
211
 		case 3:
211
 		case 3:
212
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
213
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
212
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
213
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 14", start_time, end_time, org_id)
214
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
214
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
215
 
215
 
216
 			break
216
 			break
217
 		case 4:
217
 		case 4:
218
-			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.settle_accounts_date >= ? AND orders.settle_accounts_date <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
219
-				return db.Where("status = 1  AND settle_accounts_date >= ? AND settle_accounts_date <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
218
+			err = readDb2.Table("xt_patients as p").Select("p.id,p.user_org_id,p.name,p.lapseto,p.status").Joins("JOIN his_order AS orders ON orders.patient_id = p.id AND orders.status = 1  AND orders.ctime >= ? AND orders.ctime <= ? AND orders.user_org_id = ? AND orders.order_status = 2", start_time, end_time, org_id).Preload("HisChargeSettleOrder", func(db *gorm.DB) *gorm.DB {
219
+				return db.Where("status = 1  AND ctime >= ? AND ctime <= ? AND user_org_id = ? AND order_status = 2 AND med_type = 11", start_time, end_time, org_id)
220
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
220
 			}).Where("p.status = 1  AND p.user_org_id = ? AND p.name LIKE ?", org_id, keyword).Group("id").Find(&patients).Error
221
 
221
 
222
 			break
222
 			break
226
 
226
 
227
 	return
227
 	return
228
 }
228
 }
229
+
230
+func GetLabelPrintList(page int64, limit int64, user_org_id int64, record_time int64, is_print int64, keywors string) (labels []*models.HisLabelPrintInfo, total int64, err error) {
231
+	offset := (page - 1) * limit
232
+	db := readDb.Model(&models.HisLabelPrintInfo{})
233
+	if is_print > 0 {
234
+		db = db.Where("is_print = ?", is_print)
235
+	}
236
+	if len(keywors) > 0 {
237
+		keywors = "%" + keywors + "%"
238
+		db = db.Where("patient_name Like ?", keywors)
239
+
240
+	}
241
+	err = db.Where("user_org_id = ? AND record_date = ? AND status = 1 ", user_org_id, record_time).Count(&total).Offset(offset).Limit(limit).Find(&labels).Error
242
+	return
243
+}
244
+
245
+func GetLabelPrintInfo(id int64) (labels models.HisLabelPrintInfo, err error) {
246
+	db := readDb.Model(&models.HisLabelPrintInfo{})
247
+	err = db.Where("id = ?", id).First(&labels).Error
248
+	return
249
+}

+ 15 - 0
service/his_service.go 查看文件

2156
 	err = readDb.Model(&models.HisPrescriptionProject{}).Where("status = 1 AND user_org_id = ? AND patient_id = ?  AND record_date > ? AND record_date <= ? AND project_id = ? ", orgId, patient_id, end, now, project_id).Find(&project).Error
2156
 	err = readDb.Model(&models.HisPrescriptionProject{}).Where("status = 1 AND user_org_id = ? AND patient_id = ?  AND record_date > ? AND record_date <= ? AND project_id = ? ", orgId, patient_id, end, now, project_id).Find(&project).Error
2157
 	return
2157
 	return
2158
 }
2158
 }
2159
+
2160
+func GetProjectByTeamId(user_org_id int64, team_id int64, patient_id int64, record_time int64) (label models.HisLabelPrintInfo, err error) {
2161
+	err = readDb.Model(&models.HisLabelPrintInfo{}).Where("user_org_id = ? AND item_id = ? AND patient_id = ? AND record_date = ? AND status = 1", user_org_id, team_id, patient_id, record_time).First(&label).Error
2162
+	return
2163
+}
2164
+
2165
+func GetProjectById(user_org_id int64, p_project_id int64, record_time int64, patient_id int64) (label models.HisLabelPrintInfo, err error) {
2166
+	err = readDb.Model(&models.HisLabelPrintInfo{}).Where("user_org_id = ? AND p_project_id = ? AND patient_id = ? AND record_date = ? AND status = 1", user_org_id, p_project_id, patient_id, record_time).First(&label).Error
2167
+	return
2168
+}
2169
+
2170
+func CreateHisLabelRecord(label *models.HisLabelPrintInfo) error {
2171
+	err := writeDb.Save(&label).Error
2172
+	return err
2173
+}