Sfoglia il codice sorgente

急查标本更新

zhupei 4 anni fa
parent
commit
960774ad73

+ 154 - 114
RMYY_CallCenter_Api/Controllers/WorkOrder/T_Dis_WorkOrderController.cs

228
             }
228
             }
229
             else
229
             else
230
                 return Error("没有查询到此工单!");
230
                 return Error("没有查询到此工单!");
231
-
232
         }
231
         }
233
 
232
 
234
         /// <summary>
233
         /// <summary>
369
         /// <param name="remark"></param>
368
         /// <param name="remark"></param>
370
         /// <param name="callid"></param>
369
         /// <param name="callid"></param>
371
         /// <returns></returns>
370
         /// <returns></returns>
372
-        public ActionResult AddWorOrder(int type,int hosid, int deptid, string deptname, string usercode, string username, string phon, string itemessage, string remark, string callid = "", int isthird = 0, int islarge = 0, string carrytime = "", int number = 0, string pic = "", string positon = "",string orthertype="")
371
+        public ActionResult AddWorOrder(int type, int hosid, int deptid, string deptname, string usercode, string username, string phon, string itemessage, string remark, string callid = "", int isthird = 0, int islarge = 0, string carrytime = "", int number = 0, string pic = "", string positon = "", string orthertype = "")
373
         {
372
         {
374
             if (User != null)
373
             if (User != null)
375
             {
374
             {
376
-            #region 添加条件
377
-            if (type != (int)EnumWorkOrder.OrtherDis && type != (int)EnumWorkOrder.UrgDis && type != (int)EnumWorkOrder.RedDis && type != (int)EnumWorkOrder.BloodDis)
378
-                return Error("工单类型错误!");
379
-            if (hosid <= 0)
380
-                return Error("请选择院区!");
381
-            if (deptid <= 0)
382
-                return Error("请选择申请部门!");
383
-            if (usercode == "")
384
-                return Error("请选择申请人!");
385
-            if (phon == "")
386
-                return Error("请输入联系电话!");
387
-            if (type == (int)EnumWorkOrder.OrtherDis && string.IsNullOrEmpty(orthertype))
388
-            {
389
-             return Error("请选择配送类型!");
390
-            }
391
-            //if (string.IsNullOrEmpty(itemessage))
392
-            //    return Error("请填写配送信息!");
393
-            #endregion
394
-            var model = new Model.T_Dis_WorkOrder();
395
-            model.F_Type = type;//工单类型  急标本配送
396
-            model.F_Source = "PC端";
397
-            model.F_CallID = callid;
398
-            model.F_State = (int)EnumDisWorkOrderState.neworder;//新工单待转派
399
-            model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
400
-            model.F_HosId = hosid;//院区
401
-            model.F_ProposerDeptId = deptid;//申请科室
402
-            model.F_ProposerDeptName = deptname;//申请科室名称
403
-            model.F_ProposerCode = usercode;//申请人
404
-            model.F_ProposerName = username;
405
-            model.F_ProposerPhon = phon;
406
-            model.F_BedPosition = positon;//送达地点
407
-            model.F_Remark = remark;
408
-            model.F_CreateTime = DateTime.Now;
409
-            model.F_CreateCode = User.F_UserCode;
410
-            model.F_CreateName = User.F_UserName;
411
-            model.F_IsDel = 0;
412
-            if (!string.IsNullOrEmpty(orthertype))
413
-                model.F_OrtherType = orthertype;
414
-            if (type == (int)EnumWorkOrder.OrtherDis && isthird == 1)
415
-            {
416
-                model.F_IsThird = 1;
417
-                model.F_Islarge = islarge;
418
-                if (!string.IsNullOrEmpty(carrytime))
419
-                    model.F_CarryTime = Convert.ToDateTime(carrytime);
420
-            }
421
-            if (type == (int)EnumWorkOrder.OrtherDis || type == (int)EnumWorkOrder.UrgDis)
422
-            {
423
-                #region 信息处理
424
-                if (string.IsNullOrEmpty(itemessage))
425
-                    return Error("请填写配送信息!");
426
-                string[] _list = itemessage.TrimEnd(',').Split(',');
427
-                string mscontents = "";
428
-                for (int i = 0; i < _list.Length; i++)
375
+                #region 添加条件
376
+                if (type != (int)EnumWorkOrder.OrtherDis && type != (int)EnumWorkOrder.UrgDis && type != (int)EnumWorkOrder.RedDis && type != (int)EnumWorkOrder.BloodDis)
377
+                    return Error("工单类型错误!");
378
+                if (hosid <= 0)
379
+                    return Error("请选择院区!");
380
+                if (deptid <= 0)
381
+                    return Error("请选择申请部门!");
382
+                if (usercode == "")
383
+                    return Error("请选择申请人!");
384
+                if (phon == "")
385
+                    return Error("请输入联系电话!");
386
+                if (type == (int)EnumWorkOrder.OrtherDis && string.IsNullOrEmpty(orthertype))
387
+                {
388
+                    return Error("请选择配送类型!");
389
+                }
390
+                //if (string.IsNullOrEmpty(itemessage))
391
+                //    return Error("请填写配送信息!");
392
+                #endregion
393
+                var model = new Model.T_Dis_WorkOrder();
394
+                model.F_Type = type;//工单类型  急标本配送
395
+                model.F_Source = "PC端";
396
+                model.F_CallID = callid;
397
+                model.F_State = (int)EnumDisWorkOrderState.neworder;//新工单待转派
398
+                model.F_HosId = hosid;//院区
399
+                model.F_ProposerDeptId = deptid;//申请科室
400
+                model.F_ProposerDeptName = deptname;//申请科室名称
401
+                model.F_ProposerCode = usercode;//申请人
402
+                model.F_ProposerName = username;
403
+                model.F_ProposerPhon = phon;
404
+                model.F_BedPosition = positon;//送达地点
405
+                model.F_Remark = remark;
406
+                model.F_CreateTime = DateTime.Now;
407
+                model.F_CreateCode = User.F_UserCode;
408
+                model.F_CreateName = User.F_UserName;
409
+                model.F_IsDel = 0;
410
+                if (!string.IsNullOrEmpty(orthertype))
411
+                    model.F_OrtherType = orthertype;
412
+                if (type == (int)EnumWorkOrder.OrtherDis && isthird == 1)
413
+                {
414
+                    model.F_IsThird = 1;
415
+                    model.F_Islarge = islarge;
416
+                    if (!string.IsNullOrEmpty(carrytime))
417
+                        model.F_CarryTime = Convert.ToDateTime(carrytime);
418
+                }
419
+                if (type == (int)EnumWorkOrder.OrtherDis )
429
                 {
420
                 {
430
-                    string[] _temp = _list[i].Split('-');
431
-                    string itemess = _temp[0];
432
-                    int num = Convert.ToInt32(_temp[1]);
421
+                    #region 信息处理
422
+                    if (string.IsNullOrEmpty(itemessage))
423
+                        return Error("请填写配送信息!");
424
+                    string[] _list = itemessage.TrimEnd(',').Split(',');
425
+                    string mscontents = "";
426
+                    for (int i = 0; i < _list.Length; i++)
427
+                    {
428
+                        string[] _temp = _list[i].Split('-');
429
+                        string itemess = _temp[0];
430
+                        int num = Convert.ToInt32(_temp[1]);
433
 
431
 
434
-                    if (num > 0 && itemess != "")
432
+                        if (num > 0 && itemess != "")
433
+                        {
434
+                            mscontents = string.IsNullOrEmpty(mscontents) ? (itemess + ",数量:" + num) : (mscontents + " ; " + itemess + ",数量:" + num);
435
+                        }
436
+                        else return Error("配送信息不正确!");
437
+                    }
438
+                    #endregion
439
+                    model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
440
+                    model.F_ItemMessages = itemessage;//配送内容
441
+                    model.F_ItemContents = mscontents;
442
+                    int n = orderbll.Add(model);
443
+                    if (n > 0)
435
                     {
444
                     {
436
-                        mscontents = string.IsNullOrEmpty(mscontents) ? (itemess + ",数量:" + num) : (mscontents + " ; " + itemess + ",数量:" + num);
445
+                        var wmodel = orderbll.GetModel(n);
446
+                        AddLog(n, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
437
                     }
447
                     }
438
-                    else return Error("配送信息不正确!");
448
+                    else return Error("添加失败");
439
                 }
449
                 }
440
-                #endregion
441
-                model.F_ItemMessages = itemessage;//配送内容
442
-                model.F_ItemContents = mscontents;
443
-                int n = orderbll.Add(model);
444
-                if (n > 0)
450
+                if (type == (int)EnumWorkOrder.RedDis)
445
                 {
451
                 {
446
-                    var wmodel = orderbll.GetModel(n);
447
-                    AddLog(n, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
452
+                    if (number <= 0)
453
+                        return Error("红处方数量不能为空!");
454
+                    model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
455
+                    model.F_DisNum = number;//红处方数量
456
+                    model.F_ItemMessages = pic;//红处方图片
457
+                    model.F_ItemContents = "红处方配送";
458
+                    int n = orderbll.Add(model);
459
+                    if (n > 0)
460
+                    {
461
+                        var wmodel = orderbll.GetModel(n);
462
+                        AddLog(n, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
463
+                    }
464
+                    else return Error("添加失败");
448
                 }
465
                 }
449
-                else return Error("添加失败");
450
-            }
451
-            if (type == (int)EnumWorkOrder.RedDis)
452
-            {
453
-                if (number <= 0)
454
-                    return Error("红处方数量不能为空!");
455
-                model.F_DisNum = number;//红处方数量
456
-                model.F_ItemMessages = pic;//红处方图片
457
-                model.F_ItemContents = "红处方配送";
458
-                int n = orderbll.Add(model);
459
-                if (n > 0)
466
+                if (type == (int)EnumWorkOrder.UrgDis)
460
                 {
467
                 {
461
-                    var wmodel = orderbll.GetModel(n);
462
-                    AddLog(n, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
468
+                    #region 信息处理
469
+                    if (string.IsNullOrEmpty(itemessage))
470
+                        return Error("请填写配送信息!");
471
+                    string[] _list = itemessage.TrimEnd(',').Split(',');
472
+                    //string deptstr = "";
473
+                    //string[] deptlist = { };
474
+                    for (int i = 0; i < _list.Length; i++)
475
+                    {
476
+                        string[] _temp = _list[i].Split('-');
477
+                        int sendeptid = Convert.ToInt32(_temp[0]);
478
+                        string mscontents = "";
479
+                        string sendepatname = "";
480
+                        try { sendepatname = dptbll.GetModel(sendeptid).F_DeptName; }
481
+                        catch { return Error("请填写正确送达科室信息!"); }
482
+                        if (_temp[1].IndexOf('|') > 0)
483
+                        {
484
+                            var itemess = _temp[1].Trim('|').Split('|');
485
+                            var num = _temp[2].Trim('|').Split('|');      
486
+                            for(int k=0;k<itemess.Length;k++)
487
+                            {
488
+                                mscontents = string.IsNullOrEmpty(mscontents) ? itemess[k] + " : 数量" + num[k] : mscontents + ";" + itemess[k] + " : 数量" + num[k];
489
+                            }                           
490
+                            model.F_ItemMessages = itemessage;//配送内容
491
+                            model.F_ItemContents = mscontents;
492
+                            model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
493
+                            model.F_SendDeptId = sendeptid;
494
+                            model.F_SendDeptName = sendepatname;
495
+                            int tt = orderbll.Add(model);
496
+                            if (tt > 0)
497
+                            {
498
+                                AddLog(tt, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
499
+                            }
500
+                            else return Error("添加失败");
501
+                            //deptstr += sendeptid + ",";
502
+                        }
503
+                        else return Error("操作失败,请填写正确信息!");
504
+                    }
505
+                    //if (!string.IsNullOrEmpty(deptstr))
506
+                    //    deptlist = deptstr.TrimEnd(',').Split(',');
507
+                    #endregion
463
                 }
508
                 }
464
-                else return Error("添加失败");
465
-            }
466
-            if (type == (int)EnumWorkOrder.BloodDis)
467
-            {
468
-                #region 信息处理
469
-                if (string.IsNullOrEmpty(itemessage))
470
-                    return Error("请填写配送信息!");
471
-                string[] _list = itemessage.TrimEnd(',').Split(',');
472
-                string mscontents = "";
473
-                //string deptstr = "";
474
-                //string[] deptlist = { };
475
-                for (int i = 0; i < _list.Length; i++)
509
+                if (type == (int)EnumWorkOrder.BloodDis)
476
                 {
510
                 {
477
-                    string[] _temp = _list[i].Split('-');
478
-                    string itemess = _temp[0];
479
-                    int sendeptid = Convert.ToInt32(_temp[1]);
480
-                    string sendepatname = _temp[2].ToString();
481
-                    int num = Convert.ToInt32(_temp[3]);
482
-
483
-                    if (num > 0 && itemess != "" && sendepatname != "" && sendeptid > 0)
511
+                    #region 信息处理
512
+                    if (string.IsNullOrEmpty(itemessage))
513
+                        return Error("请填写配送信息!");
514
+                    string[] _list = itemessage.TrimEnd(',').Split(',');
515
+                    string mscontents = "";
516
+                    //string deptstr = "";
517
+                    //string[] deptlist = { };
518
+                    for (int i = 0; i < _list.Length; i++)
484
                     {
519
                     {
485
-                        //mscontents = string.IsNullOrEmpty(mscontents) ? (itemess + "配送到" + sendepatname + "科室" + ",数量:" + num) : (mscontents + " ; " + itemess + "配送到" + sendepatname + "科室" + ",数量:" + num);
486
-                        mscontents = itemess + "配送到" + sendepatname + "科室" + ",数量:" + num;
487
-                        model.F_ItemMessages = itemessage;//配送内容
488
-                        model.F_ItemContents = mscontents;
489
-                        var deptmodel = dptbll.GetModel(sendeptid);
490
-                        if (deptmodel != null)
520
+                        string[] _temp = _list[i].Split('-');
521
+                        string itemess = _temp[0];
522
+                        int sendeptid = Convert.ToInt32(_temp[1]);
523
+                        int num = Convert.ToInt32(_temp[2]);
524
+                        string sendepatname = "";
525
+                        try { sendepatname = dptbll.GetModel(sendeptid).F_DeptName; }
526
+                        catch { return Error("请填写正确送达科室信息!"); }
527
+                        if (num > 0 && itemess != "" && sendepatname != "" && sendeptid > 0)
491
                         {
528
                         {
529
+                            //mscontents = string.IsNullOrEmpty(mscontents) ? (itemess + "配送到" + sendepatname + "科室" + ",数量:" + num) : (mscontents + " ; " + itemess + "配送到" + sendepatname + "科室" + ",数量:" + num);
530
+                            mscontents = itemess + "送到" + sendepatname + ",数量:" + num;
531
+                            model.F_ItemMessages = itemessage;//配送内容
532
+                            model.F_ItemContents = mscontents;
533
+                            model.F_WorkOrderCode = DateTime.Now.ToString("yyyyMMddHHmmssfff");//工单编号
492
                             model.F_SendDeptId = sendeptid;
534
                             model.F_SendDeptId = sendeptid;
493
                             model.F_SendDeptName = sendepatname;
535
                             model.F_SendDeptName = sendepatname;
494
                             int tt = orderbll.Add(model);
536
                             int tt = orderbll.Add(model);
497
                                 AddLog(tt, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
539
                                 AddLog(tt, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
498
                             }
540
                             }
499
                             else return Error("添加失败");
541
                             else return Error("添加失败");
542
+                            //deptstr += sendeptid + ",";
500
                         }
543
                         }
501
-                        else return Error("不存在此部门信息!");
502
-                        //deptstr += sendeptid + ",";
544
+                        else return Error("操作失败,请填写正确信息!");
503
                     }
545
                     }
504
-                    else return Error("配送信息不正确!");
546
+                    //if (!string.IsNullOrEmpty(deptstr))
547
+                    //    deptlist = deptstr.TrimEnd(',').Split(',');
548
+                    #endregion
505
                 }
549
                 }
506
-                //if (!string.IsNullOrEmpty(deptstr))
507
-                //    deptlist = deptstr.TrimEnd(',').Split(',');
508
-                #endregion
509
-            }
510
-            return Success("操作成功!");
550
+                return Success("操作成功!");
511
             }
551
             }
512
             return Error("无操作权限");
552
             return Error("无操作权限");
513
         }
553
         }