XMLWAN 4 years ago
parent
commit
96c0b9fc81
2 changed files with 116 additions and 86 deletions
  1. 4 4
      controllers/base_api_controller.go
  2. 112 82
      service/common_service.go

+ 4 - 4
controllers/base_api_controller.go View File

81
 		userAdmin.ModifyTime = 1530786071
81
 		userAdmin.ModifyTime = 1530786071
82
 		var subscibe models.ServeSubscibe
82
 		var subscibe models.ServeSubscibe
83
 		subscibe.ID = 1
83
 		subscibe.ID = 1
84
-		subscibe.OrgId = 9841
84
+		subscibe.OrgId = 7957
85
 		subscibe.PeriodStart = 1538035409
85
 		subscibe.PeriodStart = 1538035409
86
 		subscibe.PeriodEnd = 1569571409
86
 		subscibe.PeriodEnd = 1569571409
87
 		subscibe.State = 1
87
 		subscibe.State = 1
91
 		subscibes := make(map[int64]*models.ServeSubscibe, 0)
91
 		subscibes := make(map[int64]*models.ServeSubscibe, 0)
92
 		subscibes[4] = &subscibe
92
 		subscibes[4] = &subscibe
93
 		var adminUserInfo service.AdminUserInfo
93
 		var adminUserInfo service.AdminUserInfo
94
-		adminUserInfo.CurrentOrgId = 9841
94
+		adminUserInfo.CurrentOrgId = 7957
95
 		adminUserInfo.CurrentAppId = 18
95
 		adminUserInfo.CurrentAppId = 18
96
 		adminUserInfo.AdminUser = &userAdmin
96
 		adminUserInfo.AdminUser = &userAdmin
97
 		adminUserInfo.Subscibes = subscibes
97
 		adminUserInfo.Subscibes = subscibes
326
 		userAdmin.ModifyTime = 1530786071
326
 		userAdmin.ModifyTime = 1530786071
327
 		var subscibe models.ServeSubscibe
327
 		var subscibe models.ServeSubscibe
328
 		subscibe.ID = 1
328
 		subscibe.ID = 1
329
-		subscibe.OrgId = 9841
329
+		subscibe.OrgId = 7957
330
 		subscibe.PeriodStart = 1538035409
330
 		subscibe.PeriodStart = 1538035409
331
 		subscibe.PeriodEnd = 1569571409
331
 		subscibe.PeriodEnd = 1569571409
332
 		subscibe.State = 1
332
 		subscibe.State = 1
336
 		subscibes := make(map[int64]*models.ServeSubscibe, 0)
336
 		subscibes := make(map[int64]*models.ServeSubscibe, 0)
337
 		subscibes[4] = &subscibe
337
 		subscibes[4] = &subscibe
338
 		var adminUserInfo service.AdminUserInfo
338
 		var adminUserInfo service.AdminUserInfo
339
-		adminUserInfo.CurrentOrgId = 9841
339
+		adminUserInfo.CurrentOrgId = 7957
340
 		adminUserInfo.CurrentAppId = 18
340
 		adminUserInfo.CurrentAppId = 18
341
 		adminUserInfo.AdminUser = &userAdmin
341
 		adminUserInfo.AdminUser = &userAdmin
342
 		adminUserInfo.Subscibes = subscibes
342
 		adminUserInfo.Subscibes = subscibes

+ 112 - 82
service/common_service.go View File

1854
 	if lapseto == 0 {
1854
 	if lapseto == 0 {
1855
 		d := XTReadDB().Table("xt_patients as s")
1855
 		d := XTReadDB().Table("xt_patients as s")
1856
 		fmt.Println("d", d)
1856
 		fmt.Println("d", d)
1857
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
1857
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 1")
1858
 		table := XTReadDB().Table("xt_quality_control_standard as r")
1858
 		table := XTReadDB().Table("xt_quality_control_standard as r")
1859
 		fmt.Println(table)
1859
 		fmt.Println(table)
1860
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
1860
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
1861
 			"SELECT " +
1861
 			"SELECT " +
1862
 			"CASE " +
1862
 			"CASE " +
1863
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '一月'" +
1864
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '二月'" +
1865
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '三月'" +
1866
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '四月'" +
1867
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '五月'" +
1868
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '六月'" +
1869
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '七月'" +
1870
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '八月'" +
1871
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '九月'" +
1872
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十月'" +
1873
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十一月'" +
1874
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十二月'" +
1863
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '一月'" +
1864
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '二月'" +
1865
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '三月'" +
1866
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '四月'" +
1867
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '五月'" +
1868
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '六月'" +
1869
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '七月'" +
1870
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '八月'" +
1871
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '九月'" +
1872
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '十月'" +
1873
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '十一月'" +
1874
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '十二月'" +
1875
 			" ELSE '其他'" +
1875
 			" ELSE '其他'" +
1876
-			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1 or s.lapseto = 2) and (x.inspect_value <> r.range_value)"
1876
+			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1 or s.lapseto = 2) and (x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0 )"
1877
 		countParams := make([]interface{}, 0)
1877
 		countParams := make([]interface{}, 0)
1878
 		countParams = append(countParams, januaryStartStrUnix)
1878
 		countParams = append(countParams, januaryStartStrUnix)
1879
 		countParams = append(countParams, januaryEndStrUnix)
1879
 		countParams = append(countParams, januaryEndStrUnix)
1904
 			countSQL += " AND x.org_id=?"
1904
 			countSQL += " AND x.org_id=?"
1905
 			countParams = append(countParams, orgid)
1905
 			countParams = append(countParams, orgid)
1906
 		}
1906
 		}
1907
+		if orgid > 0 {
1908
+			db = db.Where("r.user_org_id=?", orgid)
1909
+			countSQL += " AND r.user_org_id=?"
1910
+			countParams = append(countParams, orgid)
1911
+		}
1907
 		if modetype > 0 {
1912
 		if modetype > 0 {
1908
 			db = db.Where("x.item_id = ?", modetype)
1913
 			db = db.Where("x.item_id = ?", modetype)
1909
 			countSQL += " AND x.item_id=?"
1914
 			countSQL += " AND x.item_id=?"
1927
 
1932
 
1928
 		d := XTReadDB().Table("xt_patients as s")
1933
 		d := XTReadDB().Table("xt_patients as s")
1929
 		fmt.Println("d", d)
1934
 		fmt.Println("d", d)
1930
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
1935
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 1")
1931
 		table := XTReadDB().Table("xt_quality_control_standard as r")
1936
 		table := XTReadDB().Table("xt_quality_control_standard as r")
1932
 		fmt.Println(table)
1937
 		fmt.Println(table)
1933
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
1938
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
1934
 			"SELECT " +
1939
 			"SELECT " +
1935
 			"CASE " +
1940
 			"CASE " +
1936
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '一月'" +
1937
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '二月'" +
1938
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '三月'" +
1939
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '四月'" +
1940
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '五月'" +
1941
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '六月'" +
1942
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '七月'" +
1943
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '八月'" +
1944
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '九月'" +
1945
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十月'" +
1946
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十一月'" +
1947
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十二月'" +
1941
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '一月'" +
1942
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '二月'" +
1943
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '三月'" +
1944
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '四月'" +
1945
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '五月'" +
1946
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '六月'" +
1947
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '七月'" +
1948
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '八月'" +
1949
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '九月'" +
1950
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '十月'" +
1951
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '十一月'" +
1952
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '十二月'" +
1948
 			" ELSE '其他'" +
1953
 			" ELSE '其他'" +
1949
-			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1) and (x.inspect_value <> r.range_value)"
1954
+			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1) and (x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0 )"
1950
 		countParams := make([]interface{}, 0)
1955
 		countParams := make([]interface{}, 0)
1951
 		countParams = append(countParams, januaryStartStrUnix)
1956
 		countParams = append(countParams, januaryStartStrUnix)
1952
 		countParams = append(countParams, januaryEndStrUnix)
1957
 		countParams = append(countParams, januaryEndStrUnix)
1977
 			countSQL += " AND x.org_id=?"
1982
 			countSQL += " AND x.org_id=?"
1978
 			countParams = append(countParams, orgid)
1983
 			countParams = append(countParams, orgid)
1979
 		}
1984
 		}
1985
+		if orgid > 0 {
1986
+			db = db.Where("r.user_org_id=?", orgid)
1987
+			countSQL += " AND r.user_org_id=?"
1988
+			countParams = append(countParams, orgid)
1989
+		}
1980
 		if modetype > 0 {
1990
 		if modetype > 0 {
1981
 			db = db.Where("x.item_id = ?", modetype)
1991
 			db = db.Where("x.item_id = ?", modetype)
1982
 			countSQL += " AND x.item_id=?"
1992
 			countSQL += " AND x.item_id=?"
1999
 	if lapseto == 2 {
2009
 	if lapseto == 2 {
2000
 		d := XTReadDB().Table("xt_patients as s")
2010
 		d := XTReadDB().Table("xt_patients as s")
2001
 		fmt.Println("d", d)
2011
 		fmt.Println("d", d)
2002
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
2012
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 1")
2003
 		table := XTReadDB().Table("xt_quality_control_standard as r")
2013
 		table := XTReadDB().Table("xt_quality_control_standard as r")
2004
 		fmt.Println(table)
2014
 		fmt.Println(table)
2005
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2015
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2006
 			"SELECT " +
2016
 			"SELECT " +
2007
 			"CASE " +
2017
 			"CASE " +
2008
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '一月'" +
2009
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '二月'" +
2010
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '三月'" +
2011
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '四月'" +
2012
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '五月'" +
2013
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '六月'" +
2014
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '七月'" +
2015
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '八月'" +
2016
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '九月'" +
2017
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十月'" +
2018
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十一月'" +
2019
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十二月'" +
2018
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '一月'" +
2019
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '二月'" +
2020
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '三月'" +
2021
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '四月'" +
2022
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '五月'" +
2023
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '六月'" +
2024
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '七月'" +
2025
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '八月'" +
2026
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '九月'" +
2027
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '十月'" +
2028
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0  THEN '十一月'" +
2029
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0   THEN '十二月'" +
2020
 			" ELSE '其他'" +
2030
 			" ELSE '其他'" +
2021
-			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 2) and (x.inspect_value <> r.range_value)"
2031
+			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 2) and (x.inspect_value +0 >= r.min_range +0 and x.inspect_value +0 <= r.large_range +0 )"
2022
 		countParams := make([]interface{}, 0)
2032
 		countParams := make([]interface{}, 0)
2023
 		countParams = append(countParams, januaryStartStrUnix)
2033
 		countParams = append(countParams, januaryStartStrUnix)
2024
 		countParams = append(countParams, januaryEndStrUnix)
2034
 		countParams = append(countParams, januaryEndStrUnix)
2049
 			countSQL += " AND x.org_id=?"
2059
 			countSQL += " AND x.org_id=?"
2050
 			countParams = append(countParams, orgid)
2060
 			countParams = append(countParams, orgid)
2051
 		}
2061
 		}
2062
+		if orgid > 0 {
2063
+			db = db.Where("r.user_org_id=?", orgid)
2064
+			countSQL += " AND r.user_org_id=?"
2065
+			countParams = append(countParams, orgid)
2066
+		}
2052
 		if modetype > 0 {
2067
 		if modetype > 0 {
2053
 			db = db.Where("x.item_id = ?", modetype)
2068
 			db = db.Where("x.item_id = ?", modetype)
2054
 			countSQL += " AND x.item_id=?"
2069
 			countSQL += " AND x.item_id=?"
2080
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2095
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2081
 			"SELECT " +
2096
 			"SELECT " +
2082
 			"CASE " +
2097
 			"CASE " +
2083
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '一月'" +
2084
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '二月'" +
2085
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '三月'" +
2086
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '四月'" +
2087
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '五月'" +
2088
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '六月'" +
2089
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '七月'" +
2090
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '八月'" +
2091
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '九月'" +
2092
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十月'" +
2093
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十一月'" +
2094
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十二月'" +
2098
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '一月'" +
2099
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '二月'" +
2100
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '三月'" +
2101
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '四月'" +
2102
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '五月'" +
2103
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '六月'" +
2104
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '七月'" +
2105
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '八月'" +
2106
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '九月'" +
2107
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十月'" +
2108
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十一月'" +
2109
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十二月'" +
2095
 			" ELSE '其他'" +
2110
 			" ELSE '其他'" +
2096
-			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1 or s.lapseto = 2) and (x.inspect_value <> r.range_value)"
2111
+			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1 or s.lapseto = 2) and (x.inspect_value = r.range_value)"
2097
 		countParams := make([]interface{}, 0)
2112
 		countParams := make([]interface{}, 0)
2098
 		countParams = append(countParams, januaryStartStrUnix)
2113
 		countParams = append(countParams, januaryStartStrUnix)
2099
 		countParams = append(countParams, januaryEndStrUnix)
2114
 		countParams = append(countParams, januaryEndStrUnix)
2124
 			countSQL += " AND x.org_id=?"
2139
 			countSQL += " AND x.org_id=?"
2125
 			countParams = append(countParams, orgid)
2140
 			countParams = append(countParams, orgid)
2126
 		}
2141
 		}
2142
+		if orgid > 0 {
2143
+			db = db.Where("r.user_org_id=?", orgid)
2144
+			countSQL += " AND r.user_org_id=?"
2145
+			countParams = append(countParams, orgid)
2146
+		}
2127
 		if modetype > 0 {
2147
 		if modetype > 0 {
2128
 			db = db.Where("x.item_id = ?", modetype)
2148
 			db = db.Where("x.item_id = ?", modetype)
2129
 			countSQL += " AND x.item_id=?"
2149
 			countSQL += " AND x.item_id=?"
2153
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2173
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2154
 			"SELECT " +
2174
 			"SELECT " +
2155
 			"CASE " +
2175
 			"CASE " +
2156
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '一月'" +
2157
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '二月'" +
2158
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '三月'" +
2159
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '四月'" +
2160
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '五月'" +
2161
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '六月'" +
2162
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '七月'" +
2163
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '八月'" +
2164
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '九月'" +
2165
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十月'" +
2166
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十一月'" +
2167
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十二月'" +
2176
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '一月'" +
2177
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '二月'" +
2178
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '三月'" +
2179
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '四月'" +
2180
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '五月'" +
2181
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '六月'" +
2182
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '七月'" +
2183
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '八月'" +
2184
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '九月'" +
2185
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十月'" +
2186
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十一月'" +
2187
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十二月'" +
2168
 			" ELSE '其他'" +
2188
 			" ELSE '其他'" +
2169
-			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1) and (x.inspect_value <> r.range_value)"
2189
+			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 1) and (x.inspect_value = r.range_value)"
2170
 		countParams := make([]interface{}, 0)
2190
 		countParams := make([]interface{}, 0)
2171
 		countParams = append(countParams, januaryStartStrUnix)
2191
 		countParams = append(countParams, januaryStartStrUnix)
2172
 		countParams = append(countParams, januaryEndStrUnix)
2192
 		countParams = append(countParams, januaryEndStrUnix)
2197
 			countSQL += " AND x.org_id=?"
2217
 			countSQL += " AND x.org_id=?"
2198
 			countParams = append(countParams, orgid)
2218
 			countParams = append(countParams, orgid)
2199
 		}
2219
 		}
2220
+		if orgid > 0 {
2221
+			db = db.Where("r.user_org_id=?", orgid)
2222
+			countSQL += " AND r.user_org_id=?"
2223
+			countParams = append(countParams, orgid)
2224
+		}
2200
 		if modetype > 0 {
2225
 		if modetype > 0 {
2201
 			db = db.Where("x.item_id = ?", modetype)
2226
 			db = db.Where("x.item_id = ?", modetype)
2202
 			countSQL += " AND x.item_id=?"
2227
 			countSQL += " AND x.item_id=?"
2225
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2250
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2226
 			"SELECT " +
2251
 			"SELECT " +
2227
 			"CASE " +
2252
 			"CASE " +
2228
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '一月'" +
2229
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '二月'" +
2230
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '三月'" +
2231
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '四月'" +
2232
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '五月'" +
2233
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '六月'" +
2234
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '七月'" +
2235
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '八月'" +
2236
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '九月'" +
2237
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十月'" +
2238
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十一月'" +
2239
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十二月'" +
2253
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '一月'" +
2254
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '二月'" +
2255
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '三月'" +
2256
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '四月'" +
2257
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '五月'" +
2258
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '六月'" +
2259
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '七月'" +
2260
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '八月'" +
2261
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '九月'" +
2262
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十月'" +
2263
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十一月'" +
2264
+			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value = r.range_value  THEN '十二月'" +
2240
 			" ELSE '其他'" +
2265
 			" ELSE '其他'" +
2241
-			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 2) and (x.inspect_value <> r.range_value)"
2266
+			"END AS nnd FROM xt_inspection as x LEFT JOIN xt_quality_control_standard AS r ON r.inspection_minor = x.item_id left join xt_patients as s on s.id = x.patient_id  WHERE x.status=1 and (s.lapseto = 2) and (x.inspect_value = r.range_value)"
2242
 		countParams := make([]interface{}, 0)
2267
 		countParams := make([]interface{}, 0)
2243
 		countParams = append(countParams, januaryStartStrUnix)
2268
 		countParams = append(countParams, januaryStartStrUnix)
2244
 		countParams = append(countParams, januaryEndStrUnix)
2269
 		countParams = append(countParams, januaryEndStrUnix)
2269
 			countSQL += " AND x.org_id=?"
2294
 			countSQL += " AND x.org_id=?"
2270
 			countParams = append(countParams, orgid)
2295
 			countParams = append(countParams, orgid)
2271
 		}
2296
 		}
2297
+		if orgid > 0 {
2298
+			db = db.Where("r.user_org_id=?", orgid)
2299
+			countSQL += " AND r.user_org_id=?"
2300
+			countParams = append(countParams, orgid)
2301
+		}
2272
 		if modetype > 0 {
2302
 		if modetype > 0 {
2273
 			db = db.Where("x.item_id = ?", modetype)
2303
 			db = db.Where("x.item_id = ?", modetype)
2274
 			countSQL += " AND x.item_id=?"
2304
 			countSQL += " AND x.item_id=?"
2492
 	if inspectdate > 0 {
2522
 	if inspectdate > 0 {
2493
 		db = db.Where("x.inspect_date = ?", inspectdate)
2523
 		db = db.Where("x.inspect_date = ?", inspectdate)
2494
 	}
2524
 	}
2495
-	err = db.Group("x.id").Select("x.id,x.patient_id,x.item_id,x.item_name,x.inspect_value,x.inspect_date,s.name,s.dialysis_no,r.range_max,r.range_min,d.sort,r.unit").Joins("left join xt_patients as s on s.id = x.patient_id").Joins("left join xt_inspection_reference as r on r.id = x.item_id").Joins("left join xt_quality_control_standard as d on d.inspection_minor = x.item_id").Order("x.inspect_date desc").Scan(&inspection).Error
2525
+	err = db.Group("x.id").Select("x.id,x.patient_id,x.item_id,x.item_name,x.inspect_value,x.inspect_date,s.name,s.dialysis_no,r.range_max,r.range_min,d.sort,r.unit,d.range_type").Joins("left join xt_patients as s on s.id = x.patient_id").Joins("left join xt_inspection_reference as r on r.id = x.item_id").Joins("left join xt_quality_control_standard as d on d.inspection_minor = x.item_id").Order("x.inspect_date desc").Scan(&inspection).Error
2496
 
2526
 
2497
 	return inspection, err
2527
 	return inspection, err
2498
 }
2528
 }