Kaynağa Gözat

Merge branch 'master' of http://git.shengws.com/csx/gdyb

csx 3 yıl önce
ebeveyn
işleme
d7e7a994b7

+ 7 - 0
controllers/sg/his_api_controller.go Dosyayı Görüntüle

@@ -4039,6 +4039,13 @@ func (c *HisApiController) RefundNumber() {
4039 4039
 	config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
4040 4040
 	roles, _ := service.GetAdminUserInfoByID(adminUser.CurrentOrgId, admin_user_id)
4041 4041
 
4042
+	count, _ := service.GetOrderCountByNumber(adminUser.CurrentOrgId, his.PatientId, recordDateTime, his.Number)
4043
+
4044
+	if count > 0 {
4045
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeOrderParamWrong)
4046
+		return
4047
+	}
4048
+
4042 4049
 	if config.IsOpen == 1 { //对接了医保,走医保流程
4043 4050
 
4044 4051
 		api3 := "http://127.0.0.1:9532/" + "gdyb/three?psn_no=" + his.PsnNo +

+ 4 - 0
enums/error_code.go Dosyayı Görüntüle

@@ -257,6 +257,8 @@ const ( // ErrorCode
257 257
 	ErrorCodeHospitalExistDataException = 300010
258 258
 
259 259
 	ErrorCodeHisPatientParamWrong = 300004
260
+
261
+	ErrorCodeOrderParamWrong = 300005
260 262
 )
261 263
 
262 264
 var ErrCodeMsgs = map[int]string{
@@ -495,6 +497,8 @@ var ErrCodeMsgs = map[int]string{
495 497
 
496 498
 	ErrorCodeHospitalExistDataException: "该患者已经入院,请选办理出院结算后再进行办理入院操作",
497 499
 	ErrorCodeHisPatientParamWrong:       "订单正在结算、请先结算完成",
500
+
501
+	ErrorCodeOrderParamWrong: "该就诊号存在已结算的订单,请先退费后再进行退号操作",
498 502
 }
499 503
 
500 504
 type SGJError struct {

+ 6 - 0
service/his_service.go Dosyayı Görüntüle

@@ -1324,3 +1324,9 @@ func GetTodayHisOrder(org_id int64, patient_id int64, record_time int64, number
1324 1324
 	err = readDb.Model(&models.HisOrder{}).Where("user_org_id = ? AND status = 1 AND patient_id = ? AND settle_accounts_date = ? AND order_status = 1 AND mdtrt_id = ?", org_id, patient_id, record_time, number).First(&order).Error
1325 1325
 	return
1326 1326
 }
1327
+
1328
+func GetOrderCountByNumber(org_id int64, patient_id int64, record_time int64, number string) (count int64, err error) {
1329
+	err = readDb.Model(&models.HisOrder{}).Where("user_org_id = ? AND status = 1 AND patient_id = ? AND settle_accounts_date = ? AND order_status = 3 AND mdtrt_id = ?", org_id, patient_id, record_time, number).Count(&count).Error
1330
+
1331
+	return
1332
+}