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

颐和报修正式没有messageaip,修改

liyuanyuan месяцев назад: 10
Родитель
Сommit
cea3ccb03b

+ 14 - 0
.gitignore

@@ -0,0 +1,14 @@
1
+################################################################################
2
+# 此 .gitignore 文件已由 Microsoft(R) Visual Studio 自动创建。
3
+################################################################################
4
+
5
+
6
+.vs/
7
+packages/
8
+*/obj
9
+*/bin
10
+*.png
11
+[Bb]in/
12
+[Oo]bj/
13
+*.pubxml
14
+*.user 

+ 323 - 52
MadRunFabric.EquipmentApi/EquipmentApi/Controllers/workordermanage/WoRepairBaseController.cs

@@ -29,6 +29,7 @@ using com.igetui.api.openservice.igetui.template;
29 29
 using System.Data;
30 30
 using MongoDB.Driver.Core.Bindings;
31 31
 using OfficeOpenXml.FormulaParsing.Utilities;
32
+using EquipmentApi.Model;
32 33
 
33 34
 namespace EquipmentApi.Controllers.workordermanage
34 35
 {
@@ -6322,6 +6323,142 @@ namespace EquipmentApi.Controllers.workordermanage
6322 6323
             }
6323 6324
             return Success("成功", listbb);
6324 6325
         }
6326
+        [AllowAnonymous]
6327
+        [HttpGet("excelwxrygzllist")]
6328
+        public async Task<IActionResult> excelwxrygzllist(string stime, string etime, string deptname, string usercode) {
6329
+            List<Model.Dto.userdealwocode> listbb = new List<Model.Dto.userdealwocode>();
6330
+            //获取所有维修人员信息
6331
+            var list = _sys_user_accountRepository.GetProjectUser(deptname);
6332
+            if (!string.IsNullOrEmpty(deptname))
6333
+            {
6334
+                if (!string.IsNullOrEmpty(usercode))
6335
+                {
6336
+                    var usermode = _sys_user_accountRepository.GetUserinfobycode(usercode, deptname);//.GetSingle(p => p.usercode == usercode);
6337
+                    if (usermode != null)
6338
+                    {
6339
+                        foreach (var item in usermode)
6340
+                        {
6341
+                            var userinfolist = ConvertObject<MadRunFabric.Model.SignTokenApi.Model.Zxryworkcount>(item);
6342
+                            var deptnames = userinfolist.role_name;// usermode.postlist[0];//科室名称
6343
+                            var usernames = userinfolist.username;//维修人
6344
+                            long tocount = 0;
6345
+                            long dealcount = 0;
6346
+                            tocount = _wo_repair_baseRepository.Count(p => p.touser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//接单数量
6347
+                            dealcount = _wo_repair_baseRepository.Count(p => p.dealuser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//处理数量
6348
+
6349
+                            Model.Dto.userdealwocode model = new Model.Dto.userdealwocode();
6350
+                            model.deptname = deptnames;//科室名称
6351
+                            model.username = usernames;//维修人
6352
+                            model.tocount = tocount.ToString();//接单量
6353
+                            model.dealcount = dealcount.ToString();//处理量
6354
+                            listbb.Add(model);
6355
+                        }
6356
+                    }
6357
+                }
6358
+                else
6359
+                {
6360
+                    foreach (var item in list)
6361
+                    {
6362
+
6363
+                        var userinfolist = ConvertObject<MadRunFabric.Model.SignTokenApi.Model.Zxryworkcount>(item);
6364
+                        //if (userinfolist.postlist.Count == 0)
6365
+                        //{
6366
+                        //    continue;
6367
+                        //}
6368
+                        var deptnames = userinfolist.role_name;//  userinfolist.postlist[0];//科室名称
6369
+                        //if (deptnames != deptname)
6370
+                        //{
6371
+                        //    continue;
6372
+                        //}
6373
+                        var usernames = userinfolist.username;//维修人
6374
+                        long tocount = 0;
6375
+                        long dealcount = 0;
6376
+                        tocount = _wo_repair_baseRepository.Count(p => p.touser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//接单数量
6377
+                        dealcount = _wo_repair_baseRepository.Count(p => p.dealuser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//处理数量
6378
+
6379
+                        Model.Dto.userdealwocode model = new Model.Dto.userdealwocode();
6380
+                        model.deptname = deptnames;//科室名称
6381
+                        model.username = usernames;//维修人
6382
+                        model.tocount = tocount.ToString();//接单量
6383
+                        model.dealcount = dealcount.ToString();//处理量
6384
+                        listbb.Add(model);
6385
+
6386
+                    }
6387
+                }
6388
+
6389
+            }
6390
+            else
6391
+            {
6392
+                if (!string.IsNullOrEmpty(usercode))
6393
+                {
6394
+                    var usermode = _sys_user_accountRepository.GetUserinfobycode(usercode, deptname);
6395
+                    if (usermode != null)
6396
+                    {
6397
+                        foreach (var item in usermode)
6398
+                        {
6399
+                            var userinfolist = ConvertObject<MadRunFabric.Model.SignTokenApi.Model.Zxryworkcount>(item);
6400
+
6401
+                            var deptnames = userinfolist.role_name;// usermode.postlist[0];//科室名称
6402
+                            var usernames = userinfolist.username;//维修人
6403
+                            long tocount = 0;
6404
+                            long dealcount = 0;
6405
+                            tocount = _wo_repair_baseRepository.Count(p => p.touser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//接单数量
6406
+                            dealcount = _wo_repair_baseRepository.Count(p => p.dealuser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//处理数量
6407
+
6408
+                            Model.Dto.userdealwocode model = new Model.Dto.userdealwocode();
6409
+                            model.deptname = deptnames;//科室名称
6410
+                            model.username = usernames;//维修人
6411
+                            model.tocount = tocount.ToString();//接单量
6412
+                            model.dealcount = dealcount.ToString();//处理量
6413
+                            listbb.Add(model);
6414
+                        }
6415
+                    }
6416
+                }
6417
+                else
6418
+                {
6419
+                    foreach (var item in list)
6420
+                    {
6421
+
6422
+                        var userinfolist = ConvertObject<MadRunFabric.Model.SignTokenApi.Model.Zxryworkcount>(item);
6423
+                       
6424
+                        var deptnames = userinfolist.role_name;// userinfolist.postlist[0];//科室名称
6425
+                        var usernames = userinfolist.username;//维修人
6426
+                        long tocount = 0;
6427
+                        long dealcount = 0;
6428
+                        tocount = _wo_repair_baseRepository.Count(p => p.touser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//接单数量
6429
+                        dealcount = _wo_repair_baseRepository.Count(p => p.dealuser[0] == userinfolist.usercode && p.totime >= Convert.ToDateTime(stime + " 00:00:00") && p.totime <= Convert.ToDateTime(etime + " 23:59:59")).Result;//处理数量
6430
+
6431
+                        Model.Dto.userdealwocode model = new Model.Dto.userdealwocode();
6432
+                        model.deptname = deptnames;//科室名称
6433
+                        model.username = usernames;//维修人
6434
+                        model.tocount = tocount.ToString();//接单量
6435
+                        model.dealcount = dealcount.ToString();//处理量
6436
+                        listbb.Add(model);
6437
+
6438
+                    }
6439
+                }
6440
+            }
6441
+            NPOIHelper npoi = new NPOIHelper();
6442
+            var tb = ModelConvertHelper<Model.Dto.userdealwocode>.ListToTable(listbb, null);
6443
+            if (tb != null)
6444
+            {
6445
+                //导出dtnew 
6446
+                string[] cols = { "科室名称", "维修人", "接单量", "处理量" };
6447
+
6448
+                byte[] sm = npoi.ExportToExcel1(tb, cols);
6449
+                if (sm != null)
6450
+                {
6451
+                    return File(sm, "application/vnd.ms-excel", "维修人员工作量统计.xlsx");
6452
+                }
6453
+                else
6454
+                {
6455
+                    return Error("导出失败");
6456
+                }
6457
+            }
6458
+            return Error("没有数据");
6459
+        }
6460
+
6461
+
6325 6462
 
6326 6463
         #endregion
6327 6464
         #region 工单操作接口
@@ -6528,36 +6665,36 @@ namespace EquipmentApi.Controllers.workordermanage
6528 6665
                         //    wostatemap = dModel.wostate; // 0;
6529 6666
                         //    listmap = listmap.Where(x => x.wostate == 0);
6530 6667
                         //}
6531
-                        if (dModel.wostate == 0 || dModel.wostate == 1)
6532
-                        {
6533
-                            //维修工单号
6534
-                            var listmap = await _wo_order_user_maprepository.Get(x => x.woid == dModel.id && x.wocode == dModel.wocode && x.channelcode == channelcode && x.readby == usercode);
6535
-                            var modelmap = listmap.FirstOrDefault();
6536
-                            if (modelmap == null)
6537
-                            {
6538
-                                //添加是否已读关系表
6539
-                                modelmap = new Wo_Order_User_Map();
6540
-                                modelmap.woid = dModel.id;
6541
-                                modelmap.wocode = dModel.wocode;
6542
-                                modelmap.wostate = dModel.wostate;
6543
-                                modelmap.readby = usercode;
6544
-                                modelmap.channelcode = channelcode;   //工单类型(枚举EnumOrderState) 维修工单 = 1, 保养工单 = 2, 运行工单 = 3, 超时工单 = 4
6545
-                                modelmap.isread = 1;
6546
-                                modelmap.isnotice = 1;
6547
-                                modelmap.readtime = DateTime.Now.ToLocalTime();
6548
-                                modelmap.note = "故障说明:" + dModel.faultdescripe;
6549
-                                //modelmap.note = dModel.faultdescripe;
6550
-                                bool b = await _wo_order_user_maprepository.Add(modelmap);
6551
-                            }
6552
-                            else
6553
-                            {
6554
-                                modelmap.isread = 1;
6555
-                                modelmap.isnotice = 1;
6556
-                                modelmap.note = "故障说明:" + dModel.faultdescripe;
6557
-                                // modelmap.note = dModel.faultdescripe;
6558
-                                bool b = await _wo_order_user_maprepository.UpdateOne(modelmap);
6559
-                            }
6560
-                        }
6668
+                        //if (dModel.wostate == 0 || dModel.wostate == 1)
6669
+                        //{
6670
+                        //    //维修工单号
6671
+                        //    var listmap = await _wo_order_user_maprepository.Get(x => x.woid == dModel.id && x.wocode == dModel.wocode && x.channelcode == channelcode && x.readby == usercode);
6672
+                        //    var modelmap = listmap.FirstOrDefault();
6673
+                        //    if (modelmap == null)
6674
+                        //    {
6675
+                        //        //添加是否已读关系表
6676
+                        //        modelmap = new Wo_Order_User_Map();
6677
+                        //        modelmap.woid = dModel.id;
6678
+                        //        modelmap.wocode = dModel.wocode;
6679
+                        //        modelmap.wostate = dModel.wostate;
6680
+                        //        modelmap.readby = usercode;
6681
+                        //        modelmap.channelcode = channelcode;   //工单类型(枚举EnumOrderState) 维修工单 = 1, 保养工单 = 2, 运行工单 = 3, 超时工单 = 4
6682
+                        //        modelmap.isread = 1;
6683
+                        //        modelmap.isnotice = 1;
6684
+                        //        modelmap.readtime = DateTime.Now.ToLocalTime();
6685
+                        //        modelmap.note = "故障说明:" + dModel.faultdescripe;
6686
+                        //        //modelmap.note = dModel.faultdescripe;
6687
+                        //        bool b = await _wo_order_user_maprepository.Add(modelmap);
6688
+                        //    }
6689
+                        //    else
6690
+                        //    {
6691
+                        //        modelmap.isread = 1;
6692
+                        //        modelmap.isnotice = 1;
6693
+                        //        modelmap.note = "故障说明:" + dModel.faultdescripe;
6694
+                        //        // modelmap.note = dModel.faultdescripe;
6695
+                        //        bool b = await _wo_order_user_maprepository.UpdateOne(modelmap);
6696
+                        //    }
6697
+                        //}
6561 6698
                     }
6562 6699
                     #endregion
6563 6700
                     return Success("获取工单成功", obj);
@@ -6876,7 +7013,7 @@ namespace EquipmentApi.Controllers.workordermanage
6876 7013
                         var clintidlist1 = await _IusercoldandclintidsRepository.GetSingle(p => p.usercode == usercoudemode.usercode);
6877 7014
                         if (clintidlist1 != null)
6878 7015
                         {
6879
-                            PushMessageToList("通知", "您有新的工单需要处理", clintidlist1.clintid);
7016
+                           // PushMessageToList("通知", "您有新的工单需要处理", clintidlist1.clintid);
6880 7017
                         }
6881 7018
                     }
6882 7019
 
@@ -7076,10 +7213,10 @@ namespace EquipmentApi.Controllers.workordermanage
7076 7213
             {
7077 7214
                 return Error("请选择故障类型");
7078 7215
             }
7079
-            if (string.IsNullOrWhiteSpace(detail))
7080
-            {
7081
-                return Error("请输入异常说明");
7082
-            }
7216
+            //if (string.IsNullOrWhiteSpace(detail))
7217
+            //{
7218
+            //    return Error("请输入异常说明");
7219
+            //}
7083 7220
 
7084 7221
             string optuser = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
7085 7222
             string optusername = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
@@ -7159,12 +7296,14 @@ namespace EquipmentApi.Controllers.workordermanage
7159 7296
                     if (state == (int)EnumWorkOrderState.deal)
7160 7297
                     {
7161 7298
                         msg = "处理";
7299
+                        state = (int)EnumWorkOrderState.evaluate;
7162 7300
                         clmodel.dealtime = DateTime.Now;
7163 7301
                         clmodel.islosematerials = 0;
7302
+                        clmodel.arrivetime = DateTime.Now;
7164 7303
                         clmodel.losematerials = new List<MaterialModel>();
7165 7304
                     }
7166 7305
 
7167
-                    //clmodel.dealuser = dealcodes;
7306
+                  
7168 7307
                     //clmodel.dealusername = dealnames;
7169 7308
                     clmodel.wostate = state;
7170 7309
                     clmodel.faulttypeid = faulttypeid;
@@ -7335,7 +7474,7 @@ namespace EquipmentApi.Controllers.workordermanage
7335 7474
                 await _wo_repair_sendRepository.Add(wrs);
7336 7475
 
7337 7476
                 string mobile = string.IsNullOrEmpty(userinfo.mobile) ? "" : "(" + userinfo.mobile + ")";
7338
-                AddItems(clmodel.wocode, clmodel.wostate, channel, optuser + "-" + optusername + mobile + " 抢单", new List<FileBaseModel>(), optuser, optusername, "");
7477
+                AddItems(clmodel.wocode, clmodel.wostate, channel, optuser + "-" + optusername + mobile + " 接收", new List<FileBaseModel>(), optuser, optusername, "");
7339 7478
 
7340 7479
                 if (clmodel.channel == 4)
7341 7480
                 {
@@ -7344,10 +7483,10 @@ namespace EquipmentApi.Controllers.workordermanage
7344 7483
                     //SendWechatMessage(clmodel.wocode, "维修人员接单!", content, clmodel.id, clmodel.createuser);
7345 7484
                 }
7346 7485
 
7347
-                return Success("抢单成功");
7486
+                return Success("接收成功");
7348 7487
             }
7349 7488
 
7350
-            return Error("抢单失败");
7489
+            return Error("接收失败");
7351 7490
 
7352 7491
         }
7353 7492
         /// <summary>
@@ -7658,22 +7797,54 @@ namespace EquipmentApi.Controllers.workordermanage
7658 7797
                 var clintidlist = await _IusercoldandclintidsRepository.GetSingle(p => p.usercode == userinfo.usercode);
7659 7798
                 if (clintidlist != null)
7660 7799
                 {
7661
-                    PushMessageToList("通知", "您有新的工单需要处理", clintidlist.clintid);
7662
-                }
7663
-                var clintidlist1 = await _IusercoldandclintidsRepository.GetSingle(p => p.usercode == touserinfo.usercode);
7664
-                if (clintidlist1 != null)
7665
-                {
7666
-                    PushMessageToList("通知", "您有新的工单需要处理", clintidlist1.clintid);
7800
+                    // PushMessageToList("通知", "您有新的工单需要处理", clintidlist.clintid);
7801
+
7802
+
7803
+
7667 7804
                 }
7805
+                //var clintidlist1 = await _IusercoldandclintidsRepository.GetSingle(p => p.usercode == touserinfo.usercode);
7806
+                //if (clintidlist1 != null)
7807
+                //{
7808
+                   // PushMessageToList("通知", "您有新的工单需要处理", clintidlist1.clintid);
7809
+                //}
7668 7810
 
7669 7811
                 //工单信息
7670
-                var listmap = await _wo_order_user_maprepository.Get(x => x.wocode == clmodel.wocode && x.channelcode == 1 && x.readby == assignman);
7671
-                var modelmap = listmap.FirstOrDefault();
7672
-                if (modelmap != null)
7812
+                //var listmap = await _wo_order_user_maprepository.Get(x => x.wocode == clmodel.wocode && x.channelcode == 1 && x.readby == assignman);
7813
+                //var modelmap = listmap.FirstOrDefault();
7814
+                //if (modelmap != null)
7815
+                //{
7816
+                //    //删除工单关系表中对应工单
7817
+                //    bool boo = await _wo_order_user_maprepository.Remove(modelmap.id);
7818
+                //}
7819
+
7820
+
7821
+                if (clmodel.wostate == 1 && !string.IsNullOrEmpty(assignman))
7673 7822
                 {
7674
-                    //删除工单关系表中对应工单
7675
-                    bool boo = await _wo_order_user_maprepository.Remove(modelmap.id);
7823
+                    //维修工单号
7824
+                    var listmap = await _wo_order_user_maprepository.Get(x => x.woid == clmodel.id && x.wocode == clmodel.wocode && x.channelcode == 1 && x.readby == assignman);
7825
+                    var modelmap = listmap.FirstOrDefault();
7826
+                    if (modelmap == null)
7827
+                    {
7828
+                        //添加是否已读关系表
7829
+                        modelmap = new Wo_Order_User_Map();
7830
+                        modelmap.woid = clmodel.id;
7831
+                        modelmap.wocode = clmodel.wocode;
7832
+                        modelmap.wostate = clmodel.wostate;
7833
+                        modelmap.readby = assignman;
7834
+                        modelmap.channelcode = 1;   //工单类型(枚举EnumOrderState) 维修工单 = 1, 保养工单 = 2, 运行工单 = 3, 超时工单 = 4
7835
+                        modelmap.isread = 0;
7836
+                        modelmap.isnotice = 0;
7837
+                        modelmap.readtime = DateTime.Now;
7838
+                        // modelmap.readtime = DateTime.Now.ToLocalTime();
7839
+                        modelmap.note = "您有新的工单需要处理,工单编号:" + clmodel.wocode;// "故障说明:" + clmodel.faultdescripe;
7840
+                        //modelmap.note = dModel.faultdescripe;
7841
+                        bool b = await _wo_order_user_maprepository.Add(modelmap);
7842
+                    }
7843
+              
7676 7844
                 }
7845
+
7846
+
7847
+
7677 7848
                 #endregion
7678 7849
                 return Success("派单成功");
7679 7850
             }
@@ -7923,10 +8094,11 @@ namespace EquipmentApi.Controllers.workordermanage
7923 8094
         /// <summary>
7924 8095
         /// 取消工单
7925 8096
         /// </summary>
8097
+ 
7926 8098
         [HttpPost("cancle")]
7927 8099
         public async Task<IActionResult> UpdateCancleAsync(string wocode, int channel = 1)
7928 8100
         {
7929
-            string optuser = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
8101
+             string optuser = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
7930 8102
             string optusername = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Name).Value;
7931 8103
             //var userstr = _signTokenService.GetUserInfoAsync(optuser).Result;
7932 8104
             //var userinfo = userstr.ToJObject()["data"].ToString().ToObject<UserInfoModel>();
@@ -7937,7 +8109,7 @@ namespace EquipmentApi.Controllers.workordermanage
7937 8109
 
7938 8110
             var cls = await _wo_repair_baseRepository.Get(p => p.wocode == wocode && p.isdelete == 0);
7939 8111
             var clmodel = cls.FirstOrDefault();
7940
-            if (clmodel != null && clmodel.createuser == optuser && clmodel.wostate == (int)EnumWorkOrderState.create)
8112
+            if (clmodel != null && clmodel.createuser == optuser )
7941 8113
             {
7942 8114
                 clmodel.wostate = (int)EnumWorkOrderState.cancle;
7943 8115
                 clmodel.canceltime = DateTime.Now;
@@ -12157,6 +12329,105 @@ namespace EquipmentApi.Controllers.workordermanage
12157 12329
             return Success("成功", hcinfolist);
12158 12330
         }
12159 12331
 
12332
+
12333
+
12334
+        [HttpGet("getbxmessagelist")]
12335
+        public async Task<IActionResult> GetBxMessageList(int isread)
12336
+        {
12337
+            string nowusercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
12338
+            var listmap = await _wo_order_user_maprepository.Get(x => x.channelcode == 1 && x.readby == nowusercode);
12339
+
12340
+            var list = new List<MessageListDto>();
12341
+            if (isread == 0)
12342
+            {
12343
+                var listnoreadmaps = listmap.Where(x => x.isread == 0).OrderByDescending(x => x.readtime).Take(50);
12344
+                foreach (var item in listnoreadmaps)
12345
+                {
12346
+                    list.Add(new MessageListDto
12347
+                    {
12348
+                        id = item.id,
12349
+                        woid = item.woid,
12350
+                        channelcode = 1,
12351
+                        wotype = 1,
12352
+                        wocode = item.wocode,
12353
+                        proname = "维修工单:" + item.wocode, // + " " + item.proname,
12354
+                        title = "待处理提醒",
12355
+                        content = item.note,
12356
+                        wostate = item.wostate,
12357
+                        statename = "", //工单状态
12358
+                        checkby = "",    //接单人
12359
+                        createby = "",
12360
+                        isread = 0,
12361
+                    });
12362
+                }
12363
+            }
12364
+            else
12365
+            {
12366
+                var listreadmaps = listmap.Where(x => x.isread == 1).OrderByDescending(x => x.readtime).Take(50);
12367
+
12368
+
12369
+                foreach (var item in listreadmaps)
12370
+                {
12371
+                    list.Add(new MessageListDto
12372
+                    {
12373
+                        id = item.id,
12374
+                        woid = item.id,
12375
+                        channelcode = 1,
12376
+                        wotype = 1,
12377
+                        wocode = item.wocode,
12378
+                        proname = "维修工单:" + item.wocode, // + " " + item.proname,
12379
+                        title = item.wocode,
12380
+                        content = item.note,
12381
+                        wostate = item.wostate,
12382
+                        statename = "", //工单状态
12383
+                        checkby = "",    //接单人
12384
+                        createby = "",
12385
+                        isread = 1,
12386
+                    });
12387
+                }
12388
+            }
12389
+
12390
+
12391
+
12392
+
12393
+            var obj = new
12394
+            {
12395
+                rows = list,
12396
+                total = list.Count
12397
+
12398
+            };
12399
+            return Success("获取成功", obj);
12400
+        }
12401
+
12402
+        [HttpGet("getyd")]
12403
+        public async Task<IActionResult> GetYdList(string id)
12404
+        {
12405
+
12406
+
12407
+            string nowusercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
12408
+            //  string nowusercode="1003";
12409
+            var listmap = await _wo_order_user_maprepository.Get(x => x.channelcode == 1 && x.readby == nowusercode && x.id == id);
12410
+            if (listmap != null)
12411
+            {
12412
+                var modelmap = listmap.FirstOrDefault();
12413
+                if (modelmap != null)
12414
+                {
12415
+                    modelmap.isread = 1;
12416
+                    modelmap.isnotice = 1;
12417
+
12418
+                    modelmap.readtime = DateTime.Now;
12419
+                    bool b = await _wo_order_user_maprepository.UpdateOne(modelmap);
12420
+                }
12421
+                return Success("已读成功");
12422
+            }
12423
+            else
12424
+            {
12425
+                return Success(nowusercode + listmap.ToJson());
12426
+            }
12427
+
12428
+        }
12429
+
12430
+
12160 12431
         #endregion
12161 12432
     }
12162 12433
 }

+ 74 - 0
MadRunFabric.EquipmentApi/EquipmentApi/Model/MessageListDto.cs

@@ -0,0 +1,74 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Text;
4
+
5
+namespace EquipmentApi.Model
6
+{
7
+    public class MessageListDto
8
+    {
9
+        /// <summary>
10
+        /// id编号
11
+        /// </summary>
12
+        public string id { get; set; }
13
+        /// <summary>
14
+        /// 工单来源: 维修订单 = 1, 保养订单 = 2, 保养计划订单 = 3,超时工单 = 4
15
+        /// </summary>
16
+        public int channelcode { get; set; }
17
+        /// <summary>
18
+        /// 工单类型: 报修 = 1, 保养 = 2, 巡检 = 3
19
+        /// </summary>
20
+        public int wotype { get; set; }
21
+        /// <summary>
22
+        /// 工单状态:0创建工单,1已转派(转派或者抢单),2已处理,3已评价,6挂起,7挂起,8已取消,9已完成,99超时
23
+        /// </summary>
24
+        public int wostate { get; set; }
25
+        /// <summary>
26
+        /// 工单编号
27
+        /// </summary>
28
+        public string wocode { get; set; } = "";
29
+        /// <summary>
30
+        /// 工单id
31
+        /// </summary>
32
+        public string woid { get; set; }
33
+        /// <summary>
34
+        /// 项目名称
35
+        /// </summary>
36
+        public string proname { get; set; }
37
+        /// <summary>
38
+        /// 标题
39
+        /// </summary>
40
+        public string title { get; set; }
41
+        /// <summary>
42
+        /// 接单人(转派)
43
+        /// </summary>
44
+        public string checkby { get; set; }
45
+        /// <summary>
46
+        /// 内容
47
+        /// </summary>
48
+        public string content { get; set; }
49
+        /// <summary>
50
+        /// 工单状态
51
+        /// </summary>
52
+        public string statename { get; set; }
53
+        /// <summary>
54
+        /// 创建人id
55
+        /// </summary>
56
+        public string createby { get; set; }
57
+        public DateTime createtime
58
+        {
59
+            get
60
+            {
61
+                return _createtime.ToLocalTime();
62
+            }
63
+            set
64
+            {
65
+                _createtime = value.ToLocalTime();
66
+            }
67
+        }
68
+        private DateTime _createtime = DateTime.Now.ToLocalTime();
69
+        /// <summary>
70
+        /// 是否已读 (0未读【推送消息】,1已读)
71
+        /// </summary>
72
+        public int isread { get; set; } = 0;
73
+    }
74
+}

+ 9 - 6
MadRunFabric.MessageApi/MessageApi/Controllers/Application/ApplicationsVersionController.cs

@@ -271,19 +271,22 @@ namespace MessageApi.Controllers
271 271
             //其他方法
272 272
             //Task<IEnumerable<App_ApplicationsVersion>> list = _app_applicationsVersionRepository.Get(null, null, sort);
273 273
             //var model = list.Result.SingleOrDefault();
274
-            if (model.downurl != null)
274
+           
275
+           
276
+            if (model != null)
275 277
             {
276
-
277
-                foreach (var item in model.downurl.ToArray())
278
+                if (model.downurl != null)
278 279
                 {
280
+
281
+                    foreach (var item in model.downurl.ToArray())
282
+                    {
279 283
                         if (item.fileurl.Contains(oldurl))
280 284
                         {
281 285
                             item.fileurl = item.fileurl.Replace(oldurl, newurl);
282 286
                         }
287
+                    }
283 288
                 }
284
-             }
285
-            if (model != null)
286
-            {
289
+
287 290
                 var result = new
288 291
                 {
289 292
                     id = model.id,

+ 104 - 2
MadRunFabric.MessageApi/MessageApi/Controllers/MessageController.cs

@@ -14,6 +14,8 @@ using Microsoft.Extensions.Caching.Distributed;
14 14
 using MadRunFabric.Model.MessageApi;
15 15
 using MessageApi.Model;
16 16
 using Microsoft.Extensions.Configuration;
17
+using System.Security.Cryptography.X509Certificates;
18
+using NetTaste;
17 19
 
18 20
 namespace MessageApi.Controllers
19 21
 {
@@ -866,8 +868,14 @@ namespace MessageApi.Controllers
866 868
             #region 不同地方
867 869
             //int messagetype = 1;    //消息通知
868 870
             //运维员工YWYG,运维主管YWZG
869
-            string rolecode =  User.Claims.FirstOrDefault(c => c.Type == "RoleCode").Value;
870
-            string usercode =  User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;//工单用户查看关系表 - 已查看订单
871
+             string rolecode =  User.Claims.FirstOrDefault(c => c.Type == "RoleCode").Value;
872
+             string usercode =  User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;//工单用户查看关系表 - 已查看订单
873
+
874
+            //string rolecode = "XTWH";
875
+            // string usercode = "8000";
876
+
877
+          
878
+            
871 879
             string projectlist = "";
872 880
             //获取角色code
873 881
             var modelUser =  await _sys_user_accountRepository.GetSingle(x => x.usercode == usercode);
@@ -1368,6 +1376,7 @@ namespace MessageApi.Controllers
1368 1376
         /// 消息通知 - 设备维修(报修工单) - old通过时间(不用)
1369 1377
         /// </summary>
1370 1378
         /// <returns></returns>
1379
+        [AllowAnonymous]
1371 1380
         [HttpGet("getmessagelist2")]
1372 1381
         public async Task<IActionResult> GetMessagesList2(string stime)
1373 1382
         {
@@ -1484,6 +1493,99 @@ namespace MessageApi.Controllers
1484 1493
             return Success("获取成功", obj);
1485 1494
         }
1486 1495
 
1496
+
1497
+        [HttpGet("getbxmessagelist")]
1498
+        public async Task<IActionResult> GetBxMessageList(int isread) {
1499
+            string nowusercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
1500
+            var listmap = await _wo_order_user_maprepository.Get(x =>   x.channelcode == 1 && x.readby == nowusercode);
1501
+                   
1502
+            var list= new List<MessageListDto>();
1503
+            if (isread == 0)
1504
+            {
1505
+                var listnoreadmaps = listmap.Where(x => x.isread == 0).OrderByDescending(x => x.readtime).Take(50);
1506
+                foreach (var item in listnoreadmaps)
1507
+                {
1508
+                    list.Add(new MessageListDto
1509
+                    {
1510
+                        id = item.id,
1511
+                        woid = item.woid,
1512
+                        channelcode = (int)EnumOrderState.维修工单,
1513
+                        wotype = (int)EnumWoType.维修,
1514
+                        wocode = item.wocode,
1515
+                        proname = "维修工单:" + item.wocode, // + " " + item.proname,
1516
+                        title = "待处理提醒",
1517
+                        content = item.note,
1518
+                        wostate = item.wostate,
1519
+                        statename = "", //工单状态
1520
+                        checkby = "",    //接单人
1521
+                        createby = "",
1522
+                        isread = 0,
1523
+                    });
1524
+                }
1525
+            }
1526
+            else {
1527
+                var listreadmaps = listmap.Where(x => x.isread == 1).OrderByDescending(x => x.readtime).Take(50);
1528
+               
1529
+
1530
+                foreach (var item in listreadmaps)
1531
+                {
1532
+                    list.Add(new MessageListDto
1533
+                    {
1534
+                        id = item.id,
1535
+                        woid = item.id,
1536
+                        channelcode = (int)EnumOrderState.维修工单,
1537
+                        wotype = (int)EnumWoType.维修,
1538
+                        wocode = item.wocode,
1539
+                        proname = "维修工单:" + item.wocode, // + " " + item.proname,
1540
+                        title = item.wocode,
1541
+                        content = item.note,
1542
+                        wostate = item.wostate,
1543
+                        statename = "", //工单状态
1544
+                        checkby = "",    //接单人
1545
+                        createby = "",
1546
+                        isread = 1,
1547
+                    });
1548
+                }
1549
+            }
1550
+
1551
+           
1552
+
1553
+           
1554
+            var obj = new
1555
+            {
1556
+                rows = list,
1557
+                total=list.Count
1558
+                 
1559
+            };
1560
+            return Success("获取成功", obj);
1561
+        }
1562
+
1563
+        [HttpGet("getyd")]
1564
+        public async Task<IActionResult> GetYdList(string id) {
1565
+       
1566
+            
1567
+            string nowusercode = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
1568
+           //  string nowusercode="1003";
1569
+            var listmap = await _wo_order_user_maprepository.Get(x => x.channelcode == 1 && x.readby == nowusercode && x.id==id);
1570
+            if (listmap != null)
1571
+            {
1572
+                var modelmap = listmap.FirstOrDefault();
1573
+                if (modelmap != null)
1574
+                {
1575
+                    modelmap.isread = 1;
1576
+                    modelmap.isnotice = 1;
1577
+
1578
+                    modelmap.readtime = DateTime.Now;
1579
+                    bool b = await _wo_order_user_maprepository.UpdateOne(modelmap);
1580
+                }
1581
+                return Success("已读成功");
1582
+            }
1583
+            else {
1584
+                return Success( nowusercode+listmap.ToJson());
1585
+            }
1586
+           
1587
+        }
1588
+
1487 1589
         /// <summary>
1488 1590
         /// 消息通知类型
1489 1591
         /// </summary>