handsontable大小写加载BUG修复

parent 52015418
...@@ -179,6 +179,13 @@ ...@@ -179,6 +179,13 @@
<member name="F:Performance.DtoModels.DataFormat.日期"> <member name="F:Performance.DtoModels.DataFormat.日期">
<summary> 日期 </summary> <summary> 日期 </summary>
</member> </member>
<member name="M:Performance.DtoModels.HandsonTable.SetRowData(System.Collections.Generic.IEnumerable{Performance.DtoModels.HandsonRowData},System.Boolean)">
<summary>
</summary>
<param name="datas"></param>
<param name="isTypein">是否是用户录入的 是:true 不是:false</param>
</member>
<member name="P:Performance.DtoModels.HistoryData.Year"> <member name="P:Performance.DtoModels.HistoryData.Year">
<summary> <summary>
......
...@@ -24,15 +24,22 @@ public HandsonTable(int sheetType, string[] cols, List<collect_permission> permi ...@@ -24,15 +24,22 @@ public HandsonTable(int sheetType, string[] cols, List<collect_permission> permi
public List<Dictionary<string, string>> Data => _data; public List<Dictionary<string, string>> Data => _data;
public HandsonColumn[] Columns { get; private set; } public HandsonColumn[] Columns { get; private set; }
public void SetRowData(IEnumerable<HandsonRowData> datas) /// <summary>
///
/// </summary>
/// <param name="datas"></param>
/// <param name="isTypein">是否是用户录入的 是:true 不是:false</param>
public void SetRowData(IEnumerable<HandsonRowData> datas, bool isTypein)
{ {
foreach (var dt in datas) foreach (var dt in datas)
{ {
var dic = CreateDataRow("编号", dt.Row.ToString()); var dic = CreateDataRow("编号", dt.Row.ToString());
foreach (var item in dt.CellData) foreach (var item in dt.CellData)
{ {
if (dic.ContainsKey(item.Name) && _permissions.Any(w => w.HeadName == item.Name && w.AttachLast > 0)) if (dic.ContainsKey(item.Name.ToLower()) && isTypein && _permissions.Any(w => w.HeadName.ToLower() == item.Name.ToLower()))
dic[item.Name] = item.Value?.ToString(); dic[item.Name.ToLower()] = item.Value?.ToString() ?? "";
else if (dic.ContainsKey(item.Name.ToLower()) && _permissions.Any(w => w.HeadName.ToLower() == item.Name.ToLower() && w.AttachLast > 0))
dic[item.Name.ToLower()] = item.Value?.ToString() ?? "";
} }
_data.Add(dic); _data.Add(dic);
} }
...@@ -51,11 +58,12 @@ private void InitColHeaders(int sheetType, string[] cols) ...@@ -51,11 +58,12 @@ private void InitColHeaders(int sheetType, string[] cols)
var necessitys = defaluts.FirstOrDefault(w => sheetType == (int)w.SheetType)?.Necessity.ToList(); var necessitys = defaluts.FirstOrDefault(w => sheetType == (int)w.SheetType)?.Necessity.ToList();
necessitys = necessitys ?? new List<string>(); necessitys = necessitys ?? new List<string>();
foreach (var item in cols) foreach (var col in cols)
{ {
var item = col.ToLower();
if (!necessitys.Contains(item)) if (!necessitys.Contains(item))
necessitys.Add(item); necessitys.Add(item);
if (!_permissions.Any(w => w.HeadName == item && w.Visible == 1)) if (!_permissions.Any(w => w.HeadName.ToLower() == item && w.Visible == 1))
necessitys.Remove(item); necessitys.Remove(item);
} }
ColHeaders = necessitys.ToArray(); ColHeaders = necessitys.ToArray();
...@@ -64,12 +72,12 @@ private void InitColHeaders(int sheetType, string[] cols) ...@@ -64,12 +72,12 @@ private void InitColHeaders(int sheetType, string[] cols)
private void InitColumns(List<collect_permission> permissions) private void InitColumns(List<collect_permission> permissions)
{ {
List<HandsonColumn> columns = new List<HandsonColumn>(); List<HandsonColumn> columns = new List<HandsonColumn>();
foreach (var item in ColHeaders) foreach (var col in ColHeaders)
{ {
var item = col.ToLower();
var readnoly = _permissions.FirstOrDefault(f => f.HeadName == item)?.Readnoly == 1; var readnoly = _permissions.FirstOrDefault(f => f.HeadName == item)?.Readnoly == 1;
columns.Add(new HandsonColumn(item, readnoly)); columns.Add(new HandsonColumn(item.ToLower(), readnoly));
} }
Columns = columns.ToArray(); Columns = columns.ToArray();
} }
...@@ -79,7 +87,7 @@ private void InitColumns(List<collect_permission> permissions) ...@@ -79,7 +87,7 @@ private void InitColumns(List<collect_permission> permissions)
foreach (var item in ColHeaders) foreach (var item in ColHeaders)
{ {
if (!temp.ContainsKey(item)) if (!temp.ContainsKey(item))
temp.Add(item, ""); temp.Add(item.ToLower(), "");
} }
return temp; return temp;
} }
......
...@@ -363,7 +363,7 @@ public HandsonTable GetCollectData(int userId, int allotId, string sheetName) ...@@ -363,7 +363,7 @@ public HandsonTable GetCollectData(int userId, int allotId, string sheetName)
rowDatas = rowDatas.OrderBy(t => t.Row).ToList(); rowDatas = rowDatas.OrderBy(t => t.Row).ToList();
HandsonTable handson = new HandsonTable(sheet.SheetType.Value, cols, permissions); HandsonTable handson = new HandsonTable(sheet.SheetType.Value, cols, permissions);
handson.SetRowData(rowDatas); handson.SetRowData(rowDatas, (collectdata != null));
return handson; return handson;
} }
...@@ -481,7 +481,11 @@ public void SaveCollectData(int allotId, SaveCollectData request) ...@@ -481,7 +481,11 @@ public void SaveCollectData(int allotId, SaveCollectData request)
{ {
var json = JsonHelper.Serialize(item); var json = JsonHelper.Serialize(item);
var data = JsonHelper.Deserialize<collect_data>(json); var data = JsonHelper.Deserialize<collect_data>(json);
datas.Add(data); if (!string.IsNullOrEmpty(data.AccountingUnitTechnician)
|| !string.IsNullOrEmpty(data.AccountingUnitNurse)
|| !string.IsNullOrEmpty(data.AccountingUnitDoctor)
|| !string.IsNullOrEmpty(data.Department))
datas.Add(data);
} }
perforcollectdataRepository.Execute("delete from collect_data where allotid = @allotid and sheetname=@sheetname", new { allotId, request.SheetName }); perforcollectdataRepository.Execute("delete from collect_data where allotid = @allotid and sheetname=@sheetname", new { allotId, request.SheetName });
perforcollectdataRepository.AddRange(datas.ToArray()); perforcollectdataRepository.AddRange(datas.ToArray());
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment