Browse Source

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

zhangkun 5 years ago
parent
commit
8c18f4e4b2

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

21
 		private int _f_checkstatesh = 0;
21
 		private int _f_checkstatesh = 0;
22
 		private DateTime? _f_checktimesh;
22
 		private DateTime? _f_checktimesh;
23
 		private int _f_checkusersh = 0;
23
 		private int _f_checkusersh = 0;
24
-		private string _f_checkusernamesh = "";
24
+		private string _f_checkusernamesh = "";		
25
+		private string _f_olddetaillist = "";
25
 		private string _f_detaillist = "";
26
 		private string _f_detaillist = "";
26
 		private string _f_trackingno = "";
27
 		private string _f_trackingno = "";
27
 		private string _f_trackdes = "";
28
 		private string _f_trackdes = "";
140
 			get { return _f_detaillist; }
141
 			get { return _f_detaillist; }
141
 		}
142
 		}
142
 		/// <summary>
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
 		/// </summary>
154
 		/// </summary>
145
 		public string F_TrackingNo
155
 		public string F_TrackingNo

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

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

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

314
                 modelAfterSale.F_CheckUserXS = modeOrder.F_AddUser;
314
                 modelAfterSale.F_CheckUserXS = modeOrder.F_AddUser;
315
 
315
 
316
                 modelAfterSale.F_DetailList = input.F_DetailList;
316
                 modelAfterSale.F_DetailList = input.F_DetailList;
317
+                modelAfterSale.F_OldDetailList = input.F_OldDetailList;
317
                 modelAfterSale.F_Type = input.F_Type;
318
                 modelAfterSale.F_Type = input.F_Type;
318
                 modelAfterSale.F_Money = input.F_Money;
319
                 modelAfterSale.F_Money = input.F_Money;
319
 
320
 
326
                 if (!string.IsNullOrEmpty(input.F_Remark))
327
                 if (!string.IsNullOrEmpty(input.F_Remark))
327
                     modelAfterSale.F_Remark = " 售后:" + input.F_Remark;
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
                 if (input.F_Type == 4)
353
                 if (input.F_Type == 4)
331
                 {
354
                 {
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
                 if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
378
                 if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
343
                 {
379
                 {
344
                     if (input.F_CheckStateSH == 0)
380
                     if (input.F_CheckStateSH == 0)
385
                     //物流状态0 未发出 1物流运送中2签收3改代收4拒收
421
                     //物流状态0 未发出 1物流运送中2签收3改代收4拒收
386
                     return Error("订单状态不符合售后");
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
                 if (modelAfterSale.F_CheckStateSH == 1)
425
                 if (modelAfterSale.F_CheckStateSH == 1)
390
                 {
426
                 {
391
                     return Error("不能重复审核提交");
427
                     return Error("不能重复审核提交");
511
 
547
 
512
         #region 仓库操作
548
         #region 仓库操作
513
 
549
 
514
-       
515
-
516
         /// <summary>
550
         /// <summary>
517
         /// 更新状态
551
         /// 更新状态
518
         /// </summary>
552
         /// </summary>
530
 
564
 
531
                 #endregion
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
                 if (modeOrder == null)
570
                 if (modeOrder == null)
536
                 {
571
                 {
537
                     return Error("订单不存在");
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
                     //1收到货(根据状态自动创建订单)2货物不符3未收到货
577
                     //1收到货(根据状态自动创建订单)2货物不符3未收到货
548
                     return Error("不能重复审核提交");
578
                     return Error("不能重复审核提交");
549
                 }
579
                 }
550
-                modelAfterSale.F_CheckTimeKG = DateTime.Now;
551
                 modelAfterSale.F_CheckStateKG = input.F_State;
580
                 modelAfterSale.F_CheckStateKG = input.F_State;
581
+
582
+                modelAfterSale.F_CheckTimeKG = DateTime.Now;
552
                 modelAfterSale.F_CheckUserKG = UserLogin.UserId.ObjToInt();
583
                 modelAfterSale.F_CheckUserKG = UserLogin.UserId.ObjToInt();
553
                 modelAfterSale.F_CheckUserNameKG = UserLogin.UserName;
584
                 modelAfterSale.F_CheckUserNameKG = UserLogin.UserName;
554
-
555
                 modelAfterSale.F_CheckUserXS = modeOrder.F_AddUser;
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
                         modelAfterSale.F_AboutOrderId = "BJ" + UserLogin.UserId + "T" + DateTimeConvert.ToTimetag(DateTime.Now);
620
                         modelAfterSale.F_AboutOrderId = "BJ" + UserLogin.UserId + "T" + DateTimeConvert.ToTimetag(DateTime.Now);
576
                         string addResult = await AddOrder(modelAfterSale, modeOrder);
621
                         string addResult = await AddOrder(modelAfterSale, modeOrder);
578
                         {
623
                         {
579
                             return Error("订单无法创建:" + addResult);
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
                 if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
665
                 if (await busAfterSaleRepository.AddReturnCount(modelAfterSale))
584
                 {
666
                 {
585
                     if (input.F_CheckStateSH == 0)
667
                     if (input.F_CheckStateSH == 0)
780
             { return ex.Message; }
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
         #endregion
962
         #endregion
784
 
963
 
785
 
964
 

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

23
 		private int _f_checkusersh = 0;
23
 		private int _f_checkusersh = 0;
24
 		private string _f_checkusernamesh = "";
24
 		private string _f_checkusernamesh = "";
25
 		private string _f_detaillist = "";
25
 		private string _f_detaillist = "";
26
+		private string _f_olddetaillist = "";
26
 		private string _f_trackingno = "";
27
 		private string _f_trackingno = "";
27
 		private string _f_trackdes = "";
28
 		private string _f_trackdes = "";
28
 		private string _f_ourtrackingno = "";
29
 		private string _f_ourtrackingno = "";
35
 		private string _f_checkusernamekg = "";
36
 		private string _f_checkusernamekg = "";
36
 		private string _f_remark = "";
37
 		private string _f_remark = "";
37
 		private string _f_aboutorderid = "";
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
 		/// <summary>
49
 		/// <summary>
39
 		/// 售后编号
50
 		/// 售后编号
40
 		/// </summary>
51
 		/// </summary>
188
 			get { return _f_state; }
199
 			get { return _f_state; }
189
 		}
200
 		}
190
 		/// <summary>
201
 		/// <summary>
191
-		/// 0未审核
202
+		/// 0未审核1收到货(根据状态自动创建订单)2货物不符3未收到货
192
 		/// </summary>
203
 		/// </summary>
193
 		public int F_CheckStateKG
204
 		public int F_CheckStateKG
194
 		{
205
 		{