|
|
@@ -73,7 +73,7 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
73
|
73
|
//建档日期
|
|
74
|
74
|
string strjdrq = "";
|
|
75
|
75
|
//病例分类
|
|
76
|
|
- string blfl = "";
|
|
|
76
|
+ string blfl = RequestString.GetQueryString("blfl");
|
|
77
|
77
|
string strpageindex = RequestString.GetQueryString("page");
|
|
78
|
78
|
int pageindex = 1;
|
|
79
|
79
|
string strpagesize = RequestString.GetQueryString("pagesize");
|
|
|
@@ -397,16 +397,9 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
397
|
397
|
public ActionResult GetxinxiList(string dal)
|
|
398
|
398
|
{
|
|
399
|
399
|
DataTable dt = new DataTable();
|
|
|
400
|
+ dt = mfBLL.GetBLList(" a.XZZDH='" + dal + "'").Tables[0];
|
|
400
|
401
|
|
|
401
|
|
- dt = mfBLL.GetBLList(" XZZDH='"+ dal + "'").Tables[0];
|
|
402
|
|
- var obj = new
|
|
403
|
|
- {
|
|
404
|
|
- state = "success",
|
|
405
|
|
- message = "成功",
|
|
406
|
|
- rows = dt,
|
|
407
|
|
- total = 1
|
|
408
|
|
- };
|
|
409
|
|
- return Content(obj.ToJson());
|
|
|
402
|
+ return Success("成功", dt);
|
|
410
|
403
|
}
|
|
411
|
404
|
|
|
412
|
405
|
#endregion
|
|
|
@@ -725,6 +718,13 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
725
|
718
|
{
|
|
726
|
719
|
NPOIHelper npoi = new NPOIHelper();
|
|
727
|
720
|
DataTable dt = GetSFData();
|
|
|
721
|
+ dt.Columns.Add("序号").SetOrdinal(0);
|
|
|
722
|
+
|
|
|
723
|
+ for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
724
|
+ {
|
|
|
725
|
+ dt.Rows[i]["序号"] = i + 1;
|
|
|
726
|
+ }
|
|
|
727
|
+
|
|
728
|
728
|
if (npoi.ExportToExcel("科室随访率数据", dt) == "")
|
|
729
|
729
|
{
|
|
730
|
730
|
return Success("导出成功");
|
|
|
@@ -777,53 +777,42 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
777
|
777
|
|
|
778
|
778
|
#region 满意度
|
|
779
|
779
|
|
|
780
|
|
- public ActionResult GetMYDList(string mydys)
|
|
|
780
|
+ public ActionResult GetMYDList()
|
|
781
|
781
|
{
|
|
782
|
|
-
|
|
|
782
|
+
|
|
783
|
783
|
if (Request.IsAuthenticated)
|
|
784
|
784
|
{
|
|
785
|
|
- return Success("获取满意度成功", GetDataMYD(mydys));
|
|
|
785
|
+ return Success("获取满意度成功", GetDataMYD());
|
|
786
|
786
|
}
|
|
787
|
787
|
return NoToken("未知错误,请重新登录");
|
|
788
|
788
|
}
|
|
789
|
789
|
|
|
790
|
790
|
|
|
791
|
|
- private DataTable GetDataMYD(string mydys)
|
|
|
791
|
+ private DataTable GetDataMYD()
|
|
792
|
792
|
{
|
|
793
|
793
|
DataTable dt = new DataTable();
|
|
794
|
794
|
dt.Columns.Add("科室");
|
|
795
|
|
- dt.Columns.Add("总量");
|
|
796
|
795
|
dt.Columns.Add("随访量");
|
|
|
796
|
+ dt.Columns.Add("满意量");
|
|
797
|
797
|
dt.Columns.Add("满意度");
|
|
798
|
798
|
dt.Columns.Add("rate", typeof(double));
|
|
799
|
799
|
|
|
800
|
800
|
var kslist = DbHelperSQL.Query("select distinct CYKS FROM SF_BINGRENQK").Tables[0];
|
|
801
|
|
- var myd = DbHelperSQL.Query("select distinct a.CYKS,COUNT(b.F_MYD) from SF_BINGRENQK a,SF_Result b where a.BINGRENZYID=b.F_Id and b.F_MYD='满意' group by a.CYKS ").Tables[0];
|
|
802
|
|
- var tlist = DbHelperSQL.Query("select count(1) Num,CYKS FROM SF_BINGRENQK group by CYKS").Tables[0];
|
|
|
801
|
+ var myd = DbHelperSQL.Query("select distinct a.CYKS,COUNT(b.F_MYD) from SF_BINGRENQK a,SF_Result b where a.BINGRENZYID=b.F_Id and b.F_Result='正常接通' and b.F_MYD='满意' group by a.CYKS ").Tables[0];
|
|
803
|
802
|
var sflist = DbHelperSQL.Query("select CYKS,COUNT(1) Num from SF_BINGRENQK a,SF_Result b where a.BINGRENZYID=b.F_Id and b.F_Result='正常接通' group by CYKS").Tables[0];
|
|
804
|
803
|
|
|
805
|
804
|
foreach (DataRow dr in kslist.Rows)
|
|
806
|
805
|
{
|
|
807
|
|
- //var drnew = dt.NewRow();
|
|
808
|
|
- //var cyks = dr["CYKS"].ToString();
|
|
809
|
|
- //drnew["科室"] = cyks;
|
|
810
|
|
- //var my = myd.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[0].ToString() ?? "";
|
|
811
|
|
- //if (my != "")
|
|
812
|
|
- //{
|
|
813
|
|
- // var myl = myd.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
814
|
|
- // drnew["满意度"] = myl;
|
|
815
|
|
- //}
|
|
816
|
|
- //dt.Rows.Add(drnew);
|
|
817
|
806
|
var drnew = dt.NewRow();
|
|
818
|
807
|
var cyks = dr["CYKS"].ToString();
|
|
819
|
808
|
drnew["科室"] = cyks;
|
|
820
|
|
- var zl = tlist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[0].ToString() ?? "";
|
|
|
809
|
+ var zl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "";
|
|
821
|
810
|
if (zl != "")
|
|
822
|
811
|
{
|
|
823
|
|
- drnew["总量"] = zl;
|
|
|
812
|
+ drnew["随访量"] = zl;
|
|
824
|
813
|
var sfl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
825
|
|
- drnew["随访量"] = sfl;
|
|
826
|
814
|
var my = myd.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
|
815
|
+ drnew["满意量"] = my;
|
|
827
|
816
|
var Rate = Math.Round(double.Parse(my) * 100 / double.Parse(sfl), 2);
|
|
828
|
817
|
drnew["rate"] = Rate;
|
|
829
|
818
|
drnew["满意度"] = Rate + "%";
|
|
|
@@ -831,21 +820,28 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
831
|
820
|
}
|
|
832
|
821
|
dt.Rows.Add(drnew);
|
|
833
|
822
|
}
|
|
834
|
|
- var dtnew = dt.Select("1=1").CopyToDataTable();
|
|
835
|
|
- dtnew.Columns.Remove("rate");
|
|
|
823
|
+ var dtnew = dt.Select("1=1", "rate desc").CopyToDataTable();
|
|
|
824
|
+ dtnew.Columns.Remove("rate");
|
|
836
|
825
|
|
|
837
|
|
- return dtnew;
|
|
|
826
|
+ return dtnew;
|
|
838
|
827
|
}
|
|
839
|
828
|
/// <summary>
|
|
840
|
829
|
/// 导出
|
|
841
|
830
|
/// </summary>
|
|
842
|
|
- public ActionResult ExportExcelMYD(string mydys)
|
|
|
831
|
+ public ActionResult ExportExcelMYD()
|
|
843
|
832
|
{
|
|
844
|
833
|
ActionResult res = NoToken("未知错误,请重新登录");
|
|
845
|
834
|
if (Request.IsAuthenticated)
|
|
846
|
835
|
{
|
|
847
|
836
|
NPOIHelper npoi = new NPOIHelper();
|
|
848
|
|
- DataTable dt = GetDataMYD(mydys);
|
|
|
837
|
+ DataTable dt = GetDataMYD();
|
|
|
838
|
+ dt.Columns.Add("序号").SetOrdinal(0);
|
|
|
839
|
+
|
|
|
840
|
+ for (int i = 0; i < dt.Rows.Count; i++)
|
|
|
841
|
+ {
|
|
|
842
|
+ dt.Rows[i]["序号"] = i + 1;
|
|
|
843
|
+ }
|
|
|
844
|
+
|
|
849
|
845
|
if (npoi.ExportToExcel("满意度数据", dt) == "")
|
|
850
|
846
|
{
|
|
851
|
847
|
return Success("导出成功");
|
|
|
@@ -865,26 +861,18 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
865
|
861
|
if (Request.IsAuthenticated)
|
|
866
|
862
|
{
|
|
867
|
863
|
var kslist = DbHelperSQL.Query("select distinct CYKS FROM SF_BINGRENQK").Tables[0];
|
|
868
|
|
- var myd = DbHelperSQL.Query("select distinct a.CYKS,COUNT(b.F_MYD) from SF_BINGRENQK a,SF_Result b where a.BINGRENZYID=b.F_Id and b.F_MYD='满意' group by a.CYKS ").Tables[0];
|
|
869
|
|
- var tlist = DbHelperSQL.Query("select count(1) Num,CYKS FROM SF_BINGRENQK group by CYKS").Tables[0];
|
|
|
864
|
+ var myd = DbHelperSQL.Query("select distinct a.CYKS,COUNT(b.F_MYD) from SF_BINGRENQK a,SF_Result b where a.BINGRENZYID=b.F_Id and b.F_Result='正常接通' and b.F_MYD='满意' group by a.CYKS ").Tables[0];
|
|
870
|
865
|
var sflist = DbHelperSQL.Query("select CYKS,COUNT(1) Num from SF_BINGRENQK a,SF_Result b where a.BINGRENZYID=b.F_Id and b.F_Result='正常接通' group by CYKS").Tables[0];
|
|
871
|
|
- var ksc = kslist.Rows.Count;
|
|
872
|
866
|
|
|
873
|
867
|
Dictionary<string, double> dics = new Dictionary<string, double>();
|
|
874
|
|
- for (int i = 0; i < ksc; i++)
|
|
|
868
|
+ for (int i = 0; i < kslist.Rows.Count; i++)
|
|
875
|
869
|
{
|
|
876
|
|
- //var cyks = kslist.Rows[i]["CYKS"].ToString();
|
|
877
|
|
-
|
|
878
|
|
- //var myl = myd.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
879
|
|
- //var Rate = Math.Round(double.Parse(myl));
|
|
880
|
|
- //dics.Add(cyks, Rate);
|
|
881
|
870
|
|
|
882
|
871
|
var cyks = kslist.Rows[i]["CYKS"].ToString();
|
|
883
|
872
|
|
|
884
|
|
- var zl = tlist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[0].ToString() ?? "";
|
|
885
|
|
- if (zl != "")
|
|
|
873
|
+ var sfl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "";
|
|
|
874
|
+ if (sfl != "")
|
|
886
|
875
|
{
|
|
887
|
|
- var sfl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
888
|
876
|
var my = myd.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
889
|
877
|
var Rate = Math.Round(double.Parse(my) * 100 / double.Parse(sfl), 2);
|
|
890
|
878
|
dics.Add(cyks, Rate);
|
|
|
@@ -906,7 +894,7 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
906
|
894
|
|
|
907
|
895
|
|
|
908
|
896
|
|
|
909
|
|
-
|
|
|
897
|
+
|
|
910
|
898
|
|
|
911
|
899
|
#endregion
|
|
912
|
900
|
}
|