csx 4 jaren geleden
bovenliggende
commit
2778f42334
2 gewijzigde bestanden met toevoegingen van 153 en 133 verwijderingen
  1. 145 133
      controllers/sz/sz_his_api_controller.go
  2. 8 0
      service/sz_his_service.go

+ 145 - 133
controllers/sz/sz_his_api_controller.go Bestand weergeven

@@ -793,10 +793,13 @@ func (c *SZHisApiController) GetUploadInfo() {
793 793
 					_, dose_code := service.GetDoseCode(subItem.BaseDrugLib.DrugDosageForm, adminUser.CurrentOrgId)
794 794
 					detItemFeeSumamt, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", subItem.Price*subItem.PrescribingNumber), 64)
795 795
 					price, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", subItem.Price), 64)
796
+					temp := strings.Split(subItem.FeedetlSn, "-")
797
+					newFl := fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) + "-" + temp[1] + "-" + temp[2]
798
+
796 799
 					cus := &models.CustomDetail{
797 800
 						PrescriptionNumber: chrg_bchno,
798 801
 						OrderType:          "1",
799
-						ChargeSerialNumber: subItem.FeedetlSn,
802
+						ChargeSerialNumber: newFl,
800 803
 						Code:               subItem.BaseDrugLib.MedicalInsuranceNumber,
801 804
 						CodeName:           subItem.BaseDrugLib.DrugName,
802 805
 						Flag:               "1",
@@ -819,11 +822,13 @@ func (c *SZHisApiController) GetUploadInfo() {
819 822
 					detItemFeeSumamt, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", subItem.Price*float64(subItem.Count)), 64)
820 823
 
821 824
 					count, _ := strconv.ParseFloat(fmt.Sprintf("%f", subItem.Count), 64)
825
+					temp := strings.Split(subItem.FeedetlSn, "-")
826
+					newFl := fmt.Sprintf("%07v", rand.New(rand.NewSource(time.Now().UnixNano())).Int31n(10000000)) + "-" + temp[1] + "-" + temp[2]
822 827
 
823 828
 					cus := &models.CustomDetail{
824 829
 						PrescriptionNumber: chrg_bchno,
825 830
 						OrderType:          "1",
826
-						ChargeSerialNumber: subItem.FeedetlSn,
831
+						ChargeSerialNumber: newFl,
827 832
 						Code:               subItem.HisProject.MedicalCode,
828 833
 						CodeName:           subItem.HisProject.ProjectName,
829 834
 						Flag:               "1",
@@ -988,7 +993,7 @@ func (c *SZHisApiController) GetUploadInfo() {
988 993
 
989 994
 				info := &models.HisOrderInfo{
990 995
 					OrderNumber:      order.Number,
991
-					FeedetlSn:        item.Aae072,
996
+					FeedetlSn:        item.Bkf500,
992 997
 					UploadDate:       time.Now().Unix(),
993 998
 					AdviceId:         advice_id,
994 999
 					DetItemFeeSumamt: item.Akc264,
@@ -1130,6 +1135,11 @@ func (c *SZHisApiController) GetSettleInfo() {
1130 1135
 
1131 1136
 	order_src, _ := service.GetHisOrderByID(order_id)
1132 1137
 
1138
+	if order_src.ID == 0 {
1139
+		c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeHisOrderNoExistParamWrong)
1140
+		return
1141
+	}
1142
+
1133 1143
 	config, _ := service.GetMedicalInsuranceConfig(adminUser.CurrentOrgId)
1134 1144
 	if config.IsOpen == 1 { //对接了医保,走医保流程
1135 1145
 		if order_src.OrderStatus != 2 {
@@ -1538,6 +1548,7 @@ func (c *SZHisApiController) CancelOrderDetail() {
1538 1548
 		}
1539 1549
 		customs = append(customs, cus)
1540 1550
 	}
1551
+	his, _ := service.GetHisPatientInfo(adminUser.CurrentOrgId, patient_id, recordDateTime)
1541 1552
 
1542 1553
 	verifyCode, version_code := ReadCardGetCode("FY002" + "|" + order.OrgSetlNumber + "|" + miConfig.Code)
1543 1554
 
@@ -1563,7 +1574,7 @@ func (c *SZHisApiController) CancelOrderDetail() {
1563 1574
 			stop = len(customs)
1564 1575
 		}
1565 1576
 
1566
-		result := service.SzybFY002(doctor_name, doctor_code, miConfig.Code, customs[start-1:stop], verifyCode, order.OrgSetlNumber, order.MzNumber, version_code)
1577
+		result := service.SzybFY002(doctor_name, doctor_code, miConfig.Code, customs[start-1:stop], verifyCode, order.OrgSetlNumber, his.Number, version_code)
1567 1578
 		fmt.Println(result)
1568 1579
 
1569 1580
 		var dat map[string]interface{}
@@ -1604,6 +1615,7 @@ func (c *SZHisApiController) CancelOrderDetail() {
1604 1615
 		}
1605 1616
 	}
1606 1617
 	if isSuccess == true {
1618
+		service.UpdataOrderInfoStatus(order.ID, order.Number, adminUser.CurrentOrgId)
1607 1619
 		c.ServeSuccessJSON(map[string]interface{}{
1608 1620
 			"msg": "撤销成功",
1609 1621
 		})
@@ -1776,15 +1788,15 @@ func (c *SZHisApiController) GetDrugList() {
1776 1788
 			detail := &models.DrugDetail{
1777 1789
 
1778 1790
 				MedicalInsuranceNumber: item.MedicalInsuranceNumber,
1779
-				Code:                   item.Code,
1780
-				DrugName:               item.DrugName,
1781
-				DrugSpec:               item.DrugSpec,
1782
-				DrugDosageName:         item.DrugDosageName,
1783
-				ManufacturerName:       item.ManufacturerName,
1784
-				MinUnit:                item.MinUnit,
1785
-				RetailPrice:            item.RetailPrice,
1786
-				LastPrice:              item.LastPrice,
1787
-				LimitRemark:            item.LimitRemark,
1791
+				Code:             item.Code,
1792
+				DrugName:         item.DrugName,
1793
+				DrugSpec:         item.DrugSpec,
1794
+				DrugDosageName:   item.DrugDosageName,
1795
+				ManufacturerName: item.ManufacturerName,
1796
+				MinUnit:          item.MinUnit,
1797
+				RetailPrice:      item.RetailPrice,
1798
+				LastPrice:        item.LastPrice,
1799
+				LimitRemark:      item.LimitRemark,
1788 1800
 			}
1789 1801
 			customs = append(customs, detail)
1790 1802
 		}
@@ -1948,13 +1960,13 @@ func (c *SZHisApiController) GetRevocation() {
1948 1960
 				detail := &models.DrugDetail{
1949 1961
 
1950 1962
 					MedicalInsuranceNumber: item.MedicalInsuranceNumber, //社保目录
1951
-					Code:                   item.Code,                   //协议机构内部目录编码
1952
-					DrugName:               item.DrugName,               //协议机构内部目录名称
1953
-					DrugSpec:               item.DrugSpec,
1954
-					ManufacturerName:       item.ManufacturerName,
1955
-					MinUnit:                item.MinUnit,
1956
-					RetailPrice:            item.RetailPrice, //协议机构内部项目收费价格
1957
-					LimitRemark:            item.LimitRemark,
1963
+					Code:             item.Code,     //协议机构内部目录编码
1964
+					DrugName:         item.DrugName, //协议机构内部目录名称
1965
+					DrugSpec:         item.DrugSpec,
1966
+					ManufacturerName: item.ManufacturerName,
1967
+					MinUnit:          item.MinUnit,
1968
+					RetailPrice:      item.RetailPrice, //协议机构内部项目收费价格
1969
+					LimitRemark:      item.LimitRemark,
1958 1970
 				}
1959 1971
 				customs = append(customs, detail)
1960 1972
 			}
@@ -2226,43 +2238,43 @@ func (c *SZHisApiController) GetDoctorList() {
2226 2238
 			is_active := strconv.FormatInt(item.IsActive, 10)
2227 2239
 
2228 2240
 			detail := &models.DocDetail{
2229
-				UserName:                                item.UserName,
2230
-				RoleId:                                  item.Name,
2231
-				Sex:                                     sex,
2232
-				CardType:                                card_type,
2233
-				IdCard:                                  item.IdCard,
2234
-				Phone:                                   "",
2235
-				WorkMajorName:                           item.WorkMajorName,
2236
-				Nation:                                  item.Nation,
2237
-				BirthDay:                                20201022,
2238
-				WorkTime:                                12,
2239
-				Education:                               strconv.FormatInt(item.Education, 10),
2240
-				StudyMajorName:                          item.StudyMajorName,
2241
-				CertificateCode:                         "",                                           //证书编码
2242
-				MedicalCode:                             item.MedicalCode,                             //医师资格编码
2243
-				MedicalRangeCode:                        strconv.FormatInt(item.MedicalRangeCode, 10), //医师执业范围代码
2244
-				MedicalLevel:                            strconv.FormatInt(item.MedicalLevel, 10),     //医生级别
2245
-				TypeJob:                                 strconv.FormatInt(item.DoctorTypeJob, 10),    //职业类别
2246
-				DoctorNumber:                            item.DoctorNumber,                            //医师编号
2247
-				Licensing:                               strconv.FormatInt(item.Licensing, 10),        //职业标志
2248
-				DoctorServiceStatus:                     "",                                           //医师医保服务资格状态
2249
-				MonitoringLevel:                         "",                                           //监控等级
2250
-				DrugPsychotropicSubstances:              "",                                           //毒麻精神药品资格
2251
-				HealthCareCode:                          "",                                           // 母婴保健技术考核合格证书编号
2252
-				PlanningTechnicalServiceCode:            "",                                           //计划生育技术服务人员合格证编号
2253
-				PharmacistType:                          "",                                           //药师类别
2254
-				PharmacistPracticeCategory:              "",                                           //药师执业类别
2255
-				PharmacistsLicensing:                    "",                                           //药师执业范围
2256
-				PharmacistRegistrationNumber:            item.PharmacistRegistrationNumber,            //执业药师注册证编号
2257
-				OfficeCode:                              "",                                           //科室编码
2258
-				JobNumber:                               item.JobNumber,                               //工号
2259
-				PostName:                                "",                                           //职位名称
2260
-				TechnicalJobLevelCode:                   "",                                           //专业技术职务级别编码
2261
-				IsActive:                                is_active,                                    //在职与否
2262
-				PrescriptionQualificationIdentification: item.PharmacistRegistrationNumber,            //处方资格标识
2263
-				IdentificationOutpatients:               "",                                           //门诊大病医师标识
2264
-				OutpatientIllnessCategory:               item.OutpatientIllnessCategory,               //门诊大病类别
2265
-				StartTime:                               1233,                                         //开始日期
2241
+				UserName:                     item.UserName,
2242
+				RoleId:                       item.Name,
2243
+				Sex:                          sex,
2244
+				CardType:                     card_type,
2245
+				IdCard:                       item.IdCard,
2246
+				Phone:                        "",
2247
+				WorkMajorName:                item.WorkMajorName,
2248
+				Nation:                       item.Nation,
2249
+				BirthDay:                     20201022,
2250
+				WorkTime:                     12,
2251
+				Education:                    strconv.FormatInt(item.Education, 10),
2252
+				StudyMajorName:               item.StudyMajorName,
2253
+				CertificateCode:              "",                                           //证书编码
2254
+				MedicalCode:                  item.MedicalCode,                             //医师资格编码
2255
+				MedicalRangeCode:             strconv.FormatInt(item.MedicalRangeCode, 10), //医师执业范围代码
2256
+				MedicalLevel:                 strconv.FormatInt(item.MedicalLevel, 10),     //医生级别
2257
+				TypeJob:                      strconv.FormatInt(item.DoctorTypeJob, 10),    //职业类别
2258
+				DoctorNumber:                 item.DoctorNumber,                            //医师编号
2259
+				Licensing:                    strconv.FormatInt(item.Licensing, 10),        //职业标志
2260
+				DoctorServiceStatus:          "",                                           //医师医保服务资格状态
2261
+				MonitoringLevel:              "",                                           //监控等级
2262
+				DrugPsychotropicSubstances:   "",                                           //毒麻精神药品资格
2263
+				HealthCareCode:               "",                                           // 母婴保健技术考核合格证书编号
2264
+				PlanningTechnicalServiceCode: "",                                           //计划生育技术服务人员合格证编号
2265
+				PharmacistType:               "",                                           //药师类别
2266
+				PharmacistPracticeCategory:   "",                                           //药师执业类别
2267
+				PharmacistsLicensing:         "",                                           //药师执业范围
2268
+				PharmacistRegistrationNumber: item.PharmacistRegistrationNumber,            //执业药师注册证编号
2269
+				OfficeCode:                   "",                                           //科室编码
2270
+				JobNumber:                    item.JobNumber,                               //工号
2271
+				PostName:                     "",                                           //职位名称
2272
+				TechnicalJobLevelCode:        "",                                           //专业技术职务级别编码
2273
+				IsActive:                     is_active,                                    //在职与否
2274
+				PrescriptionQualificationIdentification: item.PharmacistRegistrationNumber, //处方资格标识
2275
+				IdentificationOutpatients:               "",                                //门诊大病医师标识
2276
+				OutpatientIllnessCategory:               item.OutpatientIllnessCategory,    //门诊大病类别
2277
+				StartTime:                               1233,                              //开始日期
2266 2278
 			}
2267 2279
 			customs = append(customs, detail)
2268 2280
 		}
@@ -2350,44 +2362,44 @@ func (c *SZHisApiController) GetMedicalList() {
2350 2362
 		for _, item := range list {
2351 2363
 			fmt.Println("医护类别", item.Name)
2352 2364
 			detail := &models.DocDetail{
2353
-				StaffCode:                               "H27224269",
2354
-				UserName:                                item.UserName,
2355
-				RoleId:                                  item.Name,
2356
-				Sex:                                     "1",
2357
-				CardType:                                "01",
2358
-				IdCard:                                  "430526199408156511",
2359
-				Phone:                                   "13318464642",
2360
-				WorkMajorName:                           "医生",
2361
-				Nation:                                  "01",
2362
-				BirthDay:                                20201022,
2363
-				WorkTime:                                20201022,
2364
-				Education:                               "21",
2365
-				StudyMajorName:                          "医生",
2366
-				CertificateCode:                         "y2222222", //证书编码
2367
-				MedicalCode:                             "y2222222", //医师资格编码
2368
-				MedicalRangeCode:                        "101",      //医师执业范围代码
2369
-				MedicalLevel:                            "1",        //医生级别
2370
-				TypeJob:                                 "1",        //职业类别
2371
-				DoctorNumber:                            "22222",    //医师编号b
2372
-				Licensing:                               "1",        //职业标志
2373
-				DoctorServiceStatus:                     "1",        //医师医保服务资格状态
2374
-				MonitoringLevel:                         "1",        //监控等级
2375
-				DrugPsychotropicSubstances:              "1",        //毒麻精神药品资格
2376
-				HealthCareCode:                          "1001",     // 母婴保健技术考核合格证书编号
2377
-				PlanningTechnicalServiceCode:            "1002",     //计划生育技术服务人员合格证编号
2378
-				PharmacistType:                          "1",        //药师类别
2379
-				PharmacistPracticeCategory:              "1",        //药师执业类别
2380
-				PharmacistsLicensing:                    "1",        //药师执业范围
2381
-				PharmacistRegistrationNumber:            "000200",   //执业药师注册证编号
2382
-				OfficeCode:                              "9933",     //科室编码
2383
-				JobNumber:                               "82021344", //工号
2384
-				PostName:                                "主任",       //职位名称
2385
-				TechnicalJobLevelCode:                   "231",      //专业技术职务级别编码
2386
-				IsActive:                                "1",        //在职与否
2387
-				PrescriptionQualificationIdentification: "1",        //处方资格标识
2388
-				IdentificationOutpatients:               "1",        //门诊大病医师标识
2389
-				OutpatientIllnessCategory:               "血友病",      //门诊大病类别
2390
-				StartTime:                               20210311,   //开始日期
2365
+				StaffCode:                    "H27224269",
2366
+				UserName:                     item.UserName,
2367
+				RoleId:                       item.Name,
2368
+				Sex:                          "1",
2369
+				CardType:                     "01",
2370
+				IdCard:                       "430526199408156511",
2371
+				Phone:                        "13318464642",
2372
+				WorkMajorName:                "医生",
2373
+				Nation:                       "01",
2374
+				BirthDay:                     20201022,
2375
+				WorkTime:                     20201022,
2376
+				Education:                    "21",
2377
+				StudyMajorName:               "医生",
2378
+				CertificateCode:              "y2222222", //证书编码
2379
+				MedicalCode:                  "y2222222", //医师资格编码
2380
+				MedicalRangeCode:             "101",      //医师执业范围代码
2381
+				MedicalLevel:                 "1",        //医生级别
2382
+				TypeJob:                      "1",        //职业类别
2383
+				DoctorNumber:                 "22222",    //医师编号b
2384
+				Licensing:                    "1",        //职业标志
2385
+				DoctorServiceStatus:          "1",        //医师医保服务资格状态
2386
+				MonitoringLevel:              "1",        //监控等级
2387
+				DrugPsychotropicSubstances:   "1",        //毒麻精神药品资格
2388
+				HealthCareCode:               "1001",     // 母婴保健技术考核合格证书编号
2389
+				PlanningTechnicalServiceCode: "1002",     //计划生育技术服务人员合格证编号
2390
+				PharmacistType:               "1",        //药师类别
2391
+				PharmacistPracticeCategory:   "1",        //药师执业类别
2392
+				PharmacistsLicensing:         "1",        //药师执业范围
2393
+				PharmacistRegistrationNumber: "000200",   //执业药师注册证编号
2394
+				OfficeCode:                   "9933",     //科室编码
2395
+				JobNumber:                    "82021344", //工号
2396
+				PostName:                     "主任",       //职位名称
2397
+				TechnicalJobLevelCode:        "231",      //专业技术职务级别编码
2398
+				IsActive:                     "1",        //在职与否
2399
+				PrescriptionQualificationIdentification: "1",      //处方资格标识
2400
+				IdentificationOutpatients:               "1",      //门诊大病医师标识
2401
+				OutpatientIllnessCategory:               "血友病",    //门诊大病类别
2402
+				StartTime:                               20210311, //开始日期
2391 2403
 
2392 2404
 			}
2393 2405
 			customs = append(customs, detail)
@@ -2473,44 +2485,44 @@ func (c *SZHisApiController) GetUpdateMedicalList() {
2473 2485
 		for _, item := range list {
2474 2486
 			fmt.Println("医护类别", item.Name)
2475 2487
 			detail := &models.DocDetail{
2476
-				StaffCode:                               "",            //医护人员编码
2477
-				UserName:                                item.UserName, //医护人员姓名
2478
-				RoleId:                                  item.Name,     //医护人员类别
2479
-				Sex:                                     "",            //性别
2480
-				CardType:                                "",            //证件类型
2481
-				IdCard:                                  "",            //证件号码
2482
-				Phone:                                   "",            //联系电话
2483
-				WorkMajorName:                           "",            //现从事专业名称
2484
-				Nation:                                  "",            //民族
2485
-				BirthDay:                                20201022,      //出生日期
2486
-				WorkTime:                                12,            //参加工作日期
2487
-				Education:                               "",            //学历
2488
-				StudyMajorName:                          "",            //所学的专业名称
2489
-				CertificateCode:                         "",            //证书编码
2490
-				MedicalCode:                             "",            //医师资格编码
2491
-				MedicalRangeCode:                        "",            //医师执业范围代码
2492
-				MedicalLevel:                            "",            //医生级别
2493
-				TypeJob:                                 "",            //职业类别
2494
-				DoctorNumber:                            "",            //医师编号
2495
-				Licensing:                               "",            //职业标志
2496
-				DoctorServiceStatus:                     "",            //医师医保服务资格状态
2497
-				MonitoringLevel:                         "",            //监控等级
2498
-				DrugPsychotropicSubstances:              "",            //毒麻精神药品资格
2499
-				HealthCareCode:                          "",            // 母婴保健技术考核合格证书编号
2500
-				PlanningTechnicalServiceCode:            "",            //计划生育技术服务人员合格证编号
2501
-				PharmacistType:                          "",            //药师类别
2502
-				PharmacistPracticeCategory:              "",            //药师执业类别
2503
-				PharmacistsLicensing:                    "",            //药师执业范围
2504
-				PharmacistRegistrationNumber:            "",            //执业药师注册证编号
2505
-				OfficeCode:                              "",            //科室编码
2506
-				JobNumber:                               "",            //工号
2507
-				PostName:                                "",            //职位名称
2508
-				TechnicalJobLevelCode:                   "",            //专业技术职务级别编码
2509
-				IsActive:                                "",            //在职与否
2510
-				PrescriptionQualificationIdentification: "",            //处方资格标识
2511
-				IdentificationOutpatients:               "",            //门诊大病医师标识
2512
-				OutpatientIllnessCategory:               "",            //门诊大病类别
2513
-				StartTime:                               1233,          //开始日期
2488
+				StaffCode:                    "",            //医护人员编码
2489
+				UserName:                     item.UserName, //医护人员姓名
2490
+				RoleId:                       item.Name,     //医护人员类别
2491
+				Sex:                          "",            //性别
2492
+				CardType:                     "",            //证件类型
2493
+				IdCard:                       "",            //证件号码
2494
+				Phone:                        "",            //联系电话
2495
+				WorkMajorName:                "",            //现从事专业名称
2496
+				Nation:                       "",            //民族
2497
+				BirthDay:                     20201022,      //出生日期
2498
+				WorkTime:                     12,            //参加工作日期
2499
+				Education:                    "",            //学历
2500
+				StudyMajorName:               "",            //所学的专业名称
2501
+				CertificateCode:              "",            //证书编码
2502
+				MedicalCode:                  "",            //医师资格编码
2503
+				MedicalRangeCode:             "",            //医师执业范围代码
2504
+				MedicalLevel:                 "",            //医生级别
2505
+				TypeJob:                      "",            //职业类别
2506
+				DoctorNumber:                 "",            //医师编号
2507
+				Licensing:                    "",            //职业标志
2508
+				DoctorServiceStatus:          "",            //医师医保服务资格状态
2509
+				MonitoringLevel:              "",            //监控等级
2510
+				DrugPsychotropicSubstances:   "",            //毒麻精神药品资格
2511
+				HealthCareCode:               "",            // 母婴保健技术考核合格证书编号
2512
+				PlanningTechnicalServiceCode: "",            //计划生育技术服务人员合格证编号
2513
+				PharmacistType:               "",            //药师类别
2514
+				PharmacistPracticeCategory:   "",            //药师执业类别
2515
+				PharmacistsLicensing:         "",            //药师执业范围
2516
+				PharmacistRegistrationNumber: "",            //执业药师注册证编号
2517
+				OfficeCode:                   "",            //科室编码
2518
+				JobNumber:                    "",            //工号
2519
+				PostName:                     "",            //职位名称
2520
+				TechnicalJobLevelCode:        "",            //专业技术职务级别编码
2521
+				IsActive:                     "",            //在职与否
2522
+				PrescriptionQualificationIdentification: "",   //处方资格标识
2523
+				IdentificationOutpatients:               "",   //门诊大病医师标识
2524
+				OutpatientIllnessCategory:               "",   //门诊大病类别
2525
+				StartTime:                               1233, //开始日期
2514 2526
 				EndTime:                                 123333,
2515 2527
 			}
2516 2528
 			customs = append(customs, detail)

+ 8 - 0
service/sz_his_service.go Bestand weergeven

@@ -1081,3 +1081,11 @@ func UpdataOrderlog(id int64, user_org_id int64, refund_log string) (err error)
1081 1081
 	return
1082 1082
 
1083 1083
 }
1084
+
1085
+func UpdataOrderInfoStatus(id int64, number string, user_org_id int64) {
1086
+	err = writeDb.Model(&models.HisOrder{}).Where("status = 1 AND id = ? AND user_org_id = ?", id, user_org_id).Updates(map[string]interface{}{"mtime": time.Now().Unix(), "status": 0}).Error
1087
+	err = writeDb.Model(&models.HisOrderInfo{}).Where("status = 1 AND user_org_id = ? AND order_number = ?", user_org_id, number).Updates(map[string]interface{}{"mtime": time.Now().Unix(), "status": 0}).Error
1088
+
1089
+	return
1090
+
1091
+}