Browse Source

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

csx 4 years ago
parent
commit
f979566ba3
10 changed files with 837 additions and 260 deletions
  1. 1 1
      conf/app.conf
  2. 486 227
      controllers/sz/sz_his_api_controller.go
  3. 8 2
      enums/error_code.go
  4. BIN
      gdyb
  5. 27 0
      models/dialysis.go
  6. 102 0
      models/drug.go
  7. 41 0
      models/his_models.go
  8. 32 10
      models/sz_his_models.go
  9. 55 2
      service/his_service.go
  10. 85 18
      service/sz_his_service.go

+ 1 - 1
conf/app.conf View File

@@ -1,6 +1,6 @@
1 1
 appname = 血透
2 2
 httpport = 9532
3
-runmode = prod
3
+runmode = dev
4 4
 
5 5
 #
6 6
 copyrequestbody = true

+ 486 - 227
controllers/sz/sz_his_api_controller.go View File

@@ -253,8 +253,9 @@ func SZHisManagerApiRegistRouters() {
253 253
 	beego.Router("/sz/api/drug/get", &SZHisApiController{}, "get:GetDrugList")
254 254
 	//协议机构诊疗项目
255 255
 	beego.Router("/sz/api/treatment/get", &SZHisApiController{}, "get:GetTreatmentProject")
256
-	//协议机构目录
256
+	//协议机构目录备案撤销
257 257
 	beego.Router("/sz/api/revocation/get", &SZHisApiController{}, "get:GetRevocation")
258
+
258 259
 	//定点机构约定信息查询
259 260
 	//beego.Router("/sz/api/information/query/get",&SZHisApiController{},"get:GetInformationQuery")
260 261
 	//-医药师信息登记
@@ -263,7 +264,9 @@ func SZHisManagerApiRegistRouters() {
263 264
 	beego.Router("/sz/api/medical/get", &SZHisApiController{}, "get:GetMedicalList")
264 265
 	//医药师信息更新
265 266
 	beego.Router("/sz/api/update/medical/get", &SZHisApiController{}, "get:GetUpdateMedicalList")
267
+	//协议机构材料目录备案
266 268
 
269
+	beego.Router("/sz/api/goods/get", &SZHisApiController{}, "get:GetGoodsList")
267 270
 }
268 271
 
269 272
 func IntPtr(n int) uintptr {
@@ -1722,21 +1725,23 @@ func ReadCardGetCode(request string) (string, string) {
1722 1725
 
1723 1726
 func (c *SZHisApiController) GetDrugList() {
1724 1727
 
1728
+	adminUserInfo := c.GetAdminUserInfo()
1729
+	orgId := adminUserInfo.CurrentOrgId
1725 1730
 	//获取药品库数据
1726
-	list, _ := service.GetDrugList(10028)
1731
+	list, _ := service.GetDrugList(orgId)
1727 1732
 	//获取药品剂型
1728
-	drugs, _ := service.GetDrugDosageForm(10028)
1733
+	drugs, _ := service.GetDrugDosageForm(orgId)
1729 1734
 	for _, item := range list {
1730 1735
 		fmt.Println(item.DrugDosageForm)
1731 1736
 		for _, it := range drugs {
1732
-			fmt.Println("2222", it.Value, it.Name)
1737
+
1733 1738
 			if item.DrugDosageForm == it.Value {
1734 1739
 				item.DrugDosageName = it.Name
1735 1740
 			}
1736 1741
 		}
1737 1742
 	}
1738 1743
 	fmt.Print("list22222222", list)
1739
-	miConfig, _ := service.FindMedicalInsuranceInfo(10028)
1744
+	miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
1740 1745
 	var doctor_name string
1741 1746
 	var doctor_code string
1742 1747
 
@@ -1771,15 +1776,15 @@ func (c *SZHisApiController) GetDrugList() {
1771 1776
 			detail := &models.DrugDetail{
1772 1777
 
1773 1778
 				MedicalInsuranceNumber: item.MedicalInsuranceNumber,
1774
-				Code:             item.Code,
1775
-				DrugName:         item.DrugName,
1776
-				DrugSpec:         item.DrugSpec,
1777
-				DrugDosageName:   item.DrugDosageName,
1778
-				ManufacturerName: item.ManufacturerName,
1779
-				MinUnit:          item.MinUnit,
1780
-				RetailPrice:      item.RetailPrice,
1781
-				LastPrice:        item.LastPrice,
1782
-				LimitRemark:      item.LimitRemark,
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,
1783 1788
 			}
1784 1789
 			customs = append(customs, detail)
1785 1790
 		}
@@ -1808,7 +1813,7 @@ func (c *SZHisApiController) GetDrugList() {
1808 1813
 			isSuccess = false
1809 1814
 			//失败
1810 1815
 
1811
-			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
1816
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugPreSettleFaildParamWrong)
1812 1817
 			return
1813 1818
 		}
1814 1819
 		fmt.Println(isSuccess)
@@ -1816,11 +1821,14 @@ func (c *SZHisApiController) GetDrugList() {
1816 1821
 }
1817 1822
 
1818 1823
 func (c *SZHisApiController) GetTreatmentProject() {
1824
+	fmt.Println("触发了吗2222222222")
1825
+	adminUserInfo := c.GetAdminUserInfo()
1826
+	orgId := adminUserInfo.CurrentOrgId
1819 1827
 
1820 1828
 	//获取药品库数据
1821
-	list, _ := service.GetDrugList(10028)
1829
+	list, _ := service.GetMyPorjecgList(orgId)
1822 1830
 
1823
-	miConfig, _ := service.FindMedicalInsuranceInfo(10028)
1831
+	miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
1824 1832
 	var doctor_name string
1825 1833
 	var doctor_code string
1826 1834
 
@@ -1849,19 +1857,16 @@ func (c *SZHisApiController) GetTreatmentProject() {
1849 1857
 		}
1850 1858
 		//这里就可以查看开始和结束了
1851 1859
 		fmt.Println(list[start-1 : stop])
1852
-		var customs []*models.DrugDetail
1860
+		var customs []*models.ProjectDetail
1853 1861
 		for _, item := range list {
1854
-			fmt.Println("医疗机构编码", item.MedicalInsuranceNumber)
1855
-			detail := &models.DrugDetail{
1856 1862
 
1857
-				MedicalInsuranceNumber: item.MedicalInsuranceNumber, //社保目录
1858
-				Code:             item.Code,     //协议机构内部目录编码
1859
-				DrugName:         item.DrugName, //协议机构内部目录名称
1860
-				DrugSpec:         item.DrugSpec,
1861
-				ManufacturerName: item.ManufacturerName,
1862
-				MinUnit:          item.MinUnit,
1863
-				RetailPrice:      item.RetailPrice, //协议机构内部项目收费价格
1864
-				LimitRemark:      item.LimitRemark,
1863
+			detail := &models.ProjectDetail{
1864
+
1865
+				SocialSecurityDirectoryCode: item.MedicalCode, //社保目录
1866
+				ProjectName:                 item.ProjectName,
1867
+				Price:                       item.Price,
1868
+				Category:                    strconv.FormatInt(item.Category, 10),
1869
+				Remark:                      item.Remark,
1865 1870
 			}
1866 1871
 			customs = append(customs, detail)
1867 1872
 		}
@@ -1888,7 +1893,7 @@ func (c *SZHisApiController) GetTreatmentProject() {
1888 1893
 			isSuccess = false
1889 1894
 			//失败
1890 1895
 
1891
-			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
1896
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugPreSettleFaildParamWrong)
1892 1897
 			return
1893 1898
 		}
1894 1899
 		fmt.Println(isSuccess)
@@ -1897,10 +1902,294 @@ func (c *SZHisApiController) GetTreatmentProject() {
1897 1902
 
1898 1903
 func (c *SZHisApiController) GetRevocation() {
1899 1904
 
1900
-	//获取药品库数据
1901
-	list, _ := service.GetDrugList(10028)
1905
+	adminUserInfo := c.GetAdminUserInfo()
1906
+	orgId := adminUserInfo.CurrentOrgId
1907
+	id, _ := c.GetInt64("id")
1908
+	//用来区分是药品的撤销还是耗材的撤销  1.药品  2.诊疗项目 3.材料 5.辅助器具项目
1909
+
1910
+	type_id, _ := c.GetInt64("type_id")
1911
+	fmt.Println("type_id2222222", type_id)
1912
+	if type_id == 1 {
1913
+		//获取药品库数据
1914
+		list, _ := service.GetDrugListByDetail(orgId, id)
1915
+
1916
+		miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
1917
+		var doctor_name string
1918
+		var doctor_code string
1919
+
1920
+		doctor_name = "黄亦轩"
1921
+		doctor_code = "1001"
1922
+
1923
+		var pagesize int = 50
1924
+		var start int = 1
1925
+		var stop int
1926
+		var pagecount int
1927
+		var curpage int
1928
+		var isSuccess bool = true
1929
+		//总页数,向上取整,注意除之前要先转换类型为float64
1930
+		pagecount = int(math.Ceil(float64(len(list)) / float64(pagesize)))
1931
+
1932
+		var ress []*Result
1933
+		for curpage = 1; curpage <= pagecount; curpage++ {
1934
+			if curpage == 1 {
1935
+				start = 1
1936
+			} else {
1937
+				start = (curpage-1)*pagesize + 1
1938
+			}
1939
+			stop = curpage * pagesize
1940
+			if stop > len(list) {
1941
+				stop = len(list)
1942
+			}
1943
+			//这里就可以查看开始和结束了
1944
+			fmt.Println(list[start-1 : stop])
1945
+			var customs []*models.DrugDetail
1946
+			for _, item := range list {
1947
+				fmt.Println("医疗机构编码", item.MedicalInsuranceNumber)
1948
+				detail := &models.DrugDetail{
1949
+
1950
+					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,
1958
+				}
1959
+				customs = append(customs, detail)
1960
+			}
1961
+			result := service.SzybML010(doctor_name, doctor_code, miConfig.Code, customs, type_id)
1962
+			fmt.Println("reuslt", result)
1963
+			var dat map[string]interface{}
1964
+			if err := json.Unmarshal([]byte(result), &dat); err == nil {
1965
+				fmt.Println(dat)
1966
+			} else {
1967
+				fmt.Println(err)
1968
+			}
1969
+
1970
+			userJSONBytes, _ := json.Marshal(dat)
1971
+
1972
+			var res Result
1973
+			if err := json.Unmarshal(userJSONBytes, &res); err != nil {
1974
+				utils.ErrorLog("解析失败:%v", err)
1975
+				c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
1976
+				return
1977
+			}
1978
+			if res.Transreturncode == "00000000" {
1979
+				ress = append(ress, &res)
1980
+			} else {
1981
+				isSuccess = false
1982
+				//失败
1983
+
1984
+				c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugReturnFaildParamWrong)
1985
+				return
1986
+			}
1987
+			fmt.Println(isSuccess)
1988
+		}
1989
+
1990
+		if type_id == 2 {
1991
+
1992
+			//获取药品库数据
1993
+			list, _ := service.GetMyPorjecgListDetail(orgId, id)
1994
+
1995
+			miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
1996
+			var doctor_name string
1997
+			var doctor_code string
1902 1998
 
1903
-	miConfig, _ := service.FindMedicalInsuranceInfo(10028)
1999
+			doctor_name = "黄亦轩"
2000
+			doctor_code = "1001"
2001
+
2002
+			var pagesize int = 50
2003
+			var start int = 1
2004
+			var stop int
2005
+			var pagecount int
2006
+			var curpage int
2007
+			var isSuccess bool = true
2008
+			//总页数,向上取整,注意除之前要先转换类型为float64
2009
+			pagecount = int(math.Ceil(float64(len(list)) / float64(pagesize)))
2010
+
2011
+			var ress []*Result
2012
+			for curpage = 1; curpage <= pagecount; curpage++ {
2013
+				if curpage == 1 {
2014
+					start = 1
2015
+				} else {
2016
+					start = (curpage-1)*pagesize + 1
2017
+				}
2018
+				stop = curpage * pagesize
2019
+				if stop > len(list) {
2020
+					stop = len(list)
2021
+				}
2022
+				//这里就可以查看开始和结束了
2023
+				fmt.Println(list[start-1 : stop])
2024
+				var customs []*models.DrugDetail
2025
+				for _, item := range list {
2026
+					detail := &models.DrugDetail{
2027
+						SocialSecurityDirectoryCode: item.MedicalCode,
2028
+					}
2029
+					customs = append(customs, detail)
2030
+				}
2031
+				result := service.SzybML010(doctor_name, doctor_code, miConfig.Code, customs, type_id)
2032
+				fmt.Println("reuslt", result)
2033
+				var dat map[string]interface{}
2034
+				if err := json.Unmarshal([]byte(result), &dat); err == nil {
2035
+					fmt.Println(dat)
2036
+				} else {
2037
+					fmt.Println(err)
2038
+				}
2039
+
2040
+				userJSONBytes, _ := json.Marshal(dat)
2041
+
2042
+				var res Result
2043
+				if err := json.Unmarshal(userJSONBytes, &res); err != nil {
2044
+					utils.ErrorLog("解析失败:%v", err)
2045
+					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2046
+					return
2047
+				}
2048
+				if res.Transreturncode == "00000000" {
2049
+					ress = append(ress, &res)
2050
+				} else {
2051
+					isSuccess = false
2052
+					//失败
2053
+
2054
+					c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugReturnFaildParamWrong)
2055
+					return
2056
+				}
2057
+				fmt.Println(isSuccess)
2058
+			}
2059
+		}
2060
+
2061
+		if type_id == 3 {
2062
+
2063
+			//获取药品库数据
2064
+			list, _ := service.GetGoodListByDetail(orgId, id)
2065
+
2066
+			miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
2067
+			var doctor_name string
2068
+			var doctor_code string
2069
+
2070
+			doctor_name = "黄亦轩"
2071
+			doctor_code = "1001"
2072
+
2073
+			var pagesize int = 50
2074
+			var start int = 1
2075
+			var stop int
2076
+			var pagecount int
2077
+			var curpage int
2078
+			var isSuccess bool = true
2079
+			//总页数,向上取整,注意除之前要先转换类型为float64
2080
+			pagecount = int(math.Ceil(float64(len(list)) / float64(pagesize)))
2081
+
2082
+			var ress []*Result
2083
+			for curpage = 1; curpage <= pagecount; curpage++ {
2084
+				if curpage == 1 {
2085
+					start = 1
2086
+				} else {
2087
+					start = (curpage-1)*pagesize + 1
2088
+				}
2089
+				stop = curpage * pagesize
2090
+				if stop > len(list) {
2091
+					stop = len(list)
2092
+				}
2093
+				//这里就可以查看开始和结束了
2094
+				fmt.Println(list[start-1 : stop])
2095
+				var customs []*models.DrugDetail
2096
+				for _, item := range list {
2097
+					fmt.Println("医疗机构编码", item.MedicalInsuranceNumber)
2098
+					detail := &models.DrugDetail{
2099
+						SocialSecurityDirectoryCode: item.SocialSecurityDirectoryCode,
2100
+						ManufacturerName:            item.ManufacturerName,
2101
+					}
2102
+					customs = append(customs, detail)
2103
+				}
2104
+				result := service.SzybML010(doctor_name, doctor_code, miConfig.Code, customs, type_id)
2105
+				fmt.Println("reuslt", result)
2106
+				var dat map[string]interface{}
2107
+				if err := json.Unmarshal([]byte(result), &dat); err == nil {
2108
+					fmt.Println(dat)
2109
+				} else {
2110
+					fmt.Println(err)
2111
+				}
2112
+
2113
+				userJSONBytes, _ := json.Marshal(dat)
2114
+
2115
+				var res Result
2116
+				if err := json.Unmarshal(userJSONBytes, &res); err != nil {
2117
+					utils.ErrorLog("解析失败:%v", err)
2118
+					c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2119
+					return
2120
+				}
2121
+				if res.Transreturncode == "00000000" {
2122
+					ress = append(ress, &res)
2123
+				} else {
2124
+					isSuccess = false
2125
+					//失败
2126
+
2127
+					c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugReturnFaildParamWrong)
2128
+					return
2129
+				}
2130
+				fmt.Println(isSuccess)
2131
+			}
2132
+
2133
+		}
2134
+
2135
+	}
2136
+
2137
+	//func  (c *SZHisApiController) GetInformationQuery()  {
2138
+	//
2139
+	//  var doctor_name string
2140
+	//  var doctor_code string
2141
+	//
2142
+	//  doctor_name = "黄亦轩"
2143
+	//  doctor_code = "1001"
2144
+	//  miConfig, _ := service.FindMedicalInsuranceInfo(10028)
2145
+	//  result := service.SzybML010(doctor_name, doctor_code, miConfig.Code, customs)
2146
+	//  fmt.Println("reuslt9999999999999999", result)
2147
+	//  var dat map[string]interface{}
2148
+	//  if err := json.Unmarshal([]byte(result), &dat); err == nil {
2149
+	//    fmt.Println(dat)
2150
+	//  } else {
2151
+	//    fmt.Println(err)
2152
+	//  }
2153
+	//
2154
+	//  userJSONBytes, _ := json.Marshal(dat)
2155
+	//
2156
+	//  var res Result
2157
+	//  if err := json.Unmarshal(userJSONBytes, &res); err != nil {
2158
+	//    utils.ErrorLog("解析失败:%v", err)
2159
+	//    c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2160
+	//    return
2161
+	//  }
2162
+	//  if res.Transreturncode == "00000000" {
2163
+	//    ress = append(ress, &res)
2164
+	//  } else {
2165
+	//    isSuccess = false
2166
+	//    //失败
2167
+	//
2168
+	//    c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
2169
+	//    return
2170
+	//  }
2171
+	//  fmt.Println(isSuccess)
2172
+	//
2173
+	//}
2174
+}
2175
+func (c *SZHisApiController) GetDoctorList() {
2176
+
2177
+	adminUserInfo := c.GetAdminUserInfo()
2178
+	orgid := adminUserInfo.CurrentOrgId
2179
+	fmt.Println("or3gi", orgid)
2180
+	//获取所有医生护士信息
2181
+	list, _ := service.GetDoctorList(9671)
2182
+	//获取所有角色名称
2183
+	roleList, _ := service.GetRoleList(9671)
2184
+
2185
+	miConfig, _ := service.FindMedicalInsuranceInfo(9671)
2186
+	for _, item := range list {
2187
+		for _, it := range roleList {
2188
+			if item.RoleId == it.ID {
2189
+				item.Name = it.RoleName
2190
+			}
2191
+		}
2192
+	}
1904 2193
 	var doctor_name string
1905 2194
 	var doctor_code string
1906 2195
 
@@ -1929,23 +2218,56 @@ func (c *SZHisApiController) GetRevocation() {
1929 2218
 		}
1930 2219
 		//这里就可以查看开始和结束了
1931 2220
 		fmt.Println(list[start-1 : stop])
1932
-		var customs []*models.DrugDetail
2221
+		var customs []*models.DocDetail
1933 2222
 		for _, item := range list {
1934
-			fmt.Println("医疗机构编码", item.MedicalInsuranceNumber)
1935
-			detail := &models.DrugDetail{
2223
+			fmt.Println("医护类别", item.Name)
2224
+			sex := strconv.FormatInt(item.Sex, 10)
2225
+			card_type := strconv.FormatInt(item.CardType, 10)
2226
+			is_active := strconv.FormatInt(item.IsActive, 10)
1936 2227
 
1937
-				MedicalInsuranceNumber: item.MedicalInsuranceNumber, //社保目录
1938
-				Code:             item.Code,     //协议机构内部目录编码
1939
-				DrugName:         item.DrugName, //协议机构内部目录名称
1940
-				DrugSpec:         item.DrugSpec,
1941
-				ManufacturerName: item.ManufacturerName,
1942
-				MinUnit:          item.MinUnit,
1943
-				RetailPrice:      item.RetailPrice, //协议机构内部项目收费价格
1944
-				LimitRemark:      item.LimitRemark,
2228
+			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,                                         //开始日期
1945 2266
 			}
1946 2267
 			customs = append(customs, detail)
1947 2268
 		}
1948
-		result := service.SzybML010(doctor_name, doctor_code, miConfig.Code, customs)
2269
+
2270
+		result := service.SzybYS001(doctor_name, doctor_code, miConfig.Code, customs)
1949 2271
 		fmt.Println("reuslt9999999999999999", result)
1950 2272
 		var dat map[string]interface{}
1951 2273
 		if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -1968,59 +2290,27 @@ func (c *SZHisApiController) GetRevocation() {
1968 2290
 			isSuccess = false
1969 2291
 			//失败
1970 2292
 
1971
-			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
2293
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorDoctorLoginFaildParamWrong)
1972 2294
 			return
1973 2295
 		}
1974 2296
 		fmt.Println(isSuccess)
1975 2297
 	}
2298
+
1976 2299
 }
1977 2300
 
1978
-//func  (c *SZHisApiController) GetInformationQuery()  {
1979
-//
1980
-//  var doctor_name string
1981
-//  var doctor_code string
1982
-//
1983
-//  doctor_name = "黄亦轩"
1984
-//  doctor_code = "1001"
1985
-//  miConfig, _ := service.FindMedicalInsuranceInfo(10028)
1986
-//  result := service.SzybML010(doctor_name, doctor_code, miConfig.Code, customs)
1987
-//  fmt.Println("reuslt9999999999999999", result)
1988
-//  var dat map[string]interface{}
1989
-//  if err := json.Unmarshal([]byte(result), &dat); err == nil {
1990
-//    fmt.Println(dat)
1991
-//  } else {
1992
-//    fmt.Println(err)
1993
-//  }
1994
-//
1995
-//  userJSONBytes, _ := json.Marshal(dat)
1996
-//
1997
-//  var res Result
1998
-//  if err := json.Unmarshal(userJSONBytes, &res); err != nil {
1999
-//    utils.ErrorLog("解析失败:%v", err)
2000
-//    c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeDataException)
2001
-//    return
2002
-//  }
2003
-//  if res.Transreturncode == "00000000" {
2004
-//    ress = append(ress, &res)
2005
-//  } else {
2006
-//    isSuccess = false
2007
-//    //失败
2008
-//
2009
-//    c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
2010
-//    return
2011
-//  }
2012
-//  fmt.Println(isSuccess)
2013
-//
2014
-//}
2301
+func (c *SZHisApiController) GetMedicalList() {
2015 2302
 
2016
-func (c *SZHisApiController) GetDoctorList() {
2303
+	adminUserInfo := c.GetAdminUserInfo()
2304
+	orgId := adminUserInfo.CurrentOrgId
2017 2305
 
2306
+	id, _ := c.GetInt64("id")
2307
+	fmt.Println("id22222222", id)
2018 2308
 	//获取所有医生护士信息
2019
-	list, _ := service.GetDoctorList(10028)
2309
+	list, _ := service.GetDoctorListByDetail(orgId, id)
2020 2310
 	//获取所有角色名称
2021
-	roleList, _ := service.GetRoleList(10028)
2311
+	roleList, _ := service.GetRoleList(orgId)
2022 2312
 
2023
-	miConfig, _ := service.FindMedicalInsuranceInfo(10028)
2313
+	miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
2024 2314
 	for _, item := range list {
2025 2315
 		for _, it := range roleList {
2026 2316
 			if item.RoleId == it.ID {
@@ -2060,48 +2350,50 @@ func (c *SZHisApiController) GetDoctorList() {
2060 2350
 		for _, item := range list {
2061 2351
 			fmt.Println("医护类别", item.Name)
2062 2352
 			detail := &models.DocDetail{
2063
-				UserName:                     item.UserName,
2064
-				RoleId:                       item.Name,
2065
-				Sex:                          "",
2066
-				CardType:                     "",
2067
-				IdCard:                       "",
2068
-				Phone:                        "",
2069
-				WorkMajorName:                "",
2070
-				Nation:                       "",
2071
-				BirthDay:                     20201022,
2072
-				WorkTime:                     12,
2073
-				Education:                    "",
2074
-				StudyMajorName:               "",
2075
-				CertificateCode:              "", //证书编码
2076
-				MedicalCode:                  "", //医师资格编码
2077
-				MedicalRangeCode:             "", //医师执业范围代码
2078
-				MedicalLevel:                 "", //医生级别
2079
-				TypeJob:                      "", //职业类别
2080
-				DoctorNumber:                 "", //医师编号
2081
-				Licensing:                    "", //职业标志
2082
-				DoctorServiceStatus:          "", //医师医保服务资格状态
2083
-				MonitoringLevel:              "", //监控等级
2084
-				DrugPsychotropicSubstances:   "", //毒麻精神药品资格
2085
-				HealthCareCode:               "", // 母婴保健技术考核合格证书编号
2086
-				PlanningTechnicalServiceCode: "", //计划生育技术服务人员合格证编号
2087
-				PharmacistType:               "", //药师类别
2088
-				PharmacistPracticeCategory:   "", //药师执业类别
2089
-				PharmacistsLicensing:         "", //药师执业范围
2090
-				PharmacistRegistrationNumber: "", //执业药师注册证编号
2091
-				OfficeCode:                   "", //科室编码
2092
-				JobNumber:                    "", //工号
2093
-				PostName:                     "", //职位名称
2094
-				TechnicalJobLevelCode:        "", //专业技术职务级别编码
2095
-				IsActive:                     "", //在职与否
2096
-				PrescriptionQualificationIdentification: "",   //处方资格标识
2097
-				IdentificationOutpatients:               "",   //门诊大病医师标识
2098
-				OutpatientIllnessCategory:               "",   //门诊大病类别
2099
-				StartTime:                               1233, //开始日期
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,   //开始日期
2391
+
2100 2392
 			}
2101 2393
 			customs = append(customs, detail)
2102 2394
 		}
2103 2395
 
2104
-		result := service.SzybYS001(doctor_name, doctor_code, miConfig.Code, customs)
2396
+		result := service.SzybYS002(doctor_name, doctor_code, miConfig.Code, customs)
2105 2397
 		fmt.Println("reuslt9999999999999999", result)
2106 2398
 		var dat map[string]interface{}
2107 2399
 		if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -2124,7 +2416,7 @@ func (c *SZHisApiController) GetDoctorList() {
2124 2416
 			isSuccess = false
2125 2417
 			//失败
2126 2418
 
2127
-			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
2419
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugReturnFaildParamWrong)
2128 2420
 			return
2129 2421
 		}
2130 2422
 		fmt.Println(isSuccess)
@@ -2132,14 +2424,16 @@ func (c *SZHisApiController) GetDoctorList() {
2132 2424
 	}
2133 2425
 }
2134 2426
 
2135
-func (c *SZHisApiController) GetMedicalList() {
2427
+func (c *SZHisApiController) GetUpdateMedicalList() {
2136 2428
 
2429
+	adminUserInfo := c.GetAdminUserInfo()
2430
+	orgId := adminUserInfo.CurrentOrgId
2137 2431
 	//获取所有医生护士信息
2138
-	list, _ := service.GetDoctorList(10028)
2432
+	list, _ := service.GetDoctorList(orgId)
2139 2433
 	//获取所有角色名称
2140
-	roleList, _ := service.GetRoleList(10028)
2434
+	roleList, _ := service.GetRoleList(orgId)
2141 2435
 
2142
-	miConfig, _ := service.FindMedicalInsuranceInfo(10028)
2436
+	miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
2143 2437
 	for _, item := range list {
2144 2438
 		for _, it := range roleList {
2145 2439
 			if item.RoleId == it.ID {
@@ -2179,48 +2473,50 @@ func (c *SZHisApiController) GetMedicalList() {
2179 2473
 		for _, item := range list {
2180 2474
 			fmt.Println("医护类别", item.Name)
2181 2475
 			detail := &models.DocDetail{
2182
-				UserName:                     item.UserName,
2183
-				RoleId:                       item.Name,
2184
-				Sex:                          "",
2185
-				CardType:                     "",
2186
-				IdCard:                       "",
2187
-				Phone:                        "",
2188
-				WorkMajorName:                "",
2189
-				Nation:                       "",
2190
-				BirthDay:                     20201022,
2191
-				WorkTime:                     12,
2192
-				Education:                    "",
2193
-				StudyMajorName:               "",
2194
-				CertificateCode:              "", //证书编码
2195
-				MedicalCode:                  "", //医师资格编码
2196
-				MedicalRangeCode:             "", //医师执业范围代码
2197
-				MedicalLevel:                 "", //医生级别
2198
-				TypeJob:                      "", //职业类别
2199
-				DoctorNumber:                 "", //医师编号
2200
-				Licensing:                    "", //职业标志
2201
-				DoctorServiceStatus:          "", //医师医保服务资格状态
2202
-				MonitoringLevel:              "", //监控等级
2203
-				DrugPsychotropicSubstances:   "", //毒麻精神药品资格
2204
-				HealthCareCode:               "", // 母婴保健技术考核合格证书编号
2205
-				PlanningTechnicalServiceCode: "", //计划生育技术服务人员合格证编号
2206
-				PharmacistType:               "", //药师类别
2207
-				PharmacistPracticeCategory:   "", //药师执业类别
2208
-				PharmacistsLicensing:         "", //药师执业范围
2209
-				PharmacistRegistrationNumber: "", //执业药师注册证编号
2210
-				OfficeCode:                   "", //科室编码
2211
-				JobNumber:                    "", //工号
2212
-				PostName:                     "", //职位名称
2213
-				TechnicalJobLevelCode:        "", //专业技术职务级别编码
2214
-				IsActive:                     "", //在职与否
2215
-				PrescriptionQualificationIdentification: "",   //处方资格标识
2216
-				IdentificationOutpatients:               "",   //门诊大病医师标识
2217
-				OutpatientIllnessCategory:               "",   //门诊大病类别
2218
-				StartTime:                               1233, //开始日期
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,          //开始日期
2514
+				EndTime:                                 123333,
2219 2515
 			}
2220 2516
 			customs = append(customs, detail)
2221 2517
 		}
2222 2518
 
2223
-		result := service.SzybYS002(doctor_name, doctor_code, miConfig.Code, customs)
2519
+		result := service.SzybYS003(doctor_name, doctor_code, miConfig.Code, customs)
2224 2520
 		fmt.Println("reuslt9999999999999999", result)
2225 2521
 		var dat map[string]interface{}
2226 2522
 		if err := json.Unmarshal([]byte(result), &dat); err == nil {
@@ -2243,7 +2539,7 @@ func (c *SZHisApiController) GetMedicalList() {
2243 2539
 			isSuccess = false
2244 2540
 			//失败
2245 2541
 
2246
-			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
2542
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugPreSettleFaildParamWrong)
2247 2543
 			return
2248 2544
 		}
2249 2545
 		fmt.Println(isSuccess)
@@ -2251,21 +2547,15 @@ func (c *SZHisApiController) GetMedicalList() {
2251 2547
 	}
2252 2548
 }
2253 2549
 
2254
-func (c *SZHisApiController) GetUpdateMedicalList() {
2550
+func (c *SZHisApiController) GetGoodsList() {
2255 2551
 
2256
-	//获取所有医生护士信息
2257
-	list, _ := service.GetDoctorList(10028)
2258
-	//获取所有角色名称
2259
-	roleList, _ := service.GetRoleList(10028)
2260
-
2261
-	miConfig, _ := service.FindMedicalInsuranceInfo(10028)
2262
-	for _, item := range list {
2263
-		for _, it := range roleList {
2264
-			if item.RoleId == it.ID {
2265
-				item.Name = it.RoleName
2266
-			}
2267
-		}
2268
-	}
2552
+	adminUserInfo := c.GetAdminUserInfo()
2553
+	orgId := adminUserInfo.CurrentOrgId
2554
+	//获取所有耗材信息
2555
+	list, _ := service.GetGoodInformationList(orgId)
2556
+	fmt.Println("list22222", list)
2557
+	//获取单位
2558
+	miConfig, _ := service.FindMedicalInsuranceInfo(orgId)
2269 2559
 	var doctor_name string
2270 2560
 	var doctor_code string
2271 2561
 
@@ -2294,55 +2584,24 @@ func (c *SZHisApiController) GetUpdateMedicalList() {
2294 2584
 		}
2295 2585
 		//这里就可以查看开始和结束了
2296 2586
 		fmt.Println(list[start-1 : stop])
2297
-		var customs []*models.DocDetail
2587
+		var customs []*models.GoodDetail
2298 2588
 		for _, item := range list {
2299
-			fmt.Println("医护类别", item.Name)
2300
-			detail := &models.DocDetail{
2301
-				StaffCode:                    "",            //医护人员编码
2302
-				UserName:                     item.UserName, //医护人员姓名
2303
-				RoleId:                       item.Name,     //医护人员类别
2304
-				Sex:                          "",            //性别
2305
-				CardType:                     "",            //证件类型
2306
-				IdCard:                       "",            //证件号码
2307
-				Phone:                        "",            //联系电话
2308
-				WorkMajorName:                "",            //现从事专业名称
2309
-				Nation:                       "",            //民族
2310
-				BirthDay:                     20201022,      //出生日期
2311
-				WorkTime:                     12,            //参加工作日期
2312
-				Education:                    "",            //学历
2313
-				StudyMajorName:               "",            //所学的专业名称
2314
-				CertificateCode:              "",            //证书编码
2315
-				MedicalCode:                  "",            //医师资格编码
2316
-				MedicalRangeCode:             "",            //医师执业范围代码
2317
-				MedicalLevel:                 "",            //医生级别
2318
-				TypeJob:                      "",            //职业类别
2319
-				DoctorNumber:                 "",            //医师编号
2320
-				Licensing:                    "",            //职业标志
2321
-				DoctorServiceStatus:          "",            //医师医保服务资格状态
2322
-				MonitoringLevel:              "",            //监控等级
2323
-				DrugPsychotropicSubstances:   "",            //毒麻精神药品资格
2324
-				HealthCareCode:               "",            // 母婴保健技术考核合格证书编号
2325
-				PlanningTechnicalServiceCode: "",            //计划生育技术服务人员合格证编号
2326
-				PharmacistType:               "",            //药师类别
2327
-				PharmacistPracticeCategory:   "",            //药师执业类别
2328
-				PharmacistsLicensing:         "",            //药师执业范围
2329
-				PharmacistRegistrationNumber: "",            //执业药师注册证编号
2330
-				OfficeCode:                   "",            //科室编码
2331
-				JobNumber:                    "",            //工号
2332
-				PostName:                     "",            //职位名称
2333
-				TechnicalJobLevelCode:        "",            //专业技术职务级别编码
2334
-				IsActive:                     "",            //在职与否
2335
-				PrescriptionQualificationIdentification: "",   //处方资格标识
2336
-				IdentificationOutpatients:               "",   //门诊大病医师标识
2337
-				OutpatientIllnessCategory:               "",   //门诊大病类别
2338
-				StartTime:                               1233, //开始日期
2339
-				EndTime:                                 123333,
2589
+
2590
+			detail := &models.GoodDetail{
2591
+				GoodName:                    item.GoodName,
2592
+				SocialSecurityDirectoryCode: item.SocialSecurityDirectoryCode,
2593
+				ManufacturerName:            item.ManufacturerName,
2594
+				ProductionType:              item.ProductionType,
2595
+				SpecialMedical:              item.SpecialMedical,
2596
+				BuyPrice:                    item.BuyPrice,
2597
+				SellPrice:                   item.SellPrice,
2598
+				Remark:                      item.Remark,
2340 2599
 			}
2341 2600
 			customs = append(customs, detail)
2342 2601
 		}
2343 2602
 
2344
-		result := service.SzybYS003(doctor_name, doctor_code, miConfig.Code, customs)
2345
-		fmt.Println("reuslt9999999999999999", result)
2603
+		result := service.SzybYML007(doctor_name, doctor_code, miConfig.Code, customs)
2604
+		fmt.Println("reuslt8888", result)
2346 2605
 		var dat map[string]interface{}
2347 2606
 		if err := json.Unmarshal([]byte(result), &dat); err == nil {
2348 2607
 			fmt.Println(dat)
@@ -2364,7 +2623,7 @@ func (c *SZHisApiController) GetUpdateMedicalList() {
2364 2623
 			isSuccess = false
2365 2624
 			//失败
2366 2625
 
2367
-			c.ServeFailJSONWithSGJErrorCode(enums.ErrorCodePreSettleFaildParamWrong)
2626
+			c.ServeFailJSONWithSGJErrorCode(enums.ErrorDrugPreSettleFaildParamWrong)
2368 2627
 			return
2369 2628
 		}
2370 2629
 		fmt.Println(isSuccess)

+ 8 - 2
enums/error_code.go View File

@@ -36,7 +36,7 @@ const ( // ErrorCode
36 36
 	ErrorCodeDBDelete         = 8003
37 37
 	ErrorCodeDBSelectNoResult = 8004
38 38
 	ErrorCodeDataException    = 8005
39
-
39
+	ErrorDrugDataException    = 8006
40 40
 	// 业务逻辑操作错误 9000+
41 41
 	ErrorCodeRoleNotExist           = 9001
42 42
 	ErrorCodeAdminUserNotExist      = 9002
@@ -240,6 +240,9 @@ const ( // ErrorCode
240 240
 	ErrorCodeHisOrderNoExistParamWrong = 30000
241 241
 
242 242
 	ErrorCodePreSettleFaildParamWrong = 30001
243
+	ErrorDrugPreSettleFaildParamWrong = 30002
244
+	ErrorDrugReturnFaildParamWrong    = 30003
245
+	ErrorDoctorLoginFaildParamWrong   = 30004
243 246
 )
244 247
 
245 248
 var ErrCodeMsgs = map[int]string{
@@ -274,7 +277,7 @@ var ErrCodeMsgs = map[int]string{
274 277
 	ErrorCodeDBDelete:         "数据库删除出错",
275 278
 	ErrorCodeDBSelectNoResult: "查询无结果",
276 279
 	ErrorCodeDataException:    "数据异常",
277
-
280
+	ErrorDrugDataException:    "",
278 281
 	// 业务逻辑操作错误
279 282
 	ErrorCodeRoleNotExist:           "角色不存在",
280 283
 	ErrorCodeAdminUserNotExist:      "管理员不存在",
@@ -462,6 +465,9 @@ var ErrCodeMsgs = map[int]string{
462 465
 
463 466
 	ErrorCodePreSettleFaildParamWrong:  "预结算失败",
464 467
 	ErrorCodeHisOrderNoExistParamWrong: "订单不存在",
468
+	ErrorDrugPreSettleFaildParamWrong:  "备案失败",
469
+	ErrorDrugReturnFaildParamWrong:     "撤销失败",
470
+	ErrorDoctorLoginFaildParamWrong:    "登记失败",
465 471
 }
466 472
 
467 473
 type SGJError struct {

BIN
gdyb View File


+ 27 - 0
models/dialysis.go View File

@@ -891,6 +891,33 @@ type SgjUserAdminRole struct {
891 891
 	OrgLogo       string `gorm:"column:org_logo" json:"org_logo" form:"org_logo"`
892 892
 	Creator       int64  `gorm:"column:creator" json:"creator" form:"creator"`
893 893
 	Name          string
894
+
895
+	Age                                     int64  `gorm:"column:age" json:"age" form:"age"`
896
+	Nation                                  string `gorm:"column:nation" json:"nation" form:"nation"`
897
+	CardType                                int64  `gorm:"column:card_type" json:"card_type" form:"card_type"`
898
+	IdCard                                  string `gorm:"column:id_card" json:"id_card" form:"id_card"`
899
+	Education                               int64  `gorm:"column:education" json:"education" form:"education"`
900
+	StudyMajorName                          string `gorm:"column:study_major_name" json:"study_major_name" form:"study_major_name"`
901
+	WorkMajorName                           string `gorm:"column:work_major_name" json:"work_major_name" form:"work_major_name"`
902
+	RoleType                                int64  `gorm:"column:role_type" json:"role_type" form:"role_type"`
903
+	MedicalCode                             string `gorm:"column:medical_code" json:"medical_code" form:"medical_code"`
904
+	DoctorCode                              string `gorm:"column:doctor_code" json:"doctor_code" form:"doctor_code"`
905
+	Licensing                               int64  `gorm:"column:licensing" json:"licensing" form:"licensing"`
906
+	JobNumber                               string `gorm:"column:job_number" json:"job_number" form:"job_number"`
907
+	PrescriptionQualificationIdentification int64  `gorm:"column:prescription_qualification_identification" json:"prescription_qualification_identification" form:"prescription_qualification_identification"`
908
+	IdentificationOutpatients               int64  `gorm:"column:identification_outpatients" json:"identification_outpatients" form:"identification_outpatients"`
909
+	StartTime                               int64  `gorm:"column:start_time" json:"start_time" form:"start_time"`
910
+	MedicalRangeCode                        int64  `gorm:"column:medical_range_code" json:"medical_range_code" form:"medical_range_code"`
911
+	MedicalLevel                            int64  `gorm:"column:medical_level" json:"medical_level" form:"medical_level"`
912
+	MedicalTypeJob                          int64  `gorm:"column:medical_type_job" json:"medical_type_job" form:"medical_type_job"`
913
+	PharmacistRegistrationNumber            string `gorm:"column:pharmacist_registration_number" json:"pharmacist_registration_number" form:"pharmacist_registration_number"`
914
+	DoctorRangeCode                         int64  `gorm:"column:doctor_range_code" json:"doctor_range_code" form:"doctor_range_code"`
915
+	DoctorLevel                             int64  `gorm:"column:doctor_level" json:"doctor_level" form:"doctor_level"`
916
+	DoctorTypeJob                           int64  `gorm:"column:doctor_type_job" json:"doctor_type_job" form:"doctor_type_job"`
917
+	DoctorNumber                            string `gorm:"column:doctor_number" json:"doctor_number" form:"doctor_number"`
918
+	OutpatientIllnessCategory               string `gorm:"column:outpatient_illness_category" json:"outpatient_illness_category" form:"outpatient_illness_category"`
919
+	IsActive                                int64  `gorm:"column:is_active" json:"is_active" form:"is_active"`
920
+	ActiveStatus                            int64  `gorm:"column:active_status" json:"active_status" form:"active_status"`
894 921
 }
895 922
 
896 923
 func (SgjUserAdminRole) TableName() string {

+ 102 - 0
models/drug.go View File

@@ -147,3 +147,105 @@ type BaseDrugList struct {
147 147
 	ManufacturerName       string  `gorm:"column:manufacturer_name" json:"manufacturer_name" form:"manufacturer_name"`
148 148
 	DrugDosageName         string
149 149
 }
150
+
151
+type XtGoodInformation struct {
152
+	ID                          int64   `gorm:"column:id" json:"id" form:"id"`
153
+	GoodCode                    string  `gorm:"column:good_code" json:"good_code" form:"good_code"`
154
+	SpecificationName           string  `gorm:"column:specification_name" json:"specification_name" form:"specification_name"`
155
+	GoodTypeId                  int64   `gorm:"column:good_type_id" json:"good_type_id" form:"good_type_id"`
156
+	GoodUnit                    int64   `gorm:"column:good_unit" json:"good_unit" form:"good_unit"`
157
+	BuyPrice                    float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
158
+	SellPrice                   float64 `gorm:"column:sell_price" json:"sell_price" form:"sell_price"`
159
+	Remark                      string  `gorm:"column:remark" json:"remark" form:"remark"`
160
+	Ctime                       int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
161
+	Mtime                       int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
162
+	Manufacturer                int64   `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
163
+	Dealer                      int64   `gorm:"column:dealer" json:"dealer" form:"dealer"`
164
+	ExpiryDateWarnDayCount      int64   `gorm:"column:expiry_date_warn_day_count" json:"expiry_date_warn_day_count" form:"expiry_date_warn_day_count"`
165
+	StockWarnCount              int64   `gorm:"column:stock_warn_count" json:"stock_warn_count" form:"stock_warn_count"`
166
+	IsReuse                     int64   `gorm:"column:is_reuse" json:"is_reuse" form:"is_reuse"`
167
+	Status                      int64   `gorm:"column:status" json:"status" form:"status"`
168
+	FilmArea                    string  `gorm:"column:film_area" json:"film_area" form:"film_area"`
169
+	IsUse                       int64   `gorm:"column:is_use" json:"is_use" form:"is_use"`
170
+	FilmMaterialQuality         string  `gorm:"column:film_material_quality" json:"film_material_quality" form:"film_material_quality"`
171
+	OrgId                       int64   `gorm:"column:org_id" json:"org_id" form:"org_id"`
172
+	Modifier                    int64   `gorm:"column:modifier" json:"modifier" form:"modifier"`
173
+	Creater                     int64   `gorm:"column:creater" json:"creater" form:"creater"`
174
+	GoodName                    string  `gorm:"column:good_name" json:"good_name" form:"good_name"`
175
+	Pinyin                      string  `gorm:"column:pinyin" json:"pinyin" form:"pinyin"`
176
+	Wubi                        string  `gorm:"column:wubi" json:"wubi" form:"wubi"`
177
+	GoodKind                    int64   `gorm:"column:good_kind" json:"good_kind" form:"good_kind"`
178
+	MedicalInsuranceLevel       int64   `gorm:"column:medical_insurance_level" json:"medical_insurance_level" form:"medical_insurance_level"`
179
+	RetailPrice                 float64 `gorm:"column:retail_price" json:"retail_price" form:"retail_price"`
180
+	MedicalInsuranceNumber      string  `gorm:"column:medical_insurance_number" json:"medical_insurance_number" form:"medical_insurance_number"`
181
+	IsSpecialDiseases           int64   `gorm:"column:is_special_diseases" json:"is_special_diseases" form:"is_special_diseases"`
182
+	IsRecord                    int64   `gorm:"column:is_record" json:"is_record" form:"is_record"`
183
+	StatisticsCategory          int64   `gorm:"column:statistics_category" json:"statistics_category" form:"statistics_category"`
184
+	GoodStatus                  string  `gorm:"column:good_status" json:"good_status" form:"good_status"`
185
+	DefaultCount                int64   `gorm:"column:default_count" json:"default_count" form:"default_count"`
186
+	Sign                        int64   `gorm:"column:sign" json:"sign" form:"sign"`
187
+	IsDefault                   int64   `gorm:"column:is_default" json:"is_default" form:"is_default"`
188
+	IsChargeUse                 int64   `gorm:"column:is_charge_use" json:"is_charge_use" form:"is_charge_use"`
189
+	IsChargePredict             int64   `gorm:"column:is_charge_predict" json:"is_charge_predict" form:"is_charge_predict"`
190
+	IsStatisticsWork            int64   `gorm:"column:is_statistics_work" json:"is_statistics_work" form:"is_statistics_work"`
191
+	Sort                        int64   `gorm:"column:sort" json:"sort" form:"sort"`
192
+	IsDoctorUse                 int64   `gorm:"column:is_doctor_use" json:"is_doctor_use" form:"is_doctor_use"`
193
+	Agent                       string  `gorm:"column:agent" json:"agent" form:"agent"`
194
+	GoodNumber                  string  `gorm:"column:good_number" json:"good_number" form:"good_number"`
195
+	CommdityCode                string  `gorm:"column:commdity_code" json:"commdity_code" form:"commdity_code"`
196
+	SocialSecurityDirectoryCode string  `gorm:"column:social_security_directory_code" json:"social_security_directory_code" form:"social_security_directory_code"`
197
+	ProductionType              string  `gorm:"column:production_type" json:"production_type" form:"production_type"`
198
+	SpecialMedical              string  `gorm:"column:special_medical" json:"special_medical" form:"special_medical"`
199
+	ManufacturerName            string  `gorm:"column:manufacturer_name" json:"manufacturer_name" form:"manufacturer_name"`
200
+}
201
+
202
+type GoodInformation struct {
203
+	ID                          int64   `gorm:"column:id" json:"id" form:"id"`
204
+	GoodCode                    string  `gorm:"column:good_code" json:"good_code" form:"good_code"`
205
+	SpecificationName           string  `gorm:"column:specification_name" json:"specification_name" form:"specification_name"`
206
+	GoodTypeId                  int64   `gorm:"column:good_type_id" json:"good_type_id" form:"good_type_id"`
207
+	GoodUnit                    int64   `gorm:"column:good_unit" json:"good_unit" form:"good_unit"`
208
+	BuyPrice                    float64 `gorm:"column:buy_price" json:"buy_price" form:"buy_price"`
209
+	SellPrice                   float64 `gorm:"column:sell_price" json:"sell_price" form:"sell_price"`
210
+	Remark                      string  `gorm:"column:remark" json:"remark" form:"remark"`
211
+	Ctime                       int64   `gorm:"column:ctime" json:"ctime" form:"ctime"`
212
+	Mtime                       int64   `gorm:"column:mtime" json:"mtime" form:"mtime"`
213
+	Manufacturer                int64   `gorm:"column:manufacturer" json:"manufacturer" form:"manufacturer"`
214
+	Dealer                      int64   `gorm:"column:dealer" json:"dealer" form:"dealer"`
215
+	ExpiryDateWarnDayCount      int64   `gorm:"column:expiry_date_warn_day_count" json:"expiry_date_warn_day_count" form:"expiry_date_warn_day_count"`
216
+	StockWarnCount              int64   `gorm:"column:stock_warn_count" json:"stock_warn_count" form:"stock_warn_count"`
217
+	IsReuse                     int64   `gorm:"column:is_reuse" json:"is_reuse" form:"is_reuse"`
218
+	Status                      int64   `gorm:"column:status" json:"status" form:"status"`
219
+	FilmArea                    string  `gorm:"column:film_area" json:"film_area" form:"film_area"`
220
+	IsUse                       int64   `gorm:"column:is_use" json:"is_use" form:"is_use"`
221
+	FilmMaterialQuality         string  `gorm:"column:film_material_quality" json:"film_material_quality" form:"film_material_quality"`
222
+	OrgId                       int64   `gorm:"column:org_id" json:"org_id" form:"org_id"`
223
+	Modifier                    int64   `gorm:"column:modifier" json:"modifier" form:"modifier"`
224
+	Creater                     int64   `gorm:"column:creater" json:"creater" form:"creater"`
225
+	GoodName                    string  `gorm:"column:good_name" json:"good_name" form:"good_name"`
226
+	Pinyin                      string  `gorm:"column:pinyin" json:"pinyin" form:"pinyin"`
227
+	Wubi                        string  `gorm:"column:wubi" json:"wubi" form:"wubi"`
228
+	GoodKind                    int64   `gorm:"column:good_kind" json:"good_kind" form:"good_kind"`
229
+	MedicalInsuranceLevel       int64   `gorm:"column:medical_insurance_level" json:"medical_insurance_level" form:"medical_insurance_level"`
230
+	RetailPrice                 float64 `gorm:"column:retail_price" json:"retail_price" form:"retail_price"`
231
+	MedicalInsuranceNumber      string  `gorm:"column:medical_insurance_number" json:"medical_insurance_number" form:"medical_insurance_number"`
232
+	IsSpecialDiseases           int64   `gorm:"column:is_special_diseases" json:"is_special_diseases" form:"is_special_diseases"`
233
+	IsRecord                    int64   `gorm:"column:is_record" json:"is_record" form:"is_record"`
234
+	StatisticsCategory          int64   `gorm:"column:statistics_category" json:"statistics_category" form:"statistics_category"`
235
+	GoodStatus                  string  `gorm:"column:good_status" json:"good_status" form:"good_status"`
236
+	DefaultCount                int64   `gorm:"column:default_count" json:"default_count" form:"default_count"`
237
+	Sign                        int64   `gorm:"column:sign" json:"sign" form:"sign"`
238
+	IsDefault                   int64   `gorm:"column:is_default" json:"is_default" form:"is_default"`
239
+	IsChargeUse                 int64   `gorm:"column:is_charge_use" json:"is_charge_use" form:"is_charge_use"`
240
+	IsChargePredict             int64   `gorm:"column:is_charge_predict" json:"is_charge_predict" form:"is_charge_predict"`
241
+	IsStatisticsWork            int64   `gorm:"column:is_statistics_work" json:"is_statistics_work" form:"is_statistics_work"`
242
+	Sort                        int64   `gorm:"column:sort" json:"sort" form:"sort"`
243
+	IsDoctorUse                 int64   `gorm:"column:is_doctor_use" json:"is_doctor_use" form:"is_doctor_use"`
244
+	Agent                       string  `gorm:"column:agent" json:"agent" form:"agent"`
245
+	GoodNumber                  string  `gorm:"column:good_number" json:"good_number" form:"good_number"`
246
+	CommdityCode                string  `gorm:"column:commdity_code" json:"commdity_code" form:"commdity_code"`
247
+	SocialSecurityDirectoryCode string  `gorm:"column:social_security_directory_code" json:"social_security_directory_code" form:"social_security_directory_code"`
248
+	ProductionType              string  `gorm:"column:production_type" json:"production_type" form:"production_type"`
249
+	SpecialMedical              string  `gorm:"column:special_medical" json:"special_medical" form:"special_medical"`
250
+	ManufacturerName            string  `gorm:"column:manufacturer_name" json:"manufacturer_name" form:"manufacturer_name"`
251
+}

+ 41 - 0
models/his_models.go View File

@@ -1049,3 +1049,44 @@ type XtRole struct {
1049 1049
 func (XtRole) TableName() string {
1050 1050
 	return "sgj_user_role"
1051 1051
 }
1052
+
1053
+type MyHisProject struct {
1054
+	ID                        int64   `gorm:"column:id" json:"id" form:"id"`
1055
+	ProjectName               string  `gorm:"column:project_name" json:"project_name" form:"project_name"`
1056
+	Pinyin                    string  `gorm:"column:pinyin" json:"pinyin" form:"pinyin"`
1057
+	Wubi                      string  `gorm:"column:wubi" json:"wubi" form:"wubi"`
1058
+	Price                     float64 `gorm:"column:price" json:"price" form:"price"`
1059
+	Unit                      string  `gorm:"column:unit" json:"unit" form:"unit"`
1060
+	CostClassify              int64   `gorm:"column:cost_classify" json:"cost_classify" form:"cost_classify"`
1061
+	ExecutiveSection          int64   `gorm:"column:executive_section" json:"executive_section" form:"executive_section"`
1062
+	MedicalCoverage           int64   `gorm:"column:medical_coverage" json:"medical_coverage" form:"medical_coverage"`
1063
+	StatisticalClassification int64   `gorm:"column:statistical_classification" json:"statistical_classification" form:"statistical_classification"`
1064
+	DiseaseDirectory          int64   `gorm:"column:disease_directory" json:"disease_directory" form:"disease_directory"`
1065
+	IsRecord                  int64   `gorm:"column:is_record" json:"is_record" form:"is_record"`
1066
+	MedicalCode               string  `gorm:"column:medical_code" json:"medical_code" form:"medical_code"`
1067
+	TubeColor                 int64   `gorm:"column:tube_color" json:"tube_color" form:"tube_color"`
1068
+	MedicalStatus             int64   `gorm:"column:medical_status" json:"medical_status" form:"medical_status"`
1069
+	Remark                    string  `gorm:"column:remark" json:"remark" form:"remark"`
1070
+	Sign                      int64   `gorm:"column:sign" json:"sign" form:"sign"`
1071
+	DefaultNumber             string  `gorm:"column:default_number" json:"default_number" form:"default_number"`
1072
+	IsDefault                 int64   `gorm:"column:is_default" json:"is_default" form:"is_default"`
1073
+	IsCharge                  int64   `gorm:"column:is_charge" json:"is_charge" form:"is_charge"`
1074
+	IsEstimate                int64   `gorm:"column:is_estimate" json:"is_estimate" form:"is_estimate"`
1075
+	IsWorkload                int64   `gorm:"column:is_workload" json:"is_workload" form:"is_workload"`
1076
+	Sort                      string  `gorm:"column:sort" json:"sort" form:"sort"`
1077
+	DoctorAdvice              int64   `gorm:"column:doctor_advice" json:"doctor_advice" form:"doctor_advice"`
1078
+	UserOrgId                 int64   `gorm:"column:user_org_id" json:"user_org_id" form:"user_org_id"`
1079
+	Status                    int64   `gorm:"column:status" json:"status" form:"status"`
1080
+	CreatedTime               int64   `gorm:"column:created_time" json:"created_time" form:"created_time"`
1081
+	UpdatedTime               int64   `gorm:"column:updated_time" json:"updated_time" form:"updated_time"`
1082
+	SingleDose                string  `gorm:"column:single_dose" json:"single_dose" form:"single_dose"`
1083
+	ExecutionFrequency        string  `gorm:"column:execution_frequency" json:"execution_frequency" form:"execution_frequency"`
1084
+	DeliveryWay               string  `gorm:"column:delivery_way" json:"delivery_way" form:"delivery_way"`
1085
+	NumberDays                string  `gorm:"column:number_days" json:"number_days" form:"number_days"`
1086
+	Total                     string  `gorm:"column:total" json:"total" form:"total"`
1087
+	Category                  int64   `gorm:"column:category" json:"category" form:"category"`
1088
+}
1089
+
1090
+func (MyHisProject) TableName() string {
1091
+	return "xt_his_project"
1092
+}

+ 32 - 10
models/sz_his_models.go View File

@@ -20,16 +20,17 @@ type CustomDetail struct {
20 20
 }
21 21
 
22 22
 type DrugDetail struct {
23
-	MedicalInsuranceNumber string  //社保目录编码
24
-	Code                   string  // 药品本位码
25
-	DrugName               string  //医药机构内部目录名称
26
-	DrugSpec               string  //规格
27
-	DrugDosageName         string  //剂型
28
-	MinUnit                string  //计价单位
29
-	ManufacturerName       string  //厂家
30
-	RetailPrice            float64 //药品收费价格
31
-	LastPrice              float64 // 药品进货价格
32
-	LimitRemark            string  //药品备注
23
+	MedicalInsuranceNumber      string  //社保目录编码
24
+	Code                        string  // 药品本位码
25
+	DrugName                    string  //医药机构内部目录名称
26
+	DrugSpec                    string  //规格
27
+	DrugDosageName              string  //剂型
28
+	MinUnit                     string  //计价单位
29
+	ManufacturerName            string  //厂家
30
+	RetailPrice                 float64 //药品收费价格
31
+	LastPrice                   float64 // 药品进货价格
32
+	LimitRemark                 string  //药品备注
33
+	SocialSecurityDirectoryCode string  //社保目录编码
33 34
 }
34 35
 
35 36
 type DocDetail struct {
@@ -73,3 +74,24 @@ type DocDetail struct {
73 74
 	StaffCode                               string //医护人员编码
74 75
 	EndTime                                 int64  // 结束日期
75 76
 }
77
+
78
+type GoodDetail struct {
79
+	SpecificationName           string
80
+	GoodName                    string
81
+	MinUnit                     string  //计价单位
82
+	ManufacturerName            string  //厂家
83
+	BuyPrice                    float64 //进货价格
84
+	SellPrice                   float64 //出售价格
85
+	SocialSecurityDirectoryCode string  //社保目录编码
86
+	ProductionType              string  //生产地类别
87
+	SpecialMedical              string  //特殊医用材料标识
88
+	Remark                      string  //备注
89
+}
90
+
91
+type ProjectDetail struct {
92
+	SocialSecurityDirectoryCode string  //社保目录编码
93
+	ProjectName                 string  //协议机构内部目录名称
94
+	Price                       float64 //协议机构内部项目收费价格
95
+	Category                    string  //协议机构项目类别
96
+	Remark                      string  //备注
97
+}

+ 55 - 2
service/his_service.go View File

@@ -976,7 +976,7 @@ func GetDrugList(orgID int64) (drug []*models.BaseDrugList, err error) {
976 976
 	table := XTReadDB().Table("xt_manufacturer as m")
977 977
 	fmt.Print(table)
978 978
 	if orgID > 0 {
979
-		db = db.Where("x.org_id = ? and x.id = 278", orgID)
979
+		db = db.Where("x.org_id = ? ", orgID)
980 980
 	}
981 981
 	err = db.Select("x.id,x.medical_insurance_number,x.code,x.drug_name,x.drug_spec,x.drug_type,x.min_unit,x.last_price,x.retail_price,x.limit_remark,x.drug_dosage_form,m.manufacturer_name").Joins("left join xt_manufacturer as m on m.id = x.manufacturer").Scan(&drug).Error
982 982
 
@@ -991,7 +991,7 @@ func GetDrugDosageForm(orgid int64) (dataconfig []*models.XtDrugDataConfig, err
991 991
 
992 992
 func GetDoctorList(orgid int64) (role []*models.SgjUserAdminRole, err error) {
993 993
 
994
-	err = UserReadDB().Model(&role).Where("org_id = ? and status = 1", orgid).Find(&role).Error
994
+	err = UserReadDB().Model(&role).Where("org_id = ? and status = 1 and user_type = 2", orgid).Find(&role).Error
995 995
 	return role, err
996 996
 }
997 997
 
@@ -1000,3 +1000,56 @@ func GetRoleList(orgid int64) (role []*models.SgjUserRole, err error) {
1000 1000
 	err = UserReadDB().Model(&role).Where("org_id = ? and status =1", orgid).Find(&role).Error
1001 1001
 	return role, err
1002 1002
 }
1003
+
1004
+func GetDrugListByDetail(orgID int64, id int64) (drug []*models.BaseDrugList, err error) {
1005
+
1006
+	db := XTReadDB().Table("xt_base_drug as x").Where("x.status = 1")
1007
+	table := XTReadDB().Table("xt_manufacturer as m")
1008
+	fmt.Print(table)
1009
+	if orgID > 0 {
1010
+		db = db.Where("x.org_id = ? and x.id = ?", orgID, id)
1011
+	}
1012
+	err = db.Select("x.id,x.medical_insurance_number,x.code,x.drug_name,x.drug_spec,x.drug_type,x.min_unit,x.last_price,x.retail_price,x.limit_remark,x.drug_dosage_form,m.manufacturer_name").Joins("left join xt_manufacturer as m on m.id = x.manufacturer").Scan(&drug).Error
1013
+
1014
+	return drug, err
1015
+}
1016
+
1017
+func GetGoodInformationList(orgid int64) (good []*models.GoodInformation, err error) {
1018
+
1019
+	db := XTReadDB().Table("xt_good_information as x").Where("x.status=1")
1020
+	table := XTReadDB().Table("xt_manufacturer as m")
1021
+	fmt.Println(table)
1022
+	if orgid > 0 {
1023
+		db = db.Where("x.org_id = ?", orgid)
1024
+	}
1025
+	err = db.Select("x.id,x.social_security_directory_code,x.good_name,x.specification_name,x.production_type,x.special_medical,x.good_unit,x.buy_price,x.sell_price,x.remark,m.manufacturer_name").Joins("left join xt_manufacturer as m on m.id = x.manufacturer").Scan(&good).Error
1026
+	return good, err
1027
+}
1028
+
1029
+func GetGoodListByDetail(orgid int64, id int64) (good []*models.GoodInformation, err error) {
1030
+	db := XTReadDB().Table("xt_good_information as x").Where("x.status=1")
1031
+	table := XTReadDB().Table("xt_manufacturer as m")
1032
+	fmt.Println(table)
1033
+	if orgid > 0 {
1034
+		db = db.Where("x.org_id = ? and x.id= ?", orgid, id)
1035
+	}
1036
+	err = db.Select("x.id,x.social_security_directory_code,x.good_name,x.specification_name,x.production_type,x.special_medical,x.good_unit,x.buy_price,x.sell_price,x.remark,m.manufacturer_name").Joins("left join xt_manufacturer as m on m.id = x.manufacturer").Scan(&good).Error
1037
+	return good, err
1038
+}
1039
+
1040
+func GetDoctorListByDetail(orgid int64, id int64) (role []*models.SgjUserAdminRole, err error) {
1041
+
1042
+	err = UserReadDB().Model(&role).Where("org_id = ? and status = 1 and id = ? and user_type = 2", orgid, id).Find(&role).Error
1043
+	return role, err
1044
+}
1045
+
1046
+func GetMyPorjecgList(orgid int64) (project []*models.MyHisProject, err error) {
1047
+
1048
+	err = XTReadDB().Model(&project).Where("user_org_id = ? and status = 1", orgid).Find(&project).Error
1049
+	return project, err
1050
+}
1051
+
1052
+func GetMyPorjecgListDetail(orgid int64, id int64) (project []*models.MyHisProject, err error) {
1053
+	err = XTReadDB().Model(&project).Where("user_org_id = ? and status = 1 and id = ?", orgid, id).Find(&project).Error
1054
+	return project, err
1055
+}

+ 85 - 18
service/sz_his_service.go View File

@@ -8,6 +8,7 @@ import (
8 8
 	"io/ioutil"
9 9
 	"math/rand"
10 10
 	"net/http"
11
+	"strconv"
11 12
 	"time"
12 13
 	_ "unsafe"
13 14
 )
@@ -637,7 +638,7 @@ func SetSZDrugMessage(doctor string, doctor_code string, fixmedins_code string)
637 638
 	return inputMessage
638 639
 }
639 640
 
640
-func SzybML009(doctor string, doctor_code string, fixmedins_code string, datas []*models.DrugDetail) string {
641
+func SzybML009(doctor string, doctor_code string, fixmedins_code string, datas []*models.ProjectDetail) string {
641 642
 	//生成输入报文
642 643
 	inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code)
643 644
 
@@ -649,14 +650,14 @@ func SzybML009(doctor string, doctor_code string, fixmedins_code string, datas [
649 650
 
650 651
 	for _, item := range datas {
651 652
 		feedetailInfo := make(map[string]interface{})
652
-		feedetailInfo["ake001"] = item.MedicalInsuranceNumber //社保目录编码
653
-		feedetailInfo["ake005"] = "110100002"                 //协议机构内部目录编码
654
-		feedetailInfo["ake006"] = item.DrugName               // 协议机构内部目录名称
655
-		feedetailInfo["bkf131"] = "4"                         //协议机构项目类别
656
-		feedetailInfo["bkm062"] = "0"                         // 门诊特检项目标识
657
-		feedetailInfo["bka506"] = item.RetailPrice            // 协议机构内部项目收费价格
658
-		feedetailInfo["aae030"] = 20210407                    // 备案日期
659
-		feedetailInfo["aae013"] = item.LimitRemark            // 备注
653
+		feedetailInfo["ake001"] = item.SocialSecurityDirectoryCode //社保目录编码
654
+		feedetailInfo["ake005"] = "110100002"                      //协议机构内部目录编码
655
+		feedetailInfo["ake006"] = item.ProjectName                 // 协议机构内部目录名称
656
+		feedetailInfo["bkf131"] = item.Category                    //协议机构项目类别
657
+		feedetailInfo["bkm062"] = "0"                              // 门诊特检项目标识
658
+		feedetailInfo["bka506"] = item.Price                       // 协议机构内部项目收费价格
659
+		feedetailInfo["aae030"] = 20210407                         // 备案日期
660
+		feedetailInfo["aae013"] = item.Remark                      // 备注
660 661
 		feedetail = append(feedetail, feedetailInfo)
661 662
 	}
662 663
 	fmt.Println("feeedDetal2333333333", feedetail)
@@ -698,7 +699,7 @@ func SzybML009(doctor string, doctor_code string, fixmedins_code string, datas [
698 699
 
699 700
 }
700 701
 
701
-func SzybML010(doctor string, doctor_code string, fixmedins_code string, datas []*models.DrugDetail) string {
702
+func SzybML010(doctor string, doctor_code string, fixmedins_code string, datas []*models.DrugDetail, typeId int64) string {
702 703
 	//生成输入报文
703 704
 	inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code)
704 705
 
@@ -710,7 +711,7 @@ func SzybML010(doctor string, doctor_code string, fixmedins_code string, datas [
710 711
 
711 712
 	for _, item := range datas {
712 713
 		feedetailInfo := make(map[string]interface{})
713
-		feedetailInfo["ake003"] = "1"
714
+		feedetailInfo["ake003"] = strconv.FormatInt(typeId, 10)
714 715
 		feedetailInfo["ake001"] = item.MedicalInsuranceNumber //社保目录编码
715 716
 		feedetailInfo["ake005"] = "110100002"                 //协议机构内部目录编码
716 717
 		feedetail = append(feedetail, feedetailInfo)
@@ -761,13 +762,14 @@ func SzybYS001(doctor string, doctor_code string, fixmedins_code string, datas [
761 762
 	inputData := make(map[string]interface{})
762 763
 
763 764
 	inputData["listsize"] = len(datas)
764
-	inputMessage["transType"] = "ML010" // 交易编码
765
+	inputMessage["transType"] = "YS001" // 交易编码
765 766
 	feedetail := make([]map[string]interface{}, 0)
766 767
 
767 768
 	for _, item := range datas {
769
+		fmt.Println("item222222", item.RoleId)
768 770
 		feedetailInfo := make(map[string]interface{})
769 771
 		feedetailInfo["aac003"] = item.UserName
770
-		feedetailInfo["bka633"] = item.RoleId
772
+		feedetailInfo["bka633"] = "1"
771 773
 		feedetailInfo["aac004"] = item.Sex
772 774
 		feedetailInfo["aac058"] = item.CardType
773 775
 		feedetailInfo["aac147"] = item.IdCard
@@ -852,14 +854,14 @@ func SzybYS002(doctor string, doctor_code string, fixmedins_code string, datas [
852 854
 	inputData := make(map[string]interface{})
853 855
 
854 856
 	inputData["listsize"] = len(datas)
855
-	inputMessage["transType"] = "ML010" // 交易编码
857
+	inputMessage["transType"] = "YS002" // 交易编码
856 858
 	feedetail := make([]map[string]interface{}, 0)
857 859
 
858 860
 	for _, item := range datas {
859 861
 		fmt.Println("item2222", item)
860 862
 		feedetailInfo := make(map[string]interface{})
861
-		feedetailInfo["bkc320"] = 1111
862
-		feedetailInfo["bke155"] = ""
863
+		feedetailInfo["bkc320"] = "H27224269"
864
+		feedetailInfo["bke155"] = "4"
863 865
 		feedetail = append(feedetail, feedetailInfo)
864 866
 	}
865 867
 
@@ -908,12 +910,12 @@ func SzybYS003(doctor string, doctor_code string, fixmedins_code string, datas [
908 910
 	inputData := make(map[string]interface{})
909 911
 
910 912
 	inputData["listsize"] = len(datas)
911
-	inputMessage["transType"] = "ML010" // 交易编码
913
+	inputMessage["transType"] = "YS003" // 交易编码
912 914
 	feedetail := make([]map[string]interface{}, 0)
913 915
 
914 916
 	for _, item := range datas {
915 917
 		feedetailInfo := make(map[string]interface{})
916
-		feedetailInfo["bkc320"] = ""
918
+		feedetailInfo["bkc320"] = item.StaffCode
917 919
 		feedetailInfo["aac003"] = item.UserName
918 920
 		feedetailInfo["bka633"] = item.RoleId
919 921
 		feedetailInfo["aac004"] = item.Sex
@@ -992,6 +994,71 @@ func SzybYS003(doctor string, doctor_code string, fixmedins_code string, datas [
992 994
 	return str
993 995
 }
994 996
 
997
+func SzybYML007(doctor string, doctor_code string, fixmedins_code string, datas []*models.GoodDetail) string {
998
+
999
+	//生成输入报文
1000
+	inputMessage := SetSZDrugMessage(doctor, doctor_code, fixmedins_code)
1001
+
1002
+	inputData := make(map[string]interface{})
1003
+
1004
+	inputData["listsize"] = len(datas)
1005
+	inputMessage["transType"] = "ML007" // 交易编码
1006
+	feedetail := make([]map[string]interface{}, 0)
1007
+
1008
+	for _, item := range datas {
1009
+		fmt.Println("item222222222", item.BuyPrice)
1010
+		feedetailInfo := make(map[string]interface{})
1011
+		feedetailInfo["ake001"] = item.SocialSecurityDirectoryCode // 社保目录编码
1012
+		feedetailInfo["ake005"] = "110100002"                      //协议机构内部目录编码
1013
+		feedetailInfo["ake006"] = item.GoodName                    //医药机构内部目录名称
1014
+		feedetailInfo["bka053"] = item.ManufacturerName            //生产厂家
1015
+		feedetailInfo["ake004"] = "1"                              //生产地类别
1016
+		feedetailInfo["ckf261"] = "1"                              //特殊医用材料标识
1017
+		feedetailInfo["aka067"] = "支"                              //计价单位
1018
+		feedetailInfo["aka074"] = "ftp"                            //规格
1019
+		feedetailInfo["bka505"] = item.BuyPrice                    //进货价
1020
+		feedetailInfo["bka506"] = item.SellPrice                   // 收获价
1021
+		feedetailInfo["aae013"] = item.Remark                      //备注
1022
+		feedetail = append(feedetail, feedetailInfo)
1023
+	}
1024
+
1025
+	inputData["inputlist"] = feedetail
1026
+	inputMessage["transBody"] = inputData
1027
+
1028
+	bytesData, err := json.Marshal(inputMessage)
1029
+	fmt.Println(string(bytesData))
1030
+	if err != nil {
1031
+		fmt.Println(err.Error())
1032
+		return err.Error()
1033
+	}
1034
+	reader := bytes.NewReader(bytesData)
1035
+	//url := "http://192.168.1.99:10000"
1036
+	url := "http://192.168.1.228:17001/szsi-portal/transData"
1037
+
1038
+	request, err := http.NewRequest("POST", url, reader)
1039
+	if err != nil {
1040
+		fmt.Println(err.Error())
1041
+		return err.Error()
1042
+	}
1043
+
1044
+	request.Header.Set("Content-Type", "application/json;charset=UTF-8")
1045
+
1046
+	client := http.Client{}
1047
+	resp, err := client.Do(request)
1048
+	if err != nil {
1049
+		fmt.Println(err.Error())
1050
+		return err.Error()
1051
+	}
1052
+	respBytes, err := ioutil.ReadAll(resp.Body)
1053
+	if err != nil {
1054
+		fmt.Println(err.Error())
1055
+		return err.Error()
1056
+	}
1057
+	fmt.Println(string(respBytes))
1058
+	str := string(respBytes)
1059
+	return str
1060
+}
1061
+
995 1062
 func GetDoseCode(dose_id int64, user_org_id int64) (error, string) {
996 1063
 	var data models.DictDataconfig
997 1064
 	err := readDb.Model(&models.DictDataconfig{}).Where(" (org_id = ? Or org_id = 0) AND parent_id = 4 AND module = 'system' AND status = 1 AND value = ?", user_org_id, dose_id).First(&data).Error