From 852cd93a3e65988a2354a0b96b79d5e2d05bf646 Mon Sep 17 00:00:00 2001
From: yangle <admin@YINMOU>
Date: 星期五, 14 四月 2023 09:23:25 +0800
Subject: [PATCH] 工序流转卡  工艺参数 应该 可编辑; 1.生产资源 有异常; 删除有问题,删除后出来 异常数据(  );    其他信息 里的  几个字段 输入 字符时 报错,应提示; 2.工序 :  9999的 转工序 , 有个 转工序 字段,是否没显示出来; 其他信息 里的  几个字段 输入 字符时 报错,应提示; 3.工作中心:  其他信息 里的  几个字段 输入 字符时 报错,应提示; 4.生产班组: 刷新出来 异常数据;    其他信息 里的  几个字段 输入 字符时 报错,应提示; 5.基础资料的  一些 复选框 标题不对; 6. ADMIN 的账号 工艺路线 的模块 无法进行 新增 编辑; 7.工艺路线查询;工序号,工序代码,工序,工艺参数,表体备注, 其他的放后面  子表 的 委外标记 放到最后面去; 并且 把  供应商代码和供应商 放出来(也放在最后几个); 8.部门有 很多异常数据;   选择的时候 出来了; 9.流转卡维护, 表头 很多没有用的列,单据号 日期 都没有显示;     转工序 是否要打印(跟客户确认); 10. 流转卡拆分时,一些 列的 排序;

---
 WebAPI/Controllers/SCGL/日计划管理/DataHelper.cs |   79 ++++++++++++++++++++++++++++++++++++++-
 1 files changed, 77 insertions(+), 2 deletions(-)

diff --git "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs" "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs"
index b9adbec..ed0e600 100644
--- "a/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs"
+++ "b/WebAPI/Controllers/SCGL/\346\227\245\350\256\241\345\210\222\347\256\241\347\220\206/DataHelper.cs"
@@ -1,5 +1,8 @@
-锘縰sing System;
+锘縰sing Newtonsoft.Json;
+using System;
+using System.Collections;
 using System.Collections.Generic;
+using System.ComponentModel;
 using System.Data;
 using System.Linq;
 using System.Reflection;
@@ -19,7 +22,7 @@
                 List<T> list = new List<T>();
                 if (ds.Tables[0].Rows.Count > 0)
                 {
-                    foreach (DataRow row in ds.Tables[0].Rows) 
+                    foreach (DataRow row in ds.Tables[0].Rows)
                     {
                         list.Add(row.Put(new T()));
                     }
@@ -167,5 +170,77 @@
             }
             return $"update {table} set {strSet} where 1=1 {condition}";
         }
+
+
+
+
+        /// <summary>
+        /// 灏哃ist杞崲鎴怐ataTable
+        /// </summary>
+        /// <typeparam name="T"></typeparam>
+        /// <param name="data"></param>
+        /// <returns></returns>
+        public static DataTable ToDataTable<T>(this IList<T> data)
+        {
+            PropertyDescriptorCollection properties = TypeDescriptor.GetProperties(typeof(T));
+            DataTable dt = new DataTable();
+            for (int i = 0; i < properties.Count; i++)
+            {
+                PropertyDescriptor property = properties[i];
+                dt.Columns.Add(property.Name, property.PropertyType);
+            }
+            object[] values = new object[properties.Count];
+            foreach (T item in data)
+            {
+                for (int i = 0; i < values.Length; i++)
+                {
+                    values[i] = properties[i].GetValue(item);
+                }
+                dt.Rows.Add(values);
+            }
+            return dt;
+        }
+
+
+        /// <summary>
+        /// 灏哃ist杞崲涓篋ataTable
+        /// </summary>
+        /// <param name="list">璇锋眰鏁版嵁</param>
+        /// <returns></returns>
+        public static DataTable ListToDataTable<T>(List<T> list)
+        {
+            //鍒涘缓涓�涓悕涓�"tableName"鐨勭┖琛�
+            DataTable dt = new DataTable("tableName");
+
+            //鍒涘缓浼犲叆瀵硅薄鍚嶇О鐨勫垪
+            foreach (var item in list.FirstOrDefault().GetType().GetProperties())
+            {
+                dt.Columns.Add(item.Name);
+            }
+            //寰幆瀛樺偍
+            foreach (var item in list)
+            {
+                //鏂板姞琛�
+                DataRow value = dt.NewRow();
+                //鏍规嵁DataTable涓殑鍊硷紝杩涜瀵瑰簲鐨勮祴鍊�
+                foreach (DataColumn dtColumn in dt.Columns)
+                {
+                    int i = dt.Columns.IndexOf(dtColumn);
+                    //鍩哄厓鍏冪礌锛岀洿鎺ュ鍒讹紝瀵硅薄绫诲瀷绛夛紝杩涜搴忓垪鍖�
+                    if (value.GetType().IsPrimitive)
+                    {
+                        value[i] = item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item);
+                    }
+                    else
+                    {
+                        value[i] = JsonConvert.SerializeObject(item.GetType().GetProperty(dtColumn.ColumnName).GetValue(item));
+                    }
+                }
+                dt.Rows.Add(value);
+            }
+            return dt;
+        }
+
     }
+
 }

--
Gitblit v1.9.1