瀏覽代碼

急查标本更新

zhupei 4 年之前
父節點
當前提交
960774ad73
共有 1 個文件被更改,包括 154 次插入114 次删除
  1. 154 114
      RMYY_CallCenter_Api/Controllers/WorkOrder/T_Dis_WorkOrderController.cs

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

@@ -228,7 +228,6 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
228 228
             }
229 229
             else
230 230
                 return Error("没有查询到此工单!");
231
-
232 231
         }
233 232
 
234 233
         /// <summary>
@@ -369,126 +368,169 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
369 368
         /// <param name="remark"></param>
370 369
         /// <param name="callid"></param>
371 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 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 534
                             model.F_SendDeptId = sendeptid;
493 535
                             model.F_SendDeptName = sendepatname;
494 536
                             int tt = orderbll.Add(model);
@@ -497,17 +539,15 @@ namespace RMYY_CallCenter_Api.Controllers.WorkOrder
497 539
                                 AddLog(tt, 0, type, User.F_UserName + "(" + User.F_UserCode + ")" + "创建新工单", 0, (int)EnumDisItemOpt.create, "", 0, User);
498 540
                             }
499 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 552
             return Error("无操作权限");
513 553
         }