Преглед на файлове

提货单,客服库管操作

duhongyu преди 5 години
родител
ревизия
6e4763ac0a

+ 56 - 0
代码/System.Common/Helpers/Billoflading.cs

@@ -0,0 +1,56 @@
1
+using System;
2
+using System.Collections.Generic;
3
+using System.Text;
4
+
5
+namespace System.Common.Helpers
6
+{
7
+   public  class Billoflading
8
+    {
9
+        /// <summary>
10
+        /// 快递
11
+        /// </summary>
12
+        public string express { get; set; }
13
+        /// <summary>
14
+        /// 提货单编号
15
+        /// </summary>
16
+        public string code { get; set ;  }
17
+        /// <summary>
18
+        /// 制作人
19
+        /// </summary>
20
+        public string user { get; set; }
21
+        /// <summary>
22
+        /// 制作时间
23
+        /// </summary>
24
+        public DateTime  maketime { get; set; }
25
+        public int count;
26
+        /// <summary>
27
+        /// 提货人
28
+        /// </summary>
29
+        public string checkuser { get; set; }
30
+        public List<Commodity> commodities;
31
+
32
+    }
33
+    public class Commodity
34
+    {
35
+        /// <summary>
36
+        /// 序号
37
+        /// </summary>
38
+        public int serialnumber { get; set; }
39
+        /// <summary>
40
+        /// 商品名称
41
+        /// </summary>
42
+        public string F_ProductName { get; set; }
43
+        /// <summary>
44
+        /// 商品简码
45
+        /// </summary>
46
+        public string F_ProductShortName { get; set; }
47
+        /// <summary>
48
+        /// 商品规格
49
+        /// </summary>
50
+        public string F_Specifications { get; set; }
51
+        /// <summary>
52
+        /// 商品数量
53
+        /// </summary>
54
+        public int  F_Count { get; set; }
55
+    }
56
+}

+ 173 - 1
代码/System.Common/Helpers/NPOIHelper.cs

@@ -1,4 +1,5 @@
1
-using NPOI.HSSF.UserModel;
1
+using Microsoft.AspNetCore.Http;
2
+using NPOI.HSSF.UserModel;
2 3
 using NPOI.SS.UserModel;
3 4
 using NPOI.SS.Util;
4 5
 using NPOI.XSSF.UserModel;
@@ -788,7 +789,178 @@ namespace System.Common.Helpers
788 789
                 return bs;
789 790
             }
790 791
         }
792
+        /// <summary>
793
+        /// 
794
+        /// </summary>
795
+        /// <param name="ds"></param>
796
+        /// <returns></returns>
797
+      
798
+        public byte[] BillofladingExportToExcel( List <Billoflading> express)
799
+        {
800
+            try
801
+            {
802
+                HSSFWorkbook workbook = new HSSFWorkbook();
803
+                for (int i=0;i< express.Count;i++)
804
+                {
805
+                    ISheet sheet = workbook.CreateSheet(express[i ].express );
806
+                    ICellStyle cellStyle = workbook.CreateCellStyle();
807
+                    NPOI.SS.UserModel.IFont cellfont = workbook.CreateFont();
808
+                    cellfont.Boldweight = (short)FontBoldWeight.Normal;
809
+                    cellStyle.SetFont(cellfont);
810
+
811
+                    ICellStyle cellStylebt = workbook.CreateCellStyle();
812
+                    NPOI.SS.UserModel.IFont cellfontbt = workbook.CreateFont();
813
+                   // cellfontbt.Boldweight = (short)FontBoldWeight.Bold;
814
+                    cellStylebt.SetFont(cellfontbt);
815
+                    cellStylebt.VerticalAlignment = VerticalAlignment.Center;
816
+                    cellStylebt.Alignment = HorizontalAlignment.Center;
817
+
818
+                    IRow irow1 = sheet.CreateRow(0);
819
+                    ICell cell1 = irow1.CreateCell(0);
820
+                    cell1.SetCellValue("提货单信息");
821
+                    cell1.CellStyle = cellStylebt;
822
+                    sheet.AddMergedRegion(new CellRangeAddress(0, 0, 0, 2));
823
+                    IRow irow2 = sheet.CreateRow(2);
824
+                    ICell cell2 = irow2.CreateCell(0);
825
+                    cell2.SetCellValue("提货单编号"+ express[i].code );
826
+                    cell2.CellStyle = cellStylebt;
827
+                    sheet.AddMergedRegion(new CellRangeAddress(2, 4, 0, 0));
828
+                    ICell cell3 = irow2.CreateCell(1);
829
+                    cell3.SetCellValue("提货状态:" + "已完成");
830
+                    cell3.CellStyle = cellStylebt;
831
+                   sheet.AddMergedRegion(new CellRangeAddress(2, 4, 1, 1));
832
+                    ICell cell4 = irow2.CreateCell(2);
833
+                    cell4.SetCellValue("快递公司:" + express[i].express);
834
+                    cell4.CellStyle = cellStylebt;
835
+                   sheet.AddMergedRegion(new CellRangeAddress(2, 4, 2, 2));
836
+
837
+                    IRow irow3 = sheet.CreateRow(5);
838
+                    ICell cell5 = irow3.CreateCell(0);
839
+                    cell5.SetCellValue("制作人"+ express[i].user );
840
+                    cell5.CellStyle = cellStylebt;
841
+                    sheet.AddMergedRegion(new CellRangeAddress(5, 7, 0, 0));
842
+                    ICell cell6 = irow3.CreateCell(1);
843
+                    cell6.SetCellValue("制作时间:" + express[i].maketime.ToString ("yyyy-MM-dd HH:mm:ss"));
844
+                    cell6.CellStyle = cellStylebt;
845
+                   sheet.AddMergedRegion(new CellRangeAddress(5, 7, 1, 1));
846
+                    ICell cell7 = irow3.CreateCell(2);
847
+                    cell7.SetCellValue("提货人:"  + express[i].checkuser);
848
+                    cell7.CellStyle = cellStylebt;
849
+                    sheet.AddMergedRegion(new CellRangeAddress(5, 7, 2, 2));
850
+                    ICell cell8 = irow3.CreateCell(3);
851
+                    cell8.SetCellValue("提货时间:" + DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"));
852
+                    cell8.CellStyle = cellStylebt;
853
+                  sheet.AddMergedRegion(new CellRangeAddress(5, 7, 3, 3));
854
+
855
+                    IRow irow4= sheet.CreateRow(8);
856
+                    ICell cell9 = irow4.CreateCell(0);
857
+                    cell9.SetCellValue("序号");
858
+                    cell9.CellStyle = cellStylebt;
859
+                  //  sheet.AddMergedRegion(new CellRangeAddress(3, 3, 0, 0));
860
+                    ICell cell10 = irow4.CreateCell(1);
861
+                    cell10.SetCellValue("产品名称");
862
+                    cell10.CellStyle = cellStylebt;
863
+                  //  sheet.AddMergedRegion(new CellRangeAddress(3, 3, 1, 1));
864
+                    ICell cell11 = irow4.CreateCell(2);
865
+                    cell11.SetCellValue("产品简码" );
866
+                    cell11.CellStyle = cellStylebt;
867
+                 //   sheet.AddMergedRegion(new CellRangeAddress(3, 3, 2, 2));
868
+                    ICell cell12 = irow4.CreateCell(3);
869
+                    cell12.SetCellValue("产品规格" );
870
+                    cell12.CellStyle = cellStylebt;
871
+                 //   sheet.AddMergedRegion(new CellRangeAddress(3, 3, 3, 3));
872
+                    ICell cell13 = irow4.CreateCell(4);
873
+                    cell13.SetCellValue("产品数量");
874
+                    cell13.CellStyle = cellStylebt;
875
+                  //  sheet.AddMergedRegion(new CellRangeAddress(3, 3, 4, 4));
876
+                    for (int j = 0; j <= express[i ].commodities. Count; j++)
877
+                    {
878
+                        IRow irow5 = sheet.CreateRow(9 + j);
879
+                        if (j == express[i].commodities.Count)
880
+                        {
881
+                            ICell cell19 = irow5.CreateCell(3);
882
+                            cell19.SetCellValue("合计");
883
+                            cell19.CellStyle = cellStylebt;
884
+                            ICell cell20 = irow5.CreateCell(4);
885
+                            cell20.SetCellValue(express[i].count );
886
+                            cell20.CellStyle = cellStylebt;
887
+                        }
888
+                        else
889
+                        {
890
+                            for (int z = 0; z < 5; z++)
891
+                            {
892
+                                switch (z)
893
+                                {
894
+                                    case 0:
895
+                                        ICell cell14 = irow5.CreateCell(z);
896
+                                        cell14.SetCellValue(express[i].commodities[j].serialnumber);
897
+                                        cell14.CellStyle = cellStylebt;
898
+                                        break;
899
+                                    case 1:
900
+                                        ICell cell15 = irow5.CreateCell(z);
901
+                                        cell15.SetCellValue(express[i].commodities[j].F_ProductName);
902
+                                        cell15.CellStyle = cellStylebt;
903
+                                        break;
904
+                                    case 2:
905
+                                        ICell cell16 = irow5.CreateCell(z);
906
+                                        cell16.SetCellValue(express[i].commodities[j].F_ProductShortName);
907
+                                        cell16.CellStyle = cellStylebt;
908
+                                        break;
909
+                                    case 3:
910
+                                        ICell cell17 = irow5.CreateCell(z);
911
+                                        cell17.SetCellValue(express[i].commodities[j].F_Specifications);
912
+                                        cell17.CellStyle = cellStylebt;
913
+                                        break;
914
+                                    case 4:
915
+                                        ICell cell18 = irow5.CreateCell(z);
916
+                                        cell18.SetCellValue(express[i].commodities[j].F_Count);
917
+                                        cell18.CellStyle = cellStylebt;
918
+                                        break;
919
+                                }
920
+                            }
921
+                        }
922
+                       
923
+                    }
924
+
791 925
 
926
+                    //自适应列宽度
927
+                    for (int z = 0; z < 5; z++)
928
+                    {
929
+                        // sheet.AutoSizeColumn(z);
930
+                         sheet.SetColumnWidth(z, 35 * 256);
931
+                        //   sheet.SetColumnHidden (z, 50 * 20);
932
+
933
+                        //  sheet.SetColumnWidth(i, 12 * 256);
934
+                    }
935
+
936
+                }
937
+                using (MemoryStream ms = new MemoryStream())
938
+                {
939
+                    workbook.Write(ms);
940
+                    byte[] bs = ms.ToArray();
941
+
942
+                    workbook = null;
943
+                    ms.Close();
944
+                    ms.Dispose();
945
+
946
+                    return bs;
947
+                }
948
+                return null;
949
+
950
+            }
951
+            catch
952
+            {
953
+                return null ;
954
+            }
955
+
956
+
957
+
958
+
959
+
960
+
961
+
962
+        }
963
+   
792 964
 
793 965
 
794 966
     }

+ 2 - 2
代码/System.Model/Bus/T_Bus_Order.cs

@@ -297,8 +297,8 @@ namespace System.Model
297 297
 			get { return _f_usescore; }
298 298
 		}
299 299
 		/// <summary>
300
-		///  订单状态 -1无效 0暂存 1提交  2KF退回  3分仓 4无货 5客服提交 6已发货 7付款待审核 8分物流 
301
-		/// </summary>
300
+		///  订单状态 -1无效 0暂存 1提交  2KF退回  3分仓 4无货 5客服提交 6已发货 7付款待审核 8分物流 9 物流未通过
301
+		// / </summary>
302 302
 		public int F_State
303 303
 		{
304 304
 			set { _f_state = value; }

+ 25 - 8
代码/System.Model/Bus/T_Bus_OrderDetail.cs

@@ -25,11 +25,12 @@ namespace System.Model
25 25
 		private string _f_remark = "";
26 26
 		private int _f_activity;
27 27
 		private int _f_state=0;
28
-
29
-		/// <summary>
30
-		/// 0正常1售后中 2售后完成
31
-		/// </summary>
32
-		public int F_State
28
+        private string _f_productshortname;
29
+        private string _f_specifications;
30
+        /// <summary>
31
+        /// 0正常1售后中 2售后完成
32
+        /// </summary>
33
+        public int F_State
33 34
 		{
34 35
 			set { _f_state = value; }
35 36
 			get { return _f_state; }
@@ -75,10 +76,26 @@ namespace System.Model
75 76
 			set { _f_productname = value; }
76 77
 			get { return _f_productname; }
77 78
 		}
78
-		/// <summary>
79
-		/// 单价,优先显示可用最低价会员价
79
+        /// <summary>
80
+		/// 产品简称/编码
80 81
 		/// </summary>
81
-		public decimal F_Price
82
+		public string F_ProductShortName
83
+        {
84
+            set { _f_productshortname = value; }
85
+            get { return _f_productshortname; }
86
+        }
87
+        /// <summary>
88
+        /// 规格
89
+        /// </summary>
90
+        public string F_Specifications
91
+        {
92
+            set { _f_specifications = value; }
93
+            get { return _f_specifications; }
94
+        }
95
+        /// <summary>
96
+        /// 单价,优先显示可用最低价会员价
97
+        /// </summary>
98
+        public decimal F_Price
82 99
 		{
83 100
 			set { _f_price = value; }
84 101
 			get { return _f_price; }

+ 18 - 9
代码/System.Model/Bus/T_Bus_Product.cs

@@ -49,7 +49,7 @@ namespace System.Model
49 49
         private int _f_usenumber = 0;
50 50
         private int _f_match = 0;
51 51
         private int _f_match1 = 0;
52
-
52
+        private string _f_specifications;
53 53
 
54 54
         /// <summary>
55 55
         /// 产品编号ID
@@ -67,10 +67,11 @@ namespace System.Model
67 67
 			set { _f_productnumber = value; }
68 68
 			get { return _f_productnumber; }
69 69
 		}
70
-		/// <summary>
71
-		/// 款号名称/品名
72
-		/// </summary>
73
-		public string F_ProductNumberName
70
+    
71
+        /// <summary>
72
+        /// 款号名称/品名
73
+        /// </summary>
74
+        public string F_ProductNumberName
74 75
 		{
75 76
 			set { _f_productnumbername = value; }
76 77
 			get { return _f_productnumbername; }
@@ -91,10 +92,18 @@ namespace System.Model
91 92
 			set { _f_productshortname = value; }
92 93
 			get { return _f_productshortname; }
93 94
 		}
94
-		/// <summary>
95
-		/// 分类名称
96
-		/// </summary>
97
-		public string F_ClassName
95
+        /// <summary>
96
+        /// 规格
97
+        /// </summary>
98
+        public string F_Specifications
99
+        {
100
+            set { _f_specifications = value; }
101
+            get { return _f_specifications; }
102
+        }
103
+        /// <summary>
104
+        /// 分类名称
105
+        /// </summary>
106
+        public string F_ClassName
98 107
 		{
99 108
 			set { _f_classname = value; }
100 109
 			get { return _f_classname; }

+ 1 - 1
代码/TVShoppingCallCenter_ZLJ/Controllers/Customer/VIPInfoController.cs

@@ -984,7 +984,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Customer
984 984
                     }
985 985
                     else
986 986
                     {
987
-                        return Error("导出失败3");
987
+                        return Error("导出失败");
988 988
                     }
989 989
                 }
990 990
                 return Error("导出失败2");

+ 4 - 0
代码/TVShoppingCallCenter_ZLJ/Controllers/Order/AfterSaleController.cs

@@ -1331,6 +1331,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
1331 1331
                 T_Bus_OrderDetail modelDetail = new T_Bus_OrderDetail();
1332 1332
                 modelDetail.F_ProductName = modelProduct.F_ProductName;
1333 1333
                 modelDetail.F_ProductId = modelProduct.F_ProductId;
1334
+                modelDetail.F_Specifications = modelProduct.F_Specifications;
1335
+                modelDetail.F_ProductShortName = modelProduct.F_ProductShortName;
1334 1336
                 modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
1335 1337
                 modelDetail.F_OrderId = modelOrder.F_Id;
1336 1338
                 modelDetail.F_Count = Count;
@@ -1606,6 +1608,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
1606 1608
                         T_Bus_OrderDetail modelDetail = new T_Bus_OrderDetail();
1607 1609
                         modelDetail.F_ProductName = modelProduct.F_ProductName;
1608 1610
                         modelDetail.F_ProductId = modelProduct.F_ProductId;
1611
+                        modelDetail.F_Specifications = modelProduct.F_Specifications;
1612
+                        modelDetail.F_ProductShortName = modelProduct.F_ProductShortName;
1609 1613
                         modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
1610 1614
                         modelDetail.F_OrderId = modelOrder.F_Id;
1611 1615
                         modelDetail.F_Count = Count;

+ 221 - 11
代码/TVShoppingCallCenter_ZLJ/Controllers/Order/KFOrderController.cs

@@ -125,10 +125,11 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
125 125
             var dtExcel = npoi.ExcelToTable1(_upfile, headrow);
126 126
             int num = dtExcel.Rows.Count;
127 127
             var cols = dtExcel.Columns;
128
-            int colnum = cols.Count;
128
+            int colnu5m = cols.Count;
129 129
             string errmsg = string.Empty;
130 130
             string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
131 131
             List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
132
+            List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
132 133
             if (num > 0)
133 134
             {
134 135
                 int index = 1;
@@ -136,6 +137,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
136 137
                 {
137 138
 
138 139
                     T_Bus_Order modelOrder = new T_Bus_Order();
140
+                    T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
139 141
                     if (dr.Table.Columns.Contains("订单号"))
140 142
                     {
141 143
                         if (!string.IsNullOrEmpty(dr["订单号"].ToString()))
@@ -169,21 +171,39 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
169 171
                             return Error("模板错误,请选择正确的模板");
170 172
                         }
171 173
                     }
172
-                   else
174
+                    else if (state == 1)
173 175
                     {
174 176
                         modelOrder.F_State = 1;
175 177
                     }
178
+                   else
179
+                    {
180
+                        if (dr.Table.Columns.Contains("退回说明"))
181
+                        {
182
+                            modelOrder.F_CheckRemark = dr["退回说明"].ToString();
183
+                        }
184
+                        else
185
+                        {
186
+                            return Error("模板错误,请选择正确的模板");
187
+                        }
188
+                        modelOrder.F_State = 9;
189
+                    }
176 190
                     modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
177 191
                     modelOrder.F_CheckUserName = UserLogin.UserName;
178 192
                     modelOrder.F_CheckTime = DateTime.Now;
179 193
                     orderLIst.Add(modelOrder);
180
-                   
194
+                    t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
195
+                    t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "退回订单";
196
+                    t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
197
+                    t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
198
+                    t_Bus_Orderlogs.F_WoState = modelOrder.F_State;
199
+                    logs.Add(t_Bus_Orderlogs);
181 200
                     index++;
182 201
 
183 202
                 }
184 203
                 
185 204
                 if (!await bus_OrderRepository.UpdateList (orderLIst))
186 205
                 {
206
+                    await busOrderlogsRepository.AddAndUpdateList(logs);
187 207
                     if (!string.IsNullOrEmpty(errmsg))
188 208
                     {
189 209
                         errmsg = errmsg + "导入失败!";
@@ -221,11 +241,12 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
221 241
             string msg = "";
222 242
             string[] ids = orderids.Split(',');
223 243
             List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
244
+            List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
224 245
             foreach (var it in ids)
225 246
             {
226 247
 
227 248
                 T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
228
-               
249
+                T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
229 250
                 modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
230 251
                 modelOrder.F_CheckUserName = UserLogin.UserName;
231 252
                 modelOrder.F_CheckTime = DateTime.Now;
@@ -234,14 +255,26 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
234 255
                     modelOrder.F_CheckRemark = remark;
235 256
                    modelOrder.F_State = 2;
236 257
                 }
237
-                else
258
+                else if (state == 1)
238 259
                 {
239 260
                     modelOrder.F_State = 1;
240 261
                 }
262
+               else
263
+               {
264
+                    modelOrder.F_CheckRemark = remark;
265
+                    modelOrder.F_State = 9;
266
+                }
267
+                t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
268
+                t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "退回订单";
269
+                t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
270
+                t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
271
+                t_Bus_Orderlogs.F_WoState = modelOrder.F_State;
272
+                logs.Add(t_Bus_Orderlogs);
241 273
                 orderLIst.Add(modelOrder);
242 274
             }
243 275
             if (await bus_OrderRepository.UpdateList(orderLIst))
244 276
             {
277
+                await busOrderlogsRepository.AddAndUpdateList(logs);
245 278
                 return Success("退回成功");
246 279
             }
247 280
             else
@@ -517,7 +550,7 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
517 550
             }
518 551
 
519 552
            
520
-
553
+            
521 554
 
522 555
             #endregion
523 556
             RefAsync<int> recordCount = 0;
@@ -854,8 +887,20 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
854 887
             #endregion
855 888
             //更新所选订单的快递,并标记为客服已分配快递
856 889
             string[] ids = orderids.Split(',');
890
+            List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
891
+            foreach (var it in ids)
892
+            {
893
+                T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
894
+                t_Bus_Orderlogs.F_WoID = it;
895
+                t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分快递,"+ express;
896
+                t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
897
+                t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
898
+                t_Bus_Orderlogs.F_WoState = 3;
899
+                logs.Add(t_Bus_Orderlogs);
900
+            }
857 901
             if (await bus_OrderRepository.Update(s => new T_Bus_Order() { F_Express = express, F_IsExpress = 1 }, q => ids.Contains(q.F_Id)))
858 902
             {
903
+                await busOrderlogsRepository.AddAndUpdateList(logs);
859 904
                 return Success("成功");
860 905
             }
861 906
 
@@ -884,26 +929,35 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
884 929
                 modelscore.F_StartDebit = 1;
885 930
                 modelscore.F_DebitPercent = 1000;
886 931
             }
887
-          string msg="";
932
+            List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
933
+          
934
+            string msg="";
888 935
             string[] ids = orderids.Split(',');
889 936
             List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
890 937
             if (stock =="无货")
891 938
             {
892 939
                 foreach (var it in ids)
893 940
                 {
941
+                    T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
894 942
                     T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
895 943
                     modelOrder.F_CheckUserName = UserLogin.UserName;
896 944
                     modelOrder.F_CheckTime = DateTime.Now;
897 945
                     modelOrder.F_Stock = stock;
898 946
                     modelOrder.F_State = 4;
899 947
                     orderLIst.Add(modelOrder);
948
+                    t_Bus_Orderlogs.F_WoID = it;
949
+                    t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分仓,无货";
950
+                    t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
951
+                    t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
952
+                    t_Bus_Orderlogs.F_WoState = 4;
953
+                    logs.Add(t_Bus_Orderlogs);
900 954
                 }
901 955
             }
902 956
             else
903 957
             {
904 958
                 foreach (var it in ids)
905 959
                 {
906
-
960
+                    T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
907 961
                     T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
908 962
                     if (modelscore.F_Start == 1)
909 963
                     {
@@ -929,12 +983,22 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
929 983
                     {
930 984
                         msg += "订单" + modelOrder.F_Id + strStock;
931 985
                         modelOrder.F_State = 4;
986
+                        t_Bus_Orderlogs.F_WoState = 4;
987
+                        t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分仓,无货";
932 988
                         //   { return Error(strStock); }
933 989
                     }
934 990
                     else
935 991
                     {
936 992
                         modelOrder.F_State = 8;
993
+                        t_Bus_Orderlogs.F_WoState = 8;
994
+                        t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "分仓,"+ stock;
937 995
                     }
996
+                    t_Bus_Orderlogs.F_WoID = it;
997
+                  
998
+                    t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
999
+                    t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
1000
+                   
1001
+                    logs.Add(t_Bus_Orderlogs);
938 1002
                     orderLIst.Add(modelOrder);
939 1003
                 }
940 1004
             }
@@ -949,9 +1013,6 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
949 1013
             else
950 1014
                 return Error("分仓失败"+ msg);
951 1015
 
952
-           
953
-
954
-
955 1016
         }
956 1017
 
957 1018
         [HttpPost("checkordermoney")]
@@ -1078,6 +1139,155 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
1078 1139
 
1079 1140
 
1080 1141
         /// <summary>
1142
+        /// 客服提交订单
1143
+        /// </summary>
1144
+        /// <param name="orderids"></param>
1145
+        /// <param name="stock"></param>
1146
+        /// <returns></returns>
1147
+        [HttpPost("Submit")]
1148
+        public async Task<IActionResult> Submit(string orderids)
1149
+        {
1150
+
1151
+            if (string.IsNullOrEmpty(orderids))
1152
+                return Error("请选择订单号");
1153
+          
1154
+            string msg = "";int res = 0;
1155
+            string[] ids = orderids.Split(',');
1156
+            List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
1157
+            List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
1158
+            foreach (var it in ids)
1159
+                {
1160
+                    T_Bus_Order modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == it);
1161
+                T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
1162
+                if (modelOrder.F_IsExpress<=0|| modelOrder.F_State !=3)
1163
+                  {
1164
+                    msg += "订单" + modelOrder.F_Id + "未分物流";
1165
+                    continue;
1166
+                   }
1167
+                modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
1168
+                modelOrder.F_CheckUserName = UserLogin.UserName;
1169
+                modelOrder.F_CheckTime = DateTime.Now;
1170
+                modelOrder.F_State = 5;
1171
+                   orderLIst.Add(modelOrder);
1172
+                t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
1173
+                t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "提交订单";
1174
+                t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
1175
+                t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
1176
+                t_Bus_Orderlogs.F_WoState = 5;
1177
+                logs.Add(t_Bus_Orderlogs);
1178
+            }
1179
+           
1180
+
1181
+            if (await bus_OrderRepository.UpdateList(orderLIst))
1182
+            {
1183
+                await busOrderlogsRepository.AddAndUpdateList(logs);
1184
+                if (msg == "")
1185
+                    return Success("分仓成功");
1186
+                else
1187
+                    return Success(msg);
1188
+            }
1189
+            else
1190
+                return Error("订单分仓失败" + msg);
1191
+
1192
+
1193
+
1194
+
1195
+        }
1196
+
1197
+
1198
+        /// <summary>
1199
+        /// 上传文件并导入数据库批量导入快递信息
1200
+        /// </summary>
1201
+        /// <returns></returns>
1202
+        [HttpPost("importordersubmitexcel")]
1203
+        public async Task<IActionResult> importordersubmitexcel(int headrow = 0)
1204
+        {
1205
+            Microsoft.AspNetCore.Http.IFormFile _upfile = Request.Form.Files[0];
1206
+            if (!_upfile.ContentType.Equals("application/vnd.ms-excel") && !_upfile.ContentType.Equals("application/x-xls") && !_upfile.ContentType.Equals("application/x-xlsx") && !_upfile.ContentType.Equals("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet") && !_upfile.ContentType.Equals("application/octet-stream"))
1207
+                return Error($"请正确上传Excel文件:file.ContentType={_upfile.ContentType}");
1208
+            NPOIHelper npoi = new NPOIHelper();
1209
+            var dtExcel = npoi.ExcelToTable1(_upfile, headrow);
1210
+            int num = dtExcel.Rows.Count;
1211
+            var cols = dtExcel.Columns;
1212
+            int colnum = cols.Count;
1213
+            string errmsg = string.Empty;
1214
+            string user = User.Claims.FirstOrDefault(c => c.Type == ClaimTypes.Sid).Value;
1215
+            List<T_Bus_Order> orderLIst = new List<T_Bus_Order>();
1216
+            List<T_Bus_Orderlogs> logs = new List<T_Bus_Orderlogs>();
1217
+            if (num > 0)
1218
+            {
1219
+                int index = 1;
1220
+                foreach (DataRow dr in dtExcel.Rows)
1221
+                {
1222
+
1223
+                    T_Bus_Order modelOrder = new T_Bus_Order();
1224
+                    T_Bus_Orderlogs t_Bus_Orderlogs = new T_Bus_Orderlogs();
1225
+                    if (dr.Table.Columns.Contains("订单号"))
1226
+                    {
1227
+                        if (!string.IsNullOrEmpty(dr["订单号"].ToString()))
1228
+                        {
1229
+                            modelOrder = await bus_OrderRepository.GetSingle(q => q.F_Id == dr["订单号"].ToString());
1230
+                            if (modelOrder == null)
1231
+                            {
1232
+                                errmsg = errmsg + "\r\n第" + index + "行导入失败!订单不存在";
1233
+                                continue;
1234
+                            }
1235
+                        }
1236
+                        else
1237
+                        {
1238
+                            errmsg = errmsg + "\r\n第" + index + "行导入失败!订单不存在";
1239
+                            continue;
1240
+                        }
1241
+                    }
1242
+                    else
1243
+                    {
1244
+                        return Error("模板错误,请选择正确的模板");
1245
+                    }
1246
+                    if (modelOrder.F_IsExpress <= 0 || modelOrder.F_State != 3)
1247
+                    {
1248
+                        errmsg = errmsg + "\r\n第" + index + "行导入失败!该订单未分物流";
1249
+                        continue;
1250
+                    }
1251
+                    modelOrder.F_CheckUser = UserLogin.UserId.ObjToInt();
1252
+                    modelOrder.F_CheckUserName = UserLogin.UserName;
1253
+                    modelOrder.F_CheckTime = DateTime.Now;
1254
+                    modelOrder.F_State = 5;
1255
+                    orderLIst.Add(modelOrder);
1256
+                    t_Bus_Orderlogs.F_WoID = modelOrder.F_Id;
1257
+                    t_Bus_Orderlogs.F_OptContent = UserLogin.UserName + "提交订单";
1258
+                    t_Bus_Orderlogs.F_CreateUser = UserLogin.UserCode;
1259
+                    t_Bus_Orderlogs.F_CreateTime = DateTime.Now;
1260
+                    t_Bus_Orderlogs.F_WoState = 5;
1261
+                    logs.Add(t_Bus_Orderlogs);
1262
+                    index++;
1263
+                }
1264
+               
1265
+                if (!await bus_OrderRepository.UpdateList(orderLIst))
1266
+                {
1267
+                    await busOrderlogsRepository.AddAndUpdateList(logs);
1268
+                    if (!string.IsNullOrEmpty(errmsg))
1269
+                    {
1270
+                        errmsg = errmsg + "导入失败!";
1271
+                    }
1272
+                    else
1273
+                    {
1274
+                        errmsg = "导入失败!";
1275
+                    }
1276
+                }
1277
+            }
1278
+            else
1279
+            {
1280
+                return Error("文件中无数据");
1281
+            }
1282
+
1283
+            if (!string.IsNullOrEmpty(errmsg))
1284
+            {
1285
+                return Error(errmsg);
1286
+            }
1287
+
1288
+            return Success("导入成功");
1289
+        }
1290
+        /// <summary>
1081 1291
         /// 根据分页获取售后列表 待退款   退货 仓库确认收到货    补差额 不需要仓库确认
1082 1292
         /// </summary>
1083 1293
         /// <param name="input"></param>

Файловите разлики са ограничени, защото са твърде много
+ 95 - 14
代码/TVShoppingCallCenter_ZLJ/Controllers/Order/KGOrderController.cs


+ 10 - 0
代码/TVShoppingCallCenter_ZLJ/Controllers/Order/OrderController.cs

@@ -596,6 +596,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
596 596
                                         T_Bus_OrderDetail modelDetail = new T_Bus_OrderDetail();
597 597
                                         modelDetail.F_ProductName = m.F_ProductName;
598 598
                                         modelDetail.F_ProductId = m.F_ProductId;
599
+                                        modelDetail.F_Specifications = m.F_Specifications;
600
+                                        modelDetail.F_ProductShortName = m.F_ProductShortName;
599 601
                                         modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
600 602
                                         modelDetail.F_OrderId = input.F_Id;
601 603
                                         modelDetail.F_Count = 1;
@@ -646,6 +648,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
646 648
                         T_Bus_OrderDetail modelDetail = new T_Bus_OrderDetail();
647 649
                         modelDetail.F_ProductName = modelProduct.F_ProductName;
648 650
                         modelDetail.F_ProductId = modelProduct.F_ProductId;
651
+                        modelDetail.F_Specifications = modelProduct.F_Specifications;
652
+                        modelDetail.F_ProductShortName = modelProduct.F_ProductShortName;
649 653
                         modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
650 654
                         modelDetail.F_OrderId = input.F_Id;
651 655
                         modelDetail.F_Count = m.F_Count;
@@ -1711,6 +1715,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
1711 1715
                                     T_Bus_OrderDetail modelDetail = new T_Bus_OrderDetail();
1712 1716
                                     modelDetail.F_ProductName = m.F_ProductName;
1713 1717
                                     modelDetail.F_ProductId = m.F_ProductId;
1718
+                                    modelDetail.F_Specifications = m.F_Specifications;
1719
+                                    modelDetail.F_ProductShortName = m.F_ProductShortName;
1714 1720
                                     modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
1715 1721
                                     modelDetail.F_OrderId = input.F_Id;
1716 1722
                                     modelDetail.F_Count = 1;
@@ -1759,6 +1765,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
1759 1765
                     T_Bus_OrderDetail modelDetail = new T_Bus_OrderDetail();
1760 1766
                     modelDetail.F_ProductName = modelProduct.F_ProductName;
1761 1767
                     modelDetail.F_ProductId = modelProduct.F_ProductId;
1768
+                    modelDetail.F_Specifications = modelProduct.F_Specifications;
1769
+                    modelDetail.F_ProductShortName = modelProduct.F_ProductShortName;
1762 1770
                     modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
1763 1771
                     modelDetail.F_OrderId = input.F_Id;
1764 1772
                     modelDetail.F_Count = m.F_Count;
@@ -2118,6 +2126,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
2118 2126
                         OrderDetailInput model = new OrderDetailInput();
2119 2127
                         model.F_ProductName = m.F_ProductName;
2120 2128
                         model.F_ProductId = m.F_ProductId;
2129
+                        model.F_Specifications = m.F_Specifications;
2130
+                        model.F_ProductShortName = m.F_ProductShortName;
2121 2131
                         model.F_Id = m.F_Id;
2122 2132
                         model.F_OrderId = m.F_OrderId;
2123 2133
                         model.F_Count = m.F_Count;

+ 2 - 0
代码/TVShoppingCallCenter_ZLJ/Controllers/Order/OrderFunctionController.cs

@@ -399,6 +399,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
399 399
                             T_Bus_OrderDetail modelDetail = new T_Bus_OrderDetail();
400 400
                             modelDetail.F_ProductName = modelProduct.F_ProductName;
401 401
                             modelDetail.F_ProductId = modelProduct.F_ProductId;
402
+                            modelDetail.F_Specifications = modelProduct.F_Specifications;
403
+                            modelDetail.F_ProductShortName = modelProduct.F_ProductShortName;
402 404
                             modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
403 405
                             modelDetail.F_OrderId = modelOrder.F_Id;
404 406
                             modelDetail.F_Count = 1;

+ 2 - 0
代码/TVShoppingCallCenter_ZLJ/Controllers/Order/OrderMergeController.cs

@@ -436,6 +436,8 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Order
436 436
                                 modelDetail = new T_Bus_OrderDetail();
437 437
                                 modelDetail.F_ProductName = productModel.F_ProductName;
438 438
                                 modelDetail.F_ProductId = productModel.F_ProductId;
439
+                                modelDetail.F_Specifications = productModel.F_Specifications;
440
+                                modelDetail.F_ProductShortName = productModel.F_ProductShortName;
439 441
                                 modelDetail.F_Id = Guid.NewGuid().ToString().Replace("-", "");
440 442
                                 modelDetail.F_OrderId = input.F_Id;
441 443
                                 modelDetail.F_Count = 1;

+ 2 - 2
代码/TVShoppingCallCenter_ZLJ/Controllers/Product/ProductController.cs

@@ -345,10 +345,10 @@ namespace TVShoppingCallCenter_ZLJ.Controllers.Product
345 345
             T_Bus_ProductModel.F_ProductNumber = input.ProductNumber;
346 346
             T_Bus_ProductModel.F_ProductNumberName = input.ProductNumberName;
347 347
             T_Bus_ProductModel.F_PinyinShort = input.PinyinShort;
348
-
348
+            T_Bus_ProductModel. F_Specifications= input.F_Specifications;
349 349
             T_Bus_ProductModel.F_ClassId = input.ClassId;
350 350
             T_Bus_ProductModel.F_ClassName = input.ClassName;
351
-
351
+            
352 352
 
353 353
             T_Bus_ProductModel.F_MarketPrice = input.MarketPrice;
354 354
             T_Bus_ProductModel.F_MemberPrice = input.MemberPrice;

+ 26 - 9
代码/TVShoppingCallCenter_ZLJ/Models/Inputs/Order/OrderDetailInput.cs

@@ -25,11 +25,12 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
25 25
 		private string _f_remark = "";
26 26
 		private int _f_activity;
27 27
 		private int _f_state = 0;
28
-
29
-		/// <summary>
30
-		/// 0正常1售后
31
-		/// </summary>
32
-		public int F_State
28
+        private string _f_productshortname;
29
+        private string _f_specifications;
30
+        /// <summary>
31
+        /// 0正常1售后
32
+        /// </summary>
33
+        public int F_State
33 34
 		{
34 35
 			set { _f_state = value; }
35 36
 			get { return _f_state; }
@@ -80,10 +81,26 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
80 81
 			set { _f_productname = value; }
81 82
 			get { return _f_productname; }
82 83
 		}
83
-		/// <summary>
84
-		/// 单价,优先显示可用最低价会员价
85
-		/// </summary>
86
-		public decimal F_Price
84
+        /// <summary>
85
+        /// 产品简称/编码
86
+        /// </summary>
87
+        public string F_ProductShortName
88
+        {
89
+            set { _f_productshortname = value; }
90
+            get { return _f_productshortname; }
91
+        }
92
+        /// <summary>
93
+        /// 规格
94
+        /// </summary>
95
+        public string F_Specifications
96
+        {
97
+            set { _f_specifications = value; }
98
+            get { return _f_specifications; }
99
+        }
100
+        /// <summary>
101
+        /// 单价,优先显示可用最低价会员价
102
+        /// </summary>
103
+        public decimal F_Price
87 104
 		{
88 105
 			set { _f_price = value; }
89 106
 			get { return _f_price; }

+ 11 - 1
代码/TVShoppingCallCenter_ZLJ/Models/Inputs/Order/OrderInput.cs

@@ -569,7 +569,17 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
569 569
             get { return _f_recommendertel; }
570 570
 
571 571
         }
572
-        
572
+        public string F_Ress { get; set; }
573
+        /// <summary>
574
+		/// 产品名称
575
+		/// </summary>
576
+		public string F_ProductName
577
+        { get; set; }
578
+        public int Count { get; set; }
579
+        /// <summary>
580
+        /// 优惠活动
581
+        /// </summary>
582
+        public string Preferential { get; set; }
573 583
         public OrderMoneyInput OrderMoney { get; set; }
574 584
         #endregion Model
575 585
 

+ 9 - 1
代码/TVShoppingCallCenter_ZLJ/Models/Inputs/Product/ProductInput.cs

@@ -47,7 +47,7 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
47 47
         private int _f_freezestock = 0;
48 48
         private int _f_stock1 = 0;
49 49
         private int _f_freezestock1 = 0;
50
-
50
+        private string _f_specifications;
51 51
 
52 52
 
53 53
         /// <summary>
@@ -117,6 +117,14 @@ namespace TVShoppingCallCenter_ZLJ.Models.Inputs
117 117
             get { return _f_pinyinshort; }
118 118
         }
119 119
         /// <summary>
120
+        /// 规格
121
+        /// </summary>
122
+        public string F_Specifications
123
+        {
124
+            set { _f_specifications = value; }
125
+            get { return _f_specifications; }
126
+        }
127
+        /// <summary>
120 128
         /// 上架时间
121 129
         /// </summary>
122 130
         public DateTime? OnSaleBegin