|
|
@@ -725,13 +725,6 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
725
|
725
|
{
|
|
726
|
726
|
NPOIHelper npoi = new NPOIHelper();
|
|
727
|
727
|
DataTable dt = GetSFData();
|
|
728
|
|
- dt.Columns.Add("序号").SetOrdinal(0);
|
|
729
|
|
-
|
|
730
|
|
- for (int i = 0; i < dt.Rows.Count; i++)
|
|
731
|
|
- {
|
|
732
|
|
- dt.Rows[i]["序号"] = i + 1;
|
|
733
|
|
- }
|
|
734
|
|
-
|
|
735
|
728
|
if (npoi.ExportToExcel("科室随访率数据", dt) == "")
|
|
736
|
729
|
{
|
|
737
|
730
|
return Success("导出成功");
|
|
|
@@ -784,42 +777,53 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
784
|
777
|
|
|
785
|
778
|
#region 满意度
|
|
786
|
779
|
|
|
787
|
|
- public ActionResult GetMYDList()
|
|
|
780
|
+ public ActionResult GetMYDList(string mydys)
|
|
788
|
781
|
{
|
|
789
|
782
|
|
|
790
|
783
|
if (Request.IsAuthenticated)
|
|
791
|
784
|
{
|
|
792
|
|
- return Success("获取满意度成功", GetDataMYD());
|
|
|
785
|
+ return Success("获取满意度成功", GetDataMYD(mydys));
|
|
793
|
786
|
}
|
|
794
|
787
|
return NoToken("未知错误,请重新登录");
|
|
795
|
788
|
}
|
|
796
|
789
|
|
|
797
|
790
|
|
|
798
|
|
- private DataTable GetDataMYD()
|
|
|
791
|
+ private DataTable GetDataMYD(string mydys)
|
|
799
|
792
|
{
|
|
800
|
793
|
DataTable dt = new DataTable();
|
|
801
|
794
|
dt.Columns.Add("科室");
|
|
|
795
|
+ dt.Columns.Add("总量");
|
|
802
|
796
|
dt.Columns.Add("随访量");
|
|
803
|
|
- dt.Columns.Add("满意量");
|
|
804
|
797
|
dt.Columns.Add("满意度");
|
|
805
|
798
|
dt.Columns.Add("rate", typeof(double));
|
|
806
|
799
|
|
|
807
|
800
|
var kslist = DbHelperSQL.Query("select distinct CYKS FROM SF_BINGRENQK").Tables[0];
|
|
808
|
|
- 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];
|
|
|
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];
|
|
809
|
803
|
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];
|
|
810
|
804
|
|
|
811
|
805
|
foreach (DataRow dr in kslist.Rows)
|
|
812
|
806
|
{
|
|
|
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);
|
|
813
|
817
|
var drnew = dt.NewRow();
|
|
814
|
818
|
var cyks = dr["CYKS"].ToString();
|
|
815
|
819
|
drnew["科室"] = cyks;
|
|
816
|
|
- var zl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "";
|
|
|
820
|
+ var zl = tlist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[0].ToString() ?? "";
|
|
817
|
821
|
if (zl != "")
|
|
818
|
822
|
{
|
|
819
|
|
- drnew["随访量"] = zl;
|
|
|
823
|
+ drnew["总量"] = zl;
|
|
820
|
824
|
var sfl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
|
825
|
+ drnew["随访量"] = sfl;
|
|
821
|
826
|
var my = myd.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
822
|
|
- drnew["满意量"] = my;
|
|
823
|
827
|
var Rate = Math.Round(double.Parse(my) * 100 / double.Parse(sfl), 2);
|
|
824
|
828
|
drnew["rate"] = Rate;
|
|
825
|
829
|
drnew["满意度"] = Rate + "%";
|
|
|
@@ -827,7 +831,7 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
827
|
831
|
}
|
|
828
|
832
|
dt.Rows.Add(drnew);
|
|
829
|
833
|
}
|
|
830
|
|
- var dtnew = dt.Select("1=1", "rate desc").CopyToDataTable();
|
|
|
834
|
+ var dtnew = dt.Select("1=1").CopyToDataTable();
|
|
831
|
835
|
dtnew.Columns.Remove("rate");
|
|
832
|
836
|
|
|
833
|
837
|
return dtnew;
|
|
|
@@ -835,20 +839,13 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
835
|
839
|
/// <summary>
|
|
836
|
840
|
/// 导出
|
|
837
|
841
|
/// </summary>
|
|
838
|
|
- public ActionResult ExportExcelMYD()
|
|
|
842
|
+ public ActionResult ExportExcelMYD(string mydys)
|
|
839
|
843
|
{
|
|
840
|
844
|
ActionResult res = NoToken("未知错误,请重新登录");
|
|
841
|
845
|
if (Request.IsAuthenticated)
|
|
842
|
846
|
{
|
|
843
|
847
|
NPOIHelper npoi = new NPOIHelper();
|
|
844
|
|
- DataTable dt = GetDataMYD();
|
|
845
|
|
- dt.Columns.Add("序号").SetOrdinal(0);
|
|
846
|
|
-
|
|
847
|
|
- for (int i = 0; i < dt.Rows.Count; i++)
|
|
848
|
|
- {
|
|
849
|
|
- dt.Rows[i]["序号"] = i + 1;
|
|
850
|
|
- }
|
|
851
|
|
-
|
|
|
848
|
+ DataTable dt = GetDataMYD(mydys);
|
|
852
|
849
|
if (npoi.ExportToExcel("满意度数据", dt) == "")
|
|
853
|
850
|
{
|
|
854
|
851
|
return Success("导出成功");
|
|
|
@@ -868,18 +865,26 @@ namespace CallCenterApi.Interface.Controllers.MedicalFollowup
|
|
868
|
865
|
if (Request.IsAuthenticated)
|
|
869
|
866
|
{
|
|
870
|
867
|
var kslist = DbHelperSQL.Query("select distinct CYKS FROM SF_BINGRENQK").Tables[0];
|
|
871
|
|
- 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];
|
|
|
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];
|
|
872
|
870
|
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;
|
|
873
|
872
|
|
|
874
|
873
|
Dictionary<string, double> dics = new Dictionary<string, double>();
|
|
875
|
|
- for (int i = 0; i < kslist.Rows.Count; i++)
|
|
|
874
|
+ for (int i = 0; i < ksc; i++)
|
|
876
|
875
|
{
|
|
|
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);
|
|
877
|
881
|
|
|
878
|
882
|
var cyks = kslist.Rows[i]["CYKS"].ToString();
|
|
879
|
883
|
|
|
880
|
|
- var sfl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "";
|
|
881
|
|
- if (sfl != "")
|
|
|
884
|
+ var zl = tlist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[0].ToString() ?? "";
|
|
|
885
|
+ if (zl != "")
|
|
882
|
886
|
{
|
|
|
887
|
+ var sfl = sflist.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
883
|
888
|
var my = myd.Select("CYKS='" + cyks + "'").FirstOrDefault()?.ItemArray[1].ToString() ?? "0";
|
|
884
|
889
|
var Rate = Math.Round(double.Parse(my) * 100 / double.Parse(sfl), 2);
|
|
885
|
890
|
dics.Add(cyks, Rate);
|