Преглед изворни кода

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,6 +631,8 @@ func (c *HisApiController) CreateHisPrescription() {
631 631
 
632 632
 	}
633 633
 
634
+	patient, _ := service.GetPatientByIDTwo(adminInfo.CurrentOrgId, patient_id)
635
+
634 636
 	_, drugStockConfig := service.FindDrugStockAutomaticReduceRecordByOrgId(c.GetAdminUserInfo().CurrentOrgId)
635 637
 
636 638
 	_, stockConfig := service.FindAutomaticReduceRecordByOrgId(c.GetAdminUserInfo().CurrentOrgId)
@@ -824,10 +826,10 @@ func (c *HisApiController) CreateHisPrescription() {
824 826
 				}
825 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 834
 				if items["med_type"] == nil || reflect.TypeOf(items["med_type"]).String() != "float64" {
833 835
 					utils.ErrorLog("med_type")
@@ -840,9 +842,9 @@ func (c *HisApiController) CreateHisPrescription() {
840 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 849
 				if items["pre_time"] == nil || reflect.TypeOf(items["pre_time"]).String() != "string" {
848 850
 					utils.ErrorLog("pre_time")
@@ -874,7 +876,7 @@ func (c *HisApiController) CreateHisPrescription() {
874 876
 						Status:             1,
875 877
 						Doctor:             role.UserName,
876 878
 						HisPatientId:       his_patient_id,
877
-						OrderStatus:        order_status,
879
+						OrderStatus:        1,
878 880
 						BatchNumber:        "",
879 881
 						PrescriptionNumber: hpInfo.PrescriptionNumber,
880 882
 						PreTime:            pTime,
@@ -890,7 +892,7 @@ func (c *HisApiController) CreateHisPrescription() {
890 892
 					tempPrescription.Modifier = adminInfo.AdminUser.Id
891 893
 					tempPrescription.Mtime = time.Now().Unix()
892 894
 					tempPrescription.Doctor = role.UserName
893
-					tempPrescription.OrderStatus = order_status
895
+					//tempPrescription.OrderStatus = order_status
894 896
 					tempPrescription.PreTime = pTime
895 897
 					tempPrescription.MedType = med_type
896 898
 					service.SaveHisPrescription(tempPrescription)
@@ -964,14 +966,63 @@ func (c *HisApiController) CreateHisPrescription() {
964 966
 								c.ServeFailJSONWithSGJErrorCode(errcode)
965 967
 								return
966 968
 							}
967
-							service.CreateHisProjectTwo(&p)
968 969
 
970
+							service.CreateHisProjectTwo(&p)
969 971
 							var randNum int
970 972
 							randNum = rand.Intn(10000) + 1000
971 973
 							timestamp := time.Now().Unix()
972 974
 							tempTime := time.Unix(timestamp, 0)
973 975
 							timeFormat := tempTime.Format("20060102150405")
974 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 1026
 							service.SaveHisProjectTwo(&p)
976 1027
 
977 1028
 							if p.Type == 3 { //处理透前准备耗材数量数据
@@ -981,6 +1032,7 @@ func (c *HisApiController) CreateHisPrescription() {
981 1032
 									service.UpdateConsumables(&consumables)
982 1033
 								}
983 1034
 							}
1035
+
984 1036
 						}
985 1037
 					}
986 1038
 				}
@@ -1378,6 +1430,10 @@ func (c *HisApiController) DeleteProject() {
1378 1430
 	}
1379 1431
 	err := service.DelelteProject(id, c.GetAdminUserInfo().CurrentOrgId)
1380 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 1437
 		if stockConfig.IsOpen == 1 {
1382 1438
 			if project.Type == 3 {
1383 1439
 				good, _ := service.FindGoodInfoByIdTwo(project.ProjectId)

+ 50 - 0
controllers/his_charge_api_controller.go Прегледај датотеку

@@ -15,6 +15,9 @@ func HisChargeApiRegistRouters() {
15 15
 	beego.Router("/api/his/chargestatistics/detail", &HisChargeApiController{}, "get:GetChargeStatisticsDetail")
16 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 23
 func (c *HisChargeApiController) GetChargeStatisticsDetail() {
@@ -87,3 +90,50 @@ func (c *HisChargeApiController) GetChargeStatisticsSettle() {
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,3 +177,28 @@ type HisChargeGoodInfo struct {
177 177
 func (HisChargeGoodInfo) TableName() string {
178 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,3 +1475,102 @@ type NewHisOrder struct {
1475 1475
 func (NewHisOrder) TableName() string {
1476 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,7 +9,7 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
9 9
 	if len(keyword) == 0 {
10 10
 		switch item_type {
11 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 13
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
14 14
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
15 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,12 +22,12 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
22 22
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
23 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 26
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
27 27
 
28 28
 			break
29 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 31
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
32 32
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
33 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,12 +39,12 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
39 39
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
40 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 43
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
44 44
 
45 45
 			break
46 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 48
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
49 49
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
50 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,12 +54,12 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
54 54
 								return db.Select("id,project_name,unit").Where("status = 1 ")
55 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 58
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
59 59
 
60 60
 			break
61 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 63
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
64 64
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
65 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,7 +69,7 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
69 69
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
70 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 73
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
74 74
 
75 75
 			break
@@ -80,7 +80,7 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
80 80
 		keyword := "%" + keyword + "%"
81 81
 		switch item_type {
82 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 84
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
85 85
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
86 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,12 +92,12 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
92 92
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
93 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 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 98
 			break
99 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 101
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
102 102
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
103 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,12 +109,12 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
109 109
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
110 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 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 115
 			break
116 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 118
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
119 119
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
120 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,12 +124,12 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
124 124
 								return db.Select("id,project_name,unit").Where("status = 1 ")
125 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 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 130
 			break
131 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 133
 				return db.Select("id,user_org_id,his_patient_id,settle_accounts_date,status,number,order_status,mdtrt_id,patient_id").
134 134
 					Preload("HisChargeOrderInfo", func(db *gorm.DB) *gorm.DB {
135 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,7 +139,7 @@ func GetAllPatientChargeDetails(org_id int64, start_time int64, end_time int64,
139 139
 								return db.Select("id,good_name,good_unit,specification_name").Where("status = 1 ")
140 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 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 145
 			break
@@ -155,32 +155,32 @@ func GetAllPatientChargeSettle(org_id int64, start_time int64, end_time int64, k
155 155
 	if len(keyword) == 0 {
156 156
 		switch item_type {
157 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 160
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
161 161
 
162 162
 			break
163 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 166
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
167 167
 
168 168
 			break
169 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 172
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
173 173
 
174 174
 			break
175 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 178
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
179 179
 
180 180
 			break
181 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 184
 			}).Where("p.status = 1  AND p.user_org_id = ?", org_id).Group("id").Find(&patients).Error
185 185
 
186 186
 			break
@@ -191,32 +191,32 @@ func GetAllPatientChargeSettle(org_id int64, start_time int64, end_time int64, k
191 191
 		keyword = "%" + keyword + "%"
192 192
 		switch item_type {
193 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 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 198
 			break
199 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 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 204
 			break
205 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 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 210
 			break
211 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 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 216
 			break
217 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 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 222
 			break
@@ -226,3 +226,24 @@ func GetAllPatientChargeSettle(org_id int64, start_time int64, end_time int64, k
226 226
 
227 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,3 +2156,18 @@ func FindAllHisProjectByTime(now int64, end int64, patient_id int64, orgId int64
2156 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 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
+}