瀏覽代碼

更新售后仓库操作 仓库列表

zhangkun 5 年之前
父節點
當前提交
8c18f4e4b2

+ 11 - 1
代码/System.Model/T_Bus_AfterSale.cs

@@ -21,7 +21,8 @@ namespace System.Model
21 21
 		private int _f_checkstatesh = 0;
22 22
 		private DateTime? _f_checktimesh;
23 23
 		private int _f_checkusersh = 0;
24
-		private string _f_checkusernamesh = "";
24
+		private string _f_checkusernamesh = "";		
25
+		private string _f_olddetaillist = "";
25 26
 		private string _f_detaillist = "";
26 27
 		private string _f_trackingno = "";
27 28
 		private string _f_trackdes = "";
@@ -140,6 +141,15 @@ namespace System.Model
140 141
 			get { return _f_detaillist; }
141 142
 		}
142 143
 		/// <summary>
144
+		/// 退回产品列表
145
+		/// </summary>
146
+		public string F_OldDetailList
147
+		{
148
+			set { _f_olddetaillist = value; }
149
+			get { return _f_olddetaillist; }
150
+		}
151
+		
152
+		/// <summary>
143 153
 		/// 运单号
144 154
 		/// </summary>
145 155
 		public string F_TrackingNo

+ 1 - 1
代码/System.Model/T_Bus_OrderDetail.cs

@@ -27,7 +27,7 @@ namespace System.Model
27 27
 		private int _f_state=0;
28 28
 
29 29
 		/// <summary>
30
-		/// 0正常1售后
30
+		/// 0正常1售后中 2售后完成
31 31
 		/// </summary>
32 32
 		public int F_State
33 33
 		{

+ 206 - 27
代码/TVShoppingCallCenter_ZLJ/Controllers/Order/AfterSaleController.cs

@@ -314,6 +314,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
314 314
                 modelAfterSale.F_CheckUserXS = modeOrder.F_AddUser;
315 315
 
316 316
                 modelAfterSale.F_DetailList = input.F_DetailList;
317
+                modelAfterSale.F_OldDetailList = input.F_OldDetailList;
317 318
                 modelAfterSale.F_Type = input.F_Type;
318 319
                 modelAfterSale.F_Money = input.F_Money;
319 320
 
@@ -326,6 +327,28 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
326 327
                 if (!string.IsNullOrEmpty(input.F_Remark))
327 328
                     modelAfterSale.F_Remark = " 售后:" + input.F_Remark;
328 329
 
330
+                List<T_Bus_OrderDetail> modelOldDetailList = new List<T_Bus_OrderDetail>();
331
+
332
+                //更新售后流程的退货商品
333
+                if (string.IsNullOrEmpty(modelAfterSale.F_OldDetailList))
334
+                {
335
+                    #region 退回商品展示
336
+
337
+                    foreach (string product in modelAfterSale.F_OldDetailList.Split('|'))
338
+                    {
339
+                        string productid = product.Split(',')[0];
340
+
341
+                        T_Bus_OrderDetail modelDetail = await bus_OrderDetailRepository.GetSingle(q => q.F_OrderId == modeOrder.F_Id && q.F_ProductId == productid);
342
+                        if (modelDetail.F_State >= 1)
343
+                        {
344
+                            return Error("此商品已参加售后:" + modelDetail.F_ProductName);
345
+                        }
346
+                        modelDetail.F_State = 1;
347
+                        modelOldDetailList.Add(modelDetail);
348
+                    }
349
+
350
+                    #endregion
351
+                }
329 352
 
330 353
                 if (input.F_Type == 4)
331 354
                 {
@@ -339,6 +362,19 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
339 362
                         }
340 363
                     }
341 364
                 }
365
+                else if (input.F_Type == 2 || input.F_Type == 3)
366
+                {
367
+
368
+                }
369
+                else if (input.F_Type == 1)
370
+                {
371
+
372
+                }
373
+                if (modelOldDetailList != null && modelOldDetailList.Count > 0)
374
+                {
375
+                    //批量更新状态 为售后中
376
+                    await bus_OrderDetailRepository.UpdateList(modelOldDetailList);
377
+                }
342 378
                 if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
343 379
                 {
344 380
                     if (input.F_CheckStateSH == 0)
@@ -385,7 +421,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
385 421
                     //物流状态0 未发出 1物流运送中2签收3改代收4拒收
386 422
                     return Error("订单状态不符合售后");
387 423
                 }
388
-                T_Bus_AfterSale modelAfterSale =await busAfterSaleRepository.GetSingle(q=>q.F_Id==input.F_Id);
424
+                T_Bus_AfterSale modelAfterSale = await busAfterSaleRepository.GetSingle(q => q.F_Id == input.F_Id);
389 425
                 if (modelAfterSale.F_CheckStateSH == 1)
390 426
                 {
391 427
                     return Error("不能重复审核提交");
@@ -511,8 +547,6 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
511 547
 
512 548
         #region 仓库操作
513 549
 
514
-       
515
-
516 550
         /// <summary>
517 551
         /// 更新状态
518 552
         /// </summary>
@@ -530,47 +564,58 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
530 564
 
531 565
                 #endregion
532 566
 
567
+                T_Bus_AfterSale modelAfterSale = await busAfterSaleRepository.GetSingle(q => q.F_Id == input.F_Id);
533 568
 
534
-                T_Bus_Order modeOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == input.F_OrderId);
569
+                T_Bus_Order modeOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == modelAfterSale.F_OrderId);
535 570
                 if (modeOrder == null)
536 571
                 {
537 572
                     return Error("订单不存在");
538 573
                 }
539
-                else if (modeOrder.F_Status == -1)
540
-                {
541
-                    //物流状态0 未发出 1物流运送中2签收3改代收4拒收
542
-                    return Error("订单状态不符合售后");
543
-                }
544
-                T_Bus_AfterSale modelAfterSale = await busAfterSaleRepository.GetSingle(q => q.F_Id == input.F_Id);
545
-                if (modelAfterSale.F_CheckStateKG == 1|| modelAfterSale.F_CheckStateKG == 2)
574
+
575
+                if (modelAfterSale.F_CheckStateKG == 1 || modelAfterSale.F_CheckStateKG == 2)
546 576
                 {
547 577
                     //1收到货(根据状态自动创建订单)2货物不符3未收到货
548 578
                     return Error("不能重复审核提交");
549 579
                 }
550
-                modelAfterSale.F_CheckTimeKG = DateTime.Now;
551 580
                 modelAfterSale.F_CheckStateKG = input.F_State;
581
+
582
+                modelAfterSale.F_CheckTimeKG = DateTime.Now;
552 583
                 modelAfterSale.F_CheckUserKG = UserLogin.UserId.ObjToInt();
553 584
                 modelAfterSale.F_CheckUserNameKG = UserLogin.UserName;
554
-
555 585
                 modelAfterSale.F_CheckUserXS = modeOrder.F_AddUser;
586
+                List<T_Bus_OrderDetail> modelOldDetailList = new List<T_Bus_OrderDetail>();
556 587
 
557
-                modelAfterSale.F_DetailList = input.F_DetailList;
558
-                modelAfterSale.F_Type = input.F_Type;
559
-                modelAfterSale.F_Money = input.F_Money;
588
+                //1收到货(根据状态自动创建订单)2货物不符3未收到货
589
+                if (modelAfterSale.F_CheckStateKG == 1)
590
+                {
591
+                    #region 更新用户快递商品
592
+                    if (string.IsNullOrEmpty(modelAfterSale.F_OldDetailList))
593
+                    {
594
+                        foreach (string product in modelAfterSale.F_DetailList.Split('|'))
595
+                        {
596
+                            string productid = product.Split(',')[0];
597
+
598
+                            T_Bus_OrderDetail modelDetail = await bus_OrderDetailRepository.GetSingle(q => q.F_OrderId == modeOrder.F_Id && q.F_ProductId == productid);
599
+                            if (modelDetail.F_State == 2)
600
+                            {
601
+                                return Error("此商品已参加过售后:" + modelDetail.F_ProductName);
602
+                            }
603
+                            modelDetail.F_State = 2;
604
+                            modelOldDetailList.Add(modelDetail);
605
+                        }
606
+                    }
607
+                    #endregion
608
+                    if (modelAfterSale.F_Type == 4)
609
+                    {
560 610
 
561
-                modelAfterSale.F_OrderId = input.F_OrderId;
562
-                modelAfterSale.F_AboutOrderId = "";
563
-                modelAfterSale.F_Id = Guid.NewGuid().ToString().Replace("-", "");
564
-
565
-                modelAfterSale.F_TrackingNo = input.F_TrackingNo;
566
-                modelAfterSale.F_TrackDes = input.F_TrackDes;
567
-                if (!string.IsNullOrEmpty(input.F_Remark))
568
-                    modelAfterSale.F_Remark = " 售后:" + input.F_Remark;
611
+                        modelAfterSale.F_State = 1;
569 612
 
613
+                    }
614
+                    else if (modelAfterSale.F_Type == 2 || modelAfterSale.F_Type == 3)
615
+                    {
570 616
 
571
-                if (modelAfterSale.F_Type == 4)
572
-                {
573
-                    if (modelAfterSale.F_CheckStateSH == 1)
617
+                    }
618
+                    else if (modelAfterSale.F_Type == 1)
574 619
                     {
575 620
                         modelAfterSale.F_AboutOrderId = "BJ" + UserLogin.UserId + "T" + DateTimeConvert.ToTimetag(DateTime.Now);
576 621
                         string addResult = await AddOrder(modelAfterSale, modeOrder);
@@ -578,8 +623,45 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
578 623
                         {
579 624
                             return Error("订单无法创建:" + addResult);
580 625
                         }
626
+                        modelAfterSale.F_State = 1;
581 627
                     }
582 628
                 }
629
+                else if (modelAfterSale.F_CheckStateKG == 2)
630
+                {
631
+                    //时间长自动作废
632
+                    //如果没有对发货  货物不符则标记为无效
633
+                    #region 更新用户快递商品
634
+                    if (modelAfterSale.F_Type != 1)
635
+                    {
636
+                        if (string.IsNullOrEmpty(modelAfterSale.F_OldDetailList))
637
+                        {
638
+                            foreach (string product in modelAfterSale.F_DetailList.Split('|'))
639
+                            {
640
+                                string productid = product.Split(',')[0];
641
+
642
+                                T_Bus_OrderDetail modelDetail = await bus_OrderDetailRepository.GetSingle(q => q.F_OrderId == modeOrder.F_Id && q.F_ProductId == productid);
643
+                                if (modelDetail.F_State == 2)
644
+                                {
645
+                                    return Error("此商品已参加过售后:" + modelDetail.F_ProductName);
646
+                                }
647
+                                modelDetail.F_State = 0;
648
+                                modelOldDetailList.Add(modelDetail);
649
+                            }
650
+                        }
651
+                    }
652
+                    #endregion
653
+                }
654
+                else if (modelAfterSale.F_CheckStateKG == 3)
655
+                {     //时间长自动作废
656
+                    //如果没有对发货  未收到货则标记为无效
657
+                }
658
+
659
+                if (modelOldDetailList != null && modelOldDetailList.Count > 0)
660
+                {
661
+                    //批量更新状态 为已售后
662
+                    await bus_OrderDetailRepository.UpdateList(modelOldDetailList);
663
+                }
664
+
583 665
                 if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
584 666
                 {
585 667
                     if (input.F_CheckStateSH == 0)
@@ -780,6 +862,103 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
780 862
             { return ex.Message; }
781 863
         }
782 864
 
865
+
866
+        /// <summary>
867
+        /// 获取未售后的订单详情
868
+        /// </summary>
869
+        /// <param name="input"></param>
870
+        /// <returns></returns>
871
+        [HttpPost("getorderdetail")]
872
+        public async Task<IActionResult> GetOrderDetail(string orderid)
873
+        {
874
+            if (string.IsNullOrEmpty(orderid))
875
+                return Error("请输入订单号");
876
+            T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == orderid);
877
+            OrderInput modelreturn = new OrderInput();
878
+            if (modelOrder != null)
879
+            {
880
+                modelreturn.F_ADFrom = modelOrder.F_ADFrom;
881
+                modelreturn.F_Type = modelOrder.F_Type;
882
+                modelreturn.F_Id = modelOrder.F_Id;
883
+
884
+                modelreturn.F_Customer = modelOrder.F_Customer;
885
+                modelreturn.F_CustomerPhone = modelOrder.F_CustomerPhone;
886
+                //选填 快递属性
887
+                modelreturn.F_TrackingNo = modelOrder.F_TrackingNo;
888
+                modelreturn.F_Addressee = modelOrder.F_Addressee;
889
+                modelreturn.F_AddPhone = modelOrder.F_AddPhone;
890
+                modelreturn.F_AddProvince = modelOrder.F_AddProvince;
891
+                modelreturn.F_AddCity = modelOrder.F_AddCity;
892
+                modelreturn.F_AddArea = modelOrder.F_AddArea;
893
+                modelreturn.F_AddTown = modelOrder.F_AddTown;
894
+                modelreturn.F_AddDes = modelOrder.F_AddDes;
895
+                modelreturn.F_Address = modelOrder.F_Address;
896
+                modelreturn.F_PostalCode = modelOrder.F_PostalCode;
897
+                modelreturn.F_Express = modelOrder.F_Express;
898
+
899
+                modelreturn.F_PayType = modelOrder.F_PayType;
900
+                modelreturn.F_PayState = modelOrder.F_PayState;
901
+                modelreturn.F_Stock = modelOrder.F_Stock;
902
+                modelreturn.F_Remark = modelOrder.F_Remark;
903
+
904
+                modelreturn.F_RealPrice = modelOrder.F_RealPrice;
905
+
906
+                //选填 关联属性
907
+                modelreturn.F_VipId = modelOrder.F_VipId;
908
+                modelreturn.F_UseScore = modelOrder.F_UseScore;
909
+                modelreturn.F_Score = modelOrder.F_Score;
910
+
911
+                modelreturn.F_State = modelOrder.F_State;
912
+                modelreturn.F_Status = modelOrder.F_Status;
913
+
914
+
915
+                //必须属性 系统生成
916
+                modelreturn.F_AddTime = modelOrder.F_AddTime;
917
+                modelreturn.F_AddUser = modelOrder.F_AddUser;
918
+                modelreturn.F_AddUserName = modelOrder.F_AddUserName;
919
+
920
+
921
+                modelreturn.F_TotlePrice = modelOrder.F_TotlePrice;
922
+                modelreturn.F_ShouldPrice = modelOrder.F_ShouldPrice;
923
+                modelreturn.F_ActivityMoney = modelOrder.F_ActivityMoney;
924
+                modelreturn.F_UseActivity = modelOrder.F_UseActivity;
925
+
926
+                List<OrderDetailInput> modeldetailreturn = new List<OrderDetailInput>();
927
+                List<T_Bus_OrderDetail> detaillist = await bus_OrderDetailRepository.GetListALL(q => q.F_OrderId == modelOrder.F_Id, o => o.F_Sort, OrderByType.Asc);
928
+                if (detaillist != null)
929
+                {
930
+                    foreach (T_Bus_OrderDetail m in detaillist)
931
+                    {
932
+                        OrderDetailInput model = new OrderDetailInput();
933
+                        model.F_ProductName = m.F_ProductName;
934
+                        model.F_ProductId = m.F_ProductId;
935
+                        model.F_Id = m.F_Id;
936
+                        model.F_OrderId = m.F_OrderId;
937
+                        model.F_Count = m.F_Count;
938
+                        model.F_Price = m.F_Price;
939
+
940
+                        model.F_DealPrice = m.F_DealPrice;
941
+                        model.F_Sort = m.F_Sort;
942
+                        model.F_AddTime = m.F_AddTime;
943
+                        model.F_Remark = m.F_Remark;
944
+                        model.F_AddUser = m.F_AddUser;
945
+                        model.F_AddUserName = m.F_ProductName;
946
+                        model.F_TotlePrice = m.F_TotlePrice;
947
+                        model.F_Activity = m.F_Activity;
948
+                        modeldetailreturn.Add(model);
949
+                    }
950
+                }
951
+                modelreturn.OrderDetailList = modeldetailreturn;
952
+
953
+                modelreturn.UseActList = null;
954
+
955
+            }
956
+
957
+
958
+            return Success("成功", modelreturn);
959
+
960
+
961
+        }
783 962
         #endregion
784 963
 
785 964
 

+ 12 - 1
代码/TVShoppingCallCenter_ZLJ/Models/Inputs/Order/AfterSaleInput.cs

@@ -23,6 +23,7 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
23 23
 		private int _f_checkusersh = 0;
24 24
 		private string _f_checkusernamesh = "";
25 25
 		private string _f_detaillist = "";
26
+		private string _f_olddetaillist = "";
26 27
 		private string _f_trackingno = "";
27 28
 		private string _f_trackdes = "";
28 29
 		private string _f_ourtrackingno = "";
@@ -35,6 +36,16 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
35 36
 		private string _f_checkusernamekg = "";
36 37
 		private string _f_remark = "";
37 38
 		private string _f_aboutorderid = "";
39
+
40
+
41
+		/// <summary>
42
+		/// 退回产品列表
43
+		/// </summary>
44
+		public string F_OldDetailList
45
+		{
46
+			set { _f_olddetaillist = value; }
47
+			get { return _f_olddetaillist; }
48
+		}
38 49
 		/// <summary>
39 50
 		/// 售后编号
40 51
 		/// </summary>
@@ -188,7 +199,7 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
188 199
 			get { return _f_state; }
189 200
 		}
190 201
 		/// <summary>
191
-		/// 0未审核
202
+		/// 0未审核1收到货(根据状态自动创建订单)2货物不符3未收到货
192 203
 		/// </summary>
193 204
 		public int F_CheckStateKG
194 205
 		{