Просмотр исходного кода

门诊随访新增 28天内就诊患者随访过的不再随访

zhaozhiqiang лет назад: 4
Родитель
Сommit
813b09844d

+ 131 - 113
代码/MadRunFabric.TestUserTypeApi/TestUserTypeApi/Controllers/TestController.cs

@@ -5611,110 +5611,145 @@ namespace TestUserTypeApi.Controllers
5611 5611
                     {
5612 5612
                         continue;
5613 5613
                     }
5614
-                    ///根据姓名手机号就诊时间判断是否已经发送过短信
5615
-                    var massageinfo = await _IHzsfMassagesRepository.GetSingle(p => p.PAT_PHONE == item && p.NAME == name && p.mzjztime == Convert.ToDateTime(jzdatetimes));
5616
-                    if (massageinfo != null)
5614
+                    #region 判断是否28天内就诊过 28天后的随访 28天内的不再随访
5615
+                    int days = 0;
5616
+                    DateTime? smzjz = null;
5617
+                    //string jzdatetimes = "2021-02-04 15:30:13";
5618
+                    var sort = Builders<HzsfMassages>.Sort.Descending("mzjztime");
5619
+                    //根据条件查询集合
5620
+                    var listApp = new List<FilterDefinition<HzsfMassages>>();
5621
+                    listApp.Add(Builders<HzsfMassages>.Filter.Eq("isdelete", 0));
5622
+                    listApp.Add(Builders<HzsfMassages>.Filter.Eq("PAT_PHONE", item));
5623
+                    listApp.Add(Builders<HzsfMassages>.Filter.Eq("NAME", name));
5624
+                    var filter = Builders<HzsfMassages>.Filter.And(listApp);
5625
+
5626
+                    var list = await _IHzsfMassagesRepository.Get(filter, null, sort);
5627
+                    HzsfMassages testuserlist = null;
5628
+                    foreach (var items in list)
5617 5629
                     {
5618
-                        continue;
5630
+                        testuserlist = items;
5631
+                        break;
5619 5632
                     }
5620
-                    List<V_MZ_FIRSTPAGE_NEW> modelinfo = _Iv_csm_zhuyuanRepository.geitmzinfoby(item, name, jzdatetimes);
5621
-
5622
-                    if (modelinfo.Count > 0)
5633
+                    if (testuserlist != null)
5634
+                    {
5635
+                        smzjz = testuserlist.mzjztime;
5636
+                        TimeSpan ts = Convert.ToDateTime(jzdatetimes) - Convert.ToDateTime(smzjz);
5637
+                        days = ts.Days;
5638
+                    }
5639
+                    //判断本次随访的患者就诊时间跟上一次的时间差是否超过28天
5640
+                    if (days > 28)
5623 5641
                     {
5624
-                        V_MZ_FIRSTPAGE_NEW mzsfinfomodel = new V_MZ_FIRSTPAGE_NEW();
5625
-                        foreach (var itemmod in modelinfo)
5642
+                        ///根据姓名手机号就诊时间判断是否已经发送过短信
5643
+                        var massageinfo = await _IHzsfMassagesRepository.GetSingle(p => p.PAT_PHONE == item && p.NAME == name && p.mzjztime == Convert.ToDateTime(jzdatetimes));
5644
+                        if (massageinfo != null)
5626 5645
                         {
5627
-                            mzsfinfomodel = itemmod;
5646
+                            continue;
5628 5647
                         }
5648
+                        //获取门诊患者信息
5649
+                        List<V_MZ_FIRSTPAGE_NEW> modelinfo = _Iv_csm_zhuyuanRepository.geitmzinfoby(item, name, jzdatetimes);
5629 5650
 
5630
-                        //发送成功一条就添加一条记录var a = _IHzsfMassagesRepository.AddRetID(tp);
5631
-                        //发送手机号
5632
-                        var sendtel = item;
5633
-                        //发送内容
5634
-                        var sendcenter = _configuration["sendcent:mzcenters"].ToString();
5635
-                        string resultstrs = sendcyinfo(sendtel, sendcenter);
5636
-                        if (Convert.ToInt32(resultstrs) > 0)//
5637
-                        {
5638
-                            //定义发送记录实例
5639
-                            #region 添加发送记录信息
5640
-                            HzsfMassages tp = new HzsfMassages();
5641
-                            tp.sendcenters = sendcenter;// 发送内容
5642
-                            tp.replaycenters = "";// 回复内容
5643
-                            tp.replaytime = null;//回复内容默认为空
5644
-                            tp.nomybecause = "";//不满意原因
5645
-                            tp.sendmyeds = ""; // 满意度
5646
-                            tp.senddate = DateTime.Now;// 发送时间
5647
-                            tp.ZY_NO = mzsfinfomodel.clinic_no;  // --门诊号
5648
-                            tp.NAME = mzsfinfomodel.patient_name;  // --病人姓名
5649
-                            tp.SEX = mzsfinfomodel.sex;    // --病人性别
5650
-                            tp.ZY_AGE = 0;    // --住院年龄
5651
-                            tp.PAT_PHONE = mzsfinfomodel.phone;         // --本人联系电话
5652
-                            tp.PA_ADDRESS = "";//患者联系地址
5653
-                            tp.JB_NAME = mzsfinfomodel.CLINIC_DIAG_NAME;    // --疾病描述(名称)
5654
-                            tp.CY_ZD = "";       //   --出院诊断
5655
-                            tp.IS_OP = 0;  // --是否手术
5656
-                            tp.DIA_NAME = "";        // --诊断方式
5657
-                            tp.NURSE_IN_CHARGE = "";     // --责任护士
5658
-                            tp.CY_DEPT_NAME = "";    // --出院科室名称
5659
-                            tp.RY_DATE = ""; // --入院日期
5660
-                            tp.CY_DATE = new DateTime();  // --出院日期
5661
-                            tp.ZY_TIMES = 0; // --住院次数
5662
-                            tp.DIRECTOR = "";    // 科主任
5663
-                            tp.ZZ_DOC = mzsfinfomodel.DOCTOR_NAME;    // 主治医师
5664
-                            tp.JZ_DOC = ""; // 经治医师
5665
-                            tp.ZY_DAYS = "";    // 住院天数
5666
-                            tp.ZY_DEPT_NAME = "";  // 住院科室名称
5667
-                            tp.JOB = "";           // 职业
5668
-                            tp.OUT_OR_IN = "";   // 住院或出院
5669
-                            tp.iszyormz = "门诊患者";//住院患者、门诊患者
5670
-                            tp.statesissuccess = "成功";
5671
-                            tp.mzjztime = mzsfinfomodel.CLINIC_DATE;//就诊时间
5672
-                            tp.mzjzdeptname = mzsfinfomodel.dept_name;//就诊科室
5673
-                            tp.isdelete = 0;  //是否删除
5674
-                            var a = _IHzsfMassagesRepository.AddRetID(tp);
5675
-                            #endregion
5676
-                        }
5677
-                        else if (Convert.ToInt32(resultstrs) == -5)
5678
-                        {
5679
-                            return Error("余额不足,请充值");
5680
-                        }
5681
-                        else if (Convert.ToInt32(resultstrs) == -6)
5682
-                        {
5683
-                            return Error("定时发送时间不是有效的时间格式");
5684
-                        }
5685
-                        else if (Convert.ToInt32(resultstrs) == -7)
5686
-                        {
5687
-                            return Error("提交信息末尾未签名,请添加中文的企业签名【 】");
5688
-                        }
5689
-                        else if (Convert.ToInt32(resultstrs) == -8)
5690
-                        {
5691
-                            return Error("发送内容需在1到300字之间");
5692
-                        }
5693
-                        else if (Convert.ToInt32(resultstrs) == -9)
5651
+                        if (modelinfo.Count > 0)
5694 5652
                         {
5695
-                            return Error("发送号码为空");
5696
-                        }
5697
-                        else if (Convert.ToInt32(resultstrs) == -10)
5698
-                        {
5699
-                            return Error("定时时间不能小于系统当前时间");
5700
-                        }
5701
-                        else if (Convert.ToInt32(resultstrs) == -100)
5702
-                        {
5703
-                            return Error("IP黑名单");
5704
-                        }
5705
-                        else if (Convert.ToInt32(resultstrs) == -102)
5706
-                        {
5707
-                            return Error("账号黑名单");
5708
-                        }
5709
-                        else if (Convert.ToInt32(resultstrs) == -103)
5710
-                        {
5711
-                            return Error("IP未导白");
5712
-                        }
5713
-                        else
5714
-                        {
5715
-                            return Error("调用接口失败");
5653
+                            V_MZ_FIRSTPAGE_NEW mzsfinfomodel = new V_MZ_FIRSTPAGE_NEW();
5654
+                            foreach (var itemmod in modelinfo)
5655
+                            {
5656
+                                mzsfinfomodel = itemmod;
5657
+                            }
5658
+
5659
+                            //发送成功一条就添加一条记录var a = _IHzsfMassagesRepository.AddRetID(tp);
5660
+                            //发送手机号
5661
+                            var sendtel = item;
5662
+                            //发送内容
5663
+                            var sendcenter = _configuration["sendcent:mzcenters"].ToString();
5664
+                            string resultstrs = sendcyinfo(sendtel, sendcenter);
5665
+                            if (Convert.ToInt32(resultstrs) > 0)//
5666
+                            {
5667
+                                //定义发送记录实例
5668
+                                #region 添加发送记录信息
5669
+                                HzsfMassages tp = new HzsfMassages();
5670
+                                tp.sendcenters = sendcenter;// 发送内容
5671
+                                tp.replaycenters = "";// 回复内容
5672
+                                tp.replaytime = null;//回复内容默认为空
5673
+                                tp.nomybecause = "";//不满意原因
5674
+                                tp.sendmyeds = ""; // 满意度
5675
+                                tp.senddate = DateTime.Now;// 发送时间
5676
+                                tp.ZY_NO = mzsfinfomodel.clinic_no;  // --门诊号
5677
+                                tp.NAME = mzsfinfomodel.patient_name;  // --病人姓名
5678
+                                tp.SEX = mzsfinfomodel.sex;    // --病人性别
5679
+                                tp.ZY_AGE = 0;    // --住院年龄
5680
+                                tp.PAT_PHONE = mzsfinfomodel.phone;         // --本人联系电话
5681
+                                tp.PA_ADDRESS = "";//患者联系地址
5682
+                                tp.JB_NAME = mzsfinfomodel.CLINIC_DIAG_NAME;    // --疾病描述(名称)
5683
+                                tp.CY_ZD = "";       //   --出院诊断
5684
+                                tp.IS_OP = 0;  // --是否手术
5685
+                                tp.DIA_NAME = "";        // --诊断方式
5686
+                                tp.NURSE_IN_CHARGE = "";     // --责任护士
5687
+                                tp.CY_DEPT_NAME = "";    // --出院科室名称
5688
+                                tp.RY_DATE = ""; // --入院日期
5689
+                                tp.CY_DATE = new DateTime();  // --出院日期
5690
+                                tp.ZY_TIMES = 0; // --住院次数
5691
+                                tp.DIRECTOR = "";    // 科主任
5692
+                                tp.ZZ_DOC = mzsfinfomodel.DOCTOR_NAME;    // 主治医师
5693
+                                tp.JZ_DOC = ""; // 经治医师
5694
+                                tp.ZY_DAYS = "";    // 住院天数
5695
+                                tp.ZY_DEPT_NAME = "";  // 住院科室名称
5696
+                                tp.JOB = "";           // 职业
5697
+                                tp.OUT_OR_IN = "";   // 住院或出院
5698
+                                tp.iszyormz = "门诊患者";//住院患者、门诊患者
5699
+                                tp.statesissuccess = "成功";
5700
+                                tp.mzjztime = mzsfinfomodel.CLINIC_DATE;//就诊时间
5701
+                                tp.mzjzdeptname = mzsfinfomodel.dept_name;//就诊科室
5702
+                                tp.isdelete = 0;  //是否删除
5703
+                                var a = _IHzsfMassagesRepository.AddRetID(tp);
5704
+                                #endregion
5705
+                            }
5706
+                            else if (Convert.ToInt32(resultstrs) == -5)
5707
+                            {
5708
+                                return Error("余额不足,请充值");
5709
+                            }
5710
+                            else if (Convert.ToInt32(resultstrs) == -6)
5711
+                            {
5712
+                                return Error("定时发送时间不是有效的时间格式");
5713
+                            }
5714
+                            else if (Convert.ToInt32(resultstrs) == -7)
5715
+                            {
5716
+                                return Error("提交信息末尾未签名,请添加中文的企业签名【 】");
5717
+                            }
5718
+                            else if (Convert.ToInt32(resultstrs) == -8)
5719
+                            {
5720
+                                return Error("发送内容需在1到300字之间");
5721
+                            }
5722
+                            else if (Convert.ToInt32(resultstrs) == -9)
5723
+                            {
5724
+                                return Error("发送号码为空");
5725
+                            }
5726
+                            else if (Convert.ToInt32(resultstrs) == -10)
5727
+                            {
5728
+                                return Error("定时时间不能小于系统当前时间");
5729
+                            }
5730
+                            else if (Convert.ToInt32(resultstrs) == -100)
5731
+                            {
5732
+                                return Error("IP黑名单");
5733
+                            }
5734
+                            else if (Convert.ToInt32(resultstrs) == -102)
5735
+                            {
5736
+                                return Error("账号黑名单");
5737
+                            }
5738
+                            else if (Convert.ToInt32(resultstrs) == -103)
5739
+                            {
5740
+                                return Error("IP未导白");
5741
+                            }
5742
+                            else
5743
+                            {
5744
+                                return Error("调用接口失败");
5745
+                            }
5716 5746
                         }
5717 5747
                     }
5748
+                    else
5749
+                    {
5750
+                        continue;
5751
+                    }
5752
+                    #endregion
5718 5753
 
5719 5754
                 }
5720 5755
                 return Success("成功");
@@ -5728,24 +5763,7 @@ namespace TestUserTypeApi.Controllers
5728 5763
         //[HttpGet("ceshishuju")]
5729 5764
         //public async Task<IActionResult> ceshishuju()
5730 5765
         //{
5731
-        //    ///根据获取到的手机号查找发送信息表中的发送信息修改回复内容
5732
-        //   // HzsfMassages testuserlist = await _IHzsfMassagesRepository.GetSingle(p => p.PAT_PHONE == "15617789736");//
5733
-
5734
-        //    //排序字段
5735
-        //    var sort = Builders<HzsfMassages>.Sort.Descending("senddate");
5736
-        //    //根据条件查询集合
5737
-        //    var listApp = new List<FilterDefinition<HzsfMassages>>();
5738
-        //    listApp.Add(Builders<HzsfMassages>.Filter.Eq("isdelete", 0));
5739
-        //    listApp.Add(Builders<HzsfMassages>.Filter.Eq("PAT_PHONE", "15617789736"));
5740
-        //    var filter = Builders<HzsfMassages>.Filter.And(listApp);
5741
-
5742
-        //    var list = await _IHzsfMassagesRepository.Get(filter, null, sort);
5743
-        //    HzsfMassages testuserlist = null;
5744
-        //    foreach (var item in list)
5745
-        //    {
5746
-        //        testuserlist = item;
5747
-        //        break;
5748
-        //    }
5766
+            
5749 5767
         //    return Success("成功");
5750 5768
         //}
5751 5769
         #endregion