Browse Source

患者检验检查统计开发

XMLWAN 4 years ago
parent
commit
f9dac9c239

+ 30 - 11
controllers/new_mobile_api_controllers/new_common_api_controller.go View File

@@ -687,19 +687,38 @@ func (this *NewCommonApiController) GetMobileMonthProjectList() {
687 687
 	decEndStrs, _ := utils.ParseTimeStringToTime("2006-01-02 15:04:05", decEndStr)
688 688
 	decEndStrsUnix := decEndStrs.Unix()
689 689
 	fmt.Println("12月末", decEndStrsUnix)
690
-	//统计总共
691
-	monthlist, err := service.GetMonthProjectList(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
692
-	//统计不合格
693
-	monthNolist, err := service.GetMonthProjectListTwo(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
694
-	if err != nil {
695
-		this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
696
-		return
690
+	range_type, _ := this.GetInt64("range_type")
691
+	if range_type == 1 {
692
+		//统计总共
693
+		monthlist, err := service.GetMonthProjectList(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
694
+		//统计不合格
695
+		monthNolist, err := service.GetMonthProjectListTwo(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
696
+		if err != nil {
697
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
698
+			return
699
+		}
700
+
701
+		this.ServeSuccessJSON(map[string]interface{}{
702
+			"monthlist":   monthlist,
703
+			"monthNolist": monthNolist,
704
+		})
705
+	}
706
+	if range_type == 2 {
707
+		//统计总共
708
+		monthlist, err := service.GetMonthProjectList(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
709
+		//统计不合格
710
+		monthNolist, err := service.GetMonthProjectListThree(orgid, lapseto, modetype, januaryStartStrUnix, januaryEndStrUnix, febStartStrStrUnix, febEndStrUnix, marchStartStrUnix, marchEndStrUnix, aprStartStrUnix, aprEndStrsUnix, mayStartStrUnix, mayEndStrsUnix, junStartStrUnix, junEndStrsUnix, julStartStrUnix, julEndStrsUnix, augStartStrUnix, augEndStrsUnix, sepStartStrUnix, sepEndStrsUnix, octStartStrUnix, octEndStrsUnix, novStartStrUnix, novEndStrsUnix, decStartStrUnix, decEndStrsUnix)
711
+		if err != nil {
712
+			this.ServeFailJSONWithSGJErrorCode(enums.ErrorCodeSystemError)
713
+			return
714
+		}
715
+
716
+		this.ServeSuccessJSON(map[string]interface{}{
717
+			"monthlist":   monthlist,
718
+			"monthNolist": monthNolist,
719
+		})
697 720
 	}
698 721
 
699
-	this.ServeSuccessJSON(map[string]interface{}{
700
-		"monthlist":   monthlist,
701
-		"monthNolist": monthNolist,
702
-	})
703 722
 }
704 723
 
705 724
 func (this *NewCommonApiController) GetAllMobileMajorInspection() {

+ 76 - 76
service/common_service.go View File

@@ -1854,26 +1854,26 @@ func GetMonthProjectListTwo(orgid int64, lapseto int64, modetype int64, januaryS
1854 1854
 	if lapseto == 0 {
1855 1855
 		d := XTReadDB().Table("xt_patients as s")
1856 1856
 		fmt.Println("d", d)
1857
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_value <> 0")
1858
-		table := XTReadDB().Table("xt_inspection_reference as r")
1857
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
1858
+		table := XTReadDB().Table("xt_quality_control_standard as r")
1859 1859
 		fmt.Println(table)
1860 1860
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
1861 1861
 			"SELECT " +
1862 1862
 			"CASE " +
1863
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '一月'" +
1864
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '二月'" +
1865
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '三月'" +
1866
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '四月'" +
1867
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '五月'" +
1868
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '六月'" +
1869
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '七月'" +
1870
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '八月'" +
1871
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '九月'" +
1872
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十月'" +
1873
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十一月'" +
1874
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十二月'" +
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 '十二月'" +
1875 1875
 			" ELSE '其他'" +
1876
-			"END AS nnd FROM xt_inspection as x left join xt_inspection_reference as  r on r.id = 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.range_min + 0 AND x.inspect_value + 0 <= r.range_max + 0)"
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)"
1877 1877
 		countParams := make([]interface{}, 0)
1878 1878
 		countParams = append(countParams, januaryStartStrUnix)
1879 1879
 		countParams = append(countParams, januaryEndStrUnix)
@@ -1927,26 +1927,26 @@ func GetMonthProjectListTwo(orgid int64, lapseto int64, modetype int64, januaryS
1927 1927
 
1928 1928
 		d := XTReadDB().Table("xt_patients as s")
1929 1929
 		fmt.Println("d", d)
1930
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_value <> 0")
1931
-		table := XTReadDB().Table("xt_inspection_reference as r")
1930
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
1931
+		table := XTReadDB().Table("xt_quality_control_standard as r")
1932 1932
 		fmt.Println(table)
1933 1933
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
1934 1934
 			"SELECT " +
1935 1935
 			"CASE " +
1936
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '一月'" +
1937
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '二月'" +
1938
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '三月'" +
1939
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '四月'" +
1940
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '五月'" +
1941
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '六月'" +
1942
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '七月'" +
1943
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '八月'" +
1944
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '九月'" +
1945
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十月'" +
1946
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十一月'" +
1947
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十二月'" +
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 '十二月'" +
1948 1948
 			" ELSE '其他'" +
1949
-			"END AS nnd FROM xt_inspection as x left join xt_inspection_reference as  r on r.id = 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.range_min + 0 AND x.inspect_value + 0 <= r.range_max + 0)"
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)"
1950 1950
 		countParams := make([]interface{}, 0)
1951 1951
 		countParams = append(countParams, januaryStartStrUnix)
1952 1952
 		countParams = append(countParams, januaryEndStrUnix)
@@ -1999,26 +1999,26 @@ func GetMonthProjectListTwo(orgid int64, lapseto int64, modetype int64, januaryS
1999 1999
 	if lapseto == 2 {
2000 2000
 		d := XTReadDB().Table("xt_patients as s")
2001 2001
 		fmt.Println("d", d)
2002
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_value <> 0")
2003
-		table := XTReadDB().Table("xt_inspection_reference as r")
2002
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
2003
+		table := XTReadDB().Table("xt_quality_control_standard as r")
2004 2004
 		fmt.Println(table)
2005 2005
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2006 2006
 			"SELECT " +
2007 2007
 			"CASE " +
2008
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '一月'" +
2009
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '二月'" +
2010
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '三月'" +
2011
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '四月'" +
2012
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '五月'" +
2013
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '六月'" +
2014
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '七月'" +
2015
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '八月'" +
2016
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '九月'" +
2017
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十月'" +
2018
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十一月'" +
2019
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十二月'" +
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 '十二月'" +
2020 2020
 			" ELSE '其他'" +
2021
-			"END AS nnd FROM xt_inspection as x left join xt_inspection_reference as  r on r.id = 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.range_min + 0 AND x.inspect_value + 0 <= r.range_max + 0)"
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)"
2022 2022
 		countParams := make([]interface{}, 0)
2023 2023
 		countParams = append(countParams, januaryStartStrUnix)
2024 2024
 		countParams = append(countParams, januaryEndStrUnix)
@@ -2093,7 +2093,7 @@ func GetMonthProjectListThree(orgid int64, lapseto int64, modetype int64, januar
2093 2093
 			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十一月'" +
2094 2094
 			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value <> r.range_value  THEN '十二月'" +
2095 2095
 			" ELSE '其他'" +
2096
-			"END AS nnd FROM xt_inspection as x left join 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)"
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)"
2097 2097
 		countParams := make([]interface{}, 0)
2098 2098
 		countParams = append(countParams, januaryStartStrUnix)
2099 2099
 		countParams = append(countParams, januaryEndStrUnix)
@@ -2147,26 +2147,26 @@ func GetMonthProjectListThree(orgid int64, lapseto int64, modetype int64, januar
2147 2147
 
2148 2148
 		d := XTReadDB().Table("xt_patients as s")
2149 2149
 		fmt.Println("d", d)
2150
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_value <> 0")
2151
-		table := XTReadDB().Table("xt_inspection_reference as r")
2150
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
2151
+		table := XTReadDB().Table("xt_quality_control_standard as r")
2152 2152
 		fmt.Println(table)
2153 2153
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2154 2154
 			"SELECT " +
2155 2155
 			"CASE " +
2156
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '一月'" +
2157
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '二月'" +
2158
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '三月'" +
2159
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '四月'" +
2160
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '五月'" +
2161
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '六月'" +
2162
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '七月'" +
2163
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '八月'" +
2164
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '九月'" +
2165
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十月'" +
2166
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十一月'" +
2167
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十二月'" +
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 '十二月'" +
2168 2168
 			" ELSE '其他'" +
2169
-			"END AS nnd FROM xt_inspection as x left join xt_inspection_reference as  r on r.id = 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.range_min + 0 AND x.inspect_value + 0 <= r.range_max + 0)"
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)"
2170 2170
 		countParams := make([]interface{}, 0)
2171 2171
 		countParams = append(countParams, januaryStartStrUnix)
2172 2172
 		countParams = append(countParams, januaryEndStrUnix)
@@ -2219,26 +2219,26 @@ func GetMonthProjectListThree(orgid int64, lapseto int64, modetype int64, januar
2219 2219
 	if lapseto == 2 {
2220 2220
 		d := XTReadDB().Table("xt_patients as s")
2221 2221
 		fmt.Println("d", d)
2222
-		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_value <> 0")
2223
-		table := XTReadDB().Table("xt_inspection_reference as r")
2222
+		db := readDb.Table("xt_inspection as x ").Where("x.status=1 and x.inspect_type = 2")
2223
+		table := XTReadDB().Table("xt_quality_control_standard as r")
2224 2224
 		fmt.Println(table)
2225 2225
 		countSQL := "SELECT nnd AS 'total',COUNT(*) AS 'count' FROM(" +
2226 2226
 			"SELECT " +
2227 2227
 			"CASE " +
2228
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '一月'" +
2229
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '二月'" +
2230
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '三月'" +
2231
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '四月'" +
2232
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '五月'" +
2233
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '六月'" +
2234
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '七月'" +
2235
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '八月'" +
2236
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '九月'" +
2237
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十月'" +
2238
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十一月'" +
2239
-			" WHEN x.inspect_date>=? AND  x.inspect_date<=? and x.inspect_value+0>=r.range_min+0 and x.inspect_value +0 <= r.range_max+0  THEN '十二月'" +
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 '十二月'" +
2240 2240
 			" ELSE '其他'" +
2241
-			"END AS nnd FROM xt_inspection as x left join xt_inspection_reference as  r on r.id = 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.range_min + 0 AND x.inspect_value + 0 <= r.range_max + 0)"
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)"
2242 2242
 		countParams := make([]interface{}, 0)
2243 2243
 		countParams = append(countParams, januaryStartStrUnix)
2244 2244
 		countParams = append(countParams, januaryEndStrUnix)