liuwf 1 month ago
parent 828fb654a1
commit d5a9d14f69

@ -0,0 +1,572 @@
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using SlnMesnac.RfidUpload.Common;
using SlnMesnac.RfidUpload.Model.config;
using SlnMesnac.RfidUpload.TouchSocket;
using System;
using System.Collections.Generic;
using SlnMesnac.RfidUpload.Model;
using SlnMesnac.RfidUpload.NLog;
using System.Reflection.Emit;
using System.Security.Cryptography;
using SlnMesnac.RfidUpload.Model.apiParam;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* T14-GEN3-7895
* SlnMesnac.RfidUpload.Business
* 1326b9fc-9ad1-4bd7-883a-32a01ab38cb1
*
* WenJY
*
* 2024-12-06 14:21:17
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.RfidUpload.Business
{
public class CsbHandleBusiness
{
private static readonly Lazy<CsbHandleBusiness> _lazy = new Lazy<CsbHandleBusiness>(() => new CsbHandleBusiness());
public static CsbHandleBusiness Instance
{
get
{
return _lazy.Value;
}
}
private CsbHandleBusiness() { }
private AppConfig appConfig = AppConfig.Instance;
private WebApiClientApp webApiClientApp = WebApiClientApp.Instance;
private LogHelper logHelper = LogHelper.Instance;
private JsonChange jsonChange = JsonChange.Instance;
private static INIFile iNIFile = new INIFile(System.Environment.CurrentDirectory + "/App.InI");
/// <summary>
/// 容器指定封发扫描接口
/// </summary>
public void getScanInfoAppointRfidByCSB(string rqtm)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 101,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["containerRegisterQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("ContainerRegisterQuery", "opOrgCode"),
["opOrgName"] = iNIFile.IniReadValue("ContainerRegisterQuery", "opOrgName"),
["userCode"] = iNIFile.IniReadValue("ContainerRegisterQuery", "userCode"),
["userName"] = iNIFile.IniReadValue("ContainerRegisterQuery", "userName"),
["provice"] = iNIFile.IniReadValue("ContainerRegisterQuery", "provice"),
["rqzlmc"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqzlmc"),
["zbid"] = iNIFile.IniReadValue("ContainerRegisterQuery", "zbid"),
["destinationOrgName"] = iNIFile.IniReadValue("ContainerRegisterQuery", "destinationOrgName"),
["destinationOrgCode"] = iNIFile.IniReadValue("ContainerRegisterQuery", "destinationOrgCode"),
["rqzl"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqzl"),
["rqxh"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqxh"),
["rqxhmc"] = iNIFile.IniReadValue("ContainerRegisterQuery", "rqxhmc"),
["rqtm"] = rqtm,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器指定封发扫描接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"容器指定封发扫描接口处理异常:{ex.Message}", ex);
}
}
/// <summary>
/// 容器入库接口
/// </summary>
public CsbResult scanAnyContainerCodeByCsb(string rqtm)
{
CsbResult res = new CsbResult();
try
{
JObject jsonObject = new JObject
{
["code"] = 102,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["batchOpenQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("batchOpenQuery", "opOrgCode"),
["userCode"] = iNIFile.IniReadValue("batchOpenQuery", "userCode"),
["userName"] = iNIFile.IniReadValue("batchOpenQuery", "userName"),
["provice"] = iNIFile.IniReadValue("batchOpenQuery", "provice"),
["rqtm"] = rqtm,
["devicedId"] = iNIFile.IniReadValue("batchOpenQuery", "zbid"),
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器入库接口返回信息:{jsonChange.ModeToJson(res)}");
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器入库接口处理异常:{ex.Message}", ex);
res.status = "500";
res.msg = $"新容器入库接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 新容器入库-调拨单号验证接口
/// </summary>
public CsbResult containerStorageQueryByCsb(string dbbh,string rqtmStart,string rqtmEnd)
{
CsbResult res = new CsbResult();
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["newContainerStorageQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("newContainerStorageQuery", "opOrgCode"),
["dbbh"] = dbbh,
["devicedId"] = iNIFile.IniReadValue("newContainerStorageQuery", "userName"),
["rqtmSerialList"] = new JObject
{
["rqtmStart"] = rqtmStart,
["rqtmEnd"] = rqtmEnd,
},
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"新容器入库-调拨单号验证接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"新容器入库-调拨单号验证接口处理异常:{ex.Message}", ex);
res.status = "500";
res.msg = $"新容器入库-调拨单号验证接口处理异常:{ex.Message}";
}
return res;
}
/// <summary>
/// 新容器入库-按送货单接收容器接口
/// </summary>
public void containerStorageBatchQueryByCsb(string trackNo,string batchNo,string rqtmList,string rqtmEnd)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["newContainerStorageBatchQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("newContainerStorageBatchQuery", "opOrgCode"),
["trackNo"] = trackNo,
["devicedId"] = iNIFile.IniReadValue("newContainerStorageBatchQuery", "userName"),
["batchNo"] = batchNo,
["rqtmList"] = rqtmList,
["rqtmEnd"] = rqtmEnd,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"新容器入库-按送货单接收容器接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"新容器入库-按送货单接收容器接口处理异常:{ex.Message}", ex);
}
}
/// <summary>
/// 6.6.新容器入库-按送货单反馈接收结果接口
/// </summary>
public void receContainerStorageByCsb(string trackNo,string msgType)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["newContainerStorageQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("newContainerStorageQuery", "opOrgCode"),
["trackNo"] = trackNo,
["msgType"] = msgType,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"新容器入库-按送货单反馈接收结果接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"新容器入库-按送货单反馈接收结果接口处理异常:{ex.Message}", ex);
}
}
/// <summary>
/// 容器封发-获取调拨单和封发计划
/// </summary>
public CsbResult transferOrderFfjhByCsb(string jsdw,string beginDate,string endDate)
{
CsbResult res = new CsbResult();
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjStockTransferOrderQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjStockTransferOrderQuery", "opOrgCode"),
["devicedId"] = iNIFile.IniReadValue("TdjStockTransferOrderQuery", "devicedId"),
["jsdw"] = jsdw,
["beginDate"] = beginDate,
["endDate"] = endDate,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器封发-获取调拨单和封发计划接口返回信息:{jsonChange.ModeToJson(res)}");
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-获取调拨单和封发计划接口处理异常:{ex.Message}", ex);
res.status = "500";
res.msg = $"容器封发-获取调拨单和封发计划接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 容器封发-验证封发计划
/// </summary>
public CsbResult transferOrderFfjhCheckByCsb(string ffjhNo,string ffjhscrq)
{
CsbResult res = new CsbResult();
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjStockTransferOrderffjhCheckQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjStockTransferOrderffjhCheckQuery", "opOrgCode"),
["devicedId"] = iNIFile.IniReadValue("TdjStockTransferOrderffjhCheckQuery", "devicedId"),
["ffjhNo"] = ffjhNo,
["ffjhscrq"] = ffjhscrq,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器封发-验证封发计划接口返回信息:{jsonChange.ModeToJson(res)}");
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-验证封发计划接口处理异常:{ex.Message}", ex);
res.msg = "500";
res.msg = $"容器封发-验证封发计划接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 容器封发-接收容器条码
/// </summary>
public CsbResult containerScanSealByCsb(string ffjhNo,string opBatch,string ffjhscrq,string batchNo,string rqtmList)
{
CsbResult res = new CsbResult();
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjContainerScanSealQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjContainerScanSealQuery", "opOrgCode"),
["devicedId"] = iNIFile.IniReadValue("TdjContainerScanSealQuery", "devicedId"),
["shopCode"] = iNIFile.IniReadValue("TdjContainerScanSealQuery", "shopCode"),
["ffjhNo"] = ffjhNo,
["turnFlag"] = 1,
["opBatch"] = opBatch,
["ffjhscrq"] = ffjhscrq,
["batchNo"] = batchNo,
["rqtmList"] = rqtmList,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器封发-接收容器条码接口返回信息:{jsonChange.ModeToJson(res)}");
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-接收容器条码接口处理异常:{ex.Message}", ex);
res.status = "500";
res.msg = $"容器封发-接收容器条码接口处理异常:{ex.Message}";
return res;
}
}
/// <summary>
/// 容器封发-反馈接收结果
/// </summary>
public CsbResult containerScanSealResultByCsb(string ffjhNo,string opBatch)
{
CsbResult res = new CsbResult();
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjContainerScanSealQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjContainerScanSealQuery", "opOrgCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器封发-反馈接收结果接口返回信息:{jsonChange.ModeToJson(res)}");
return res;
}
catch (Exception ex)
{
logHelper.Error($"容器封发-反馈接收结果接口处理异常:{ex.Message}", ex);
res.msg = $"容器封发-反馈接收结果接口处理异常:{ex.Message}";
res.status = "500";
return res;
}
}
/// <summary>
/// 容器直连配发-获取邮路卸交站
/// </summary>
public void findStationSequenceByCsb(string ffjhNo,string opBatch)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjContainerAllotQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "opOrgCode"),
["devicedId"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "devicedId"),
["shopCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopCode"),
["routeCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "routeCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器直连配发-获取邮路卸交站接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-获取邮路卸交站接口处理异常:{ex.Message}", ex);
}
}
/// <summary>
/// 容器直连配发-校验发运计划
/// </summary>
public void tranPlanCheckByCsb(string ffjhNo,string opBatch,string stationOrgCode,string stationOrgName)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjContainerAllotQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "opOrgCode"),
["devicedId"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "devicedId"),
["shopCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopCode"),
["routeCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "routeCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
["areaCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopName"),
["shopName"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopName"),
["stationOrgCode"] = stationOrgCode,
["stationOrgName"] = stationOrgName,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器直连配发-校验发运计划接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-校验发运计划接口处理异常:{ex.Message}", ex);
}
}
/// <summary>
/// 容器直连配发-开始配发
/// </summary>
public void containerAllotByCsb(string ffjhNo,string opBatch)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjContainerAllotQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "opOrgCode"),
["devicedId"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "devicedId"),
["shopCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "shopCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
["userCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "userCode"),
["userName"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "userName"),
["groupCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "groupCode"),
["groupName"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "groupName"),
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器直连配发-开始配发接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-开始配发接口处理异常:{ex.Message}", ex);
}
}
/// <summary>
/// 容器直连配发-反馈接收结果
/// </summary>
public void containerAllotResultByCsb(string ffjhNo,string opBatch)
{
try
{
JObject jsonObject = new JObject
{
["code"] = 103,
["requestURL"] = appConfig.requestURL,
["sysCode"] = appConfig.sysCode,
["password"] = appConfig.password,
["ak"] = appConfig.ak,
["sk"] = appConfig.sk,
["TdjContainerAllotQuery"] = new JObject
{
["opOrgCode"] = iNIFile.IniReadValue("TdjContainerAllotQuery", "opOrgCode"),
["ffjhNo"] = ffjhNo,
["opBatch"] = opBatch,
}
};
string jsonString = jsonObject.ToString();
var str = webApiClientApp.UploadAsync(jsonString);
CsbResult res = JsonConvert.DeserializeObject<CsbResult>(str);
logHelper.Info($"容器直连配发-反馈接收结果接口返回信息:{jsonChange.ModeToJson(res)}");
}
catch (Exception ex)
{
logHelper.Error($"容器直连配发-反馈接收结果接口处理异常:{ex.Message}", ex);
}
}
}
}

@ -8,6 +8,7 @@
<ItemGroup>
<ProjectReference Include="..\SlnMesnac.RfidUpload.Analysis\SlnMesnac.RfidUpload.Analysis.csproj" />
<ProjectReference Include="..\SlnMesnac.RfidUpload.Common\SlnMesnac.RfidUpload.Common.csproj" />
<ProjectReference Include="..\SlnMesnac.RfidUpload.NLog\SlnMesnac.RfidUpload.NLog.csproj" />
<ProjectReference Include="..\SlnMesnac.RfidUpload.TouchSocket\SlnMesnac.RfidUpload.TouchSocket.csproj" />
</ItemGroup>

@ -5,41 +5,6 @@ namespace SlnMesnac.RfidUpload.Model
/// </summary>
public class ContainerInbound
{
///// <summary>
///// 入参1请求报文到消息头
///// </summary>
//public string messageHeader { get; set; }
///// <summary>
///// 入参2将下列参数封装到batchOpenQuery
///// </summary>
//public string batchOpenQuery { get; set; }
///// <summary>
///// 机构代码
///// </summary>
//public string opOrgCode { get; set; }
///// <summary>
///// 登录人代码
///// </summary>
//public string userCode { get; set; }
///// <summary>
///// 登录人名称
///// </summary>
//public string userName { get; set; }
///// <summary>
///// 省份代码
///// </summary>
//public string province { get; set; }
///// <summary>
///// 容器条码
///// </summary>
//public string rqtm { get; set; }
public int code { get; set; }
public string requestURL { get; set; }

@ -7,6 +7,7 @@
<ItemGroup>
<PackageReference Include="MiniExcel" Version="1.31.2" />
<PackageReference Include="SqlSugarCore" Version="5.1.4.134" />
</ItemGroup>
<ItemGroup>

@ -0,0 +1,44 @@
using System;
using System.Collections.Generic;
using System.Text;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* T14-GEN3-7895
* SlnMesnac.RfidUpload.Model
* 9dfe9f14-5520-4242-9cfc-25620e6632e5
*
* WenJY
*
* 2024-12-06 9:53:12
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.RfidUpload.Model
{
/// <summary>
/// 封发计划信息
/// </summary>
public class TransferOrderInfo
{
public string dbdh { get; set; }
public string jsdw{get;set;}
public string ffjhNo{get;set;}
public string rqzlbm{get;set;}
public string rqzlmc{get;set;}
public string rqxhbm{get;set;}
public string rqxhmc{get;set;}
public string kdbsl{get;set;}
public string ffjhscrq { get;set;}
}
}

@ -0,0 +1,37 @@
using System;
using System.Collections.Generic;
using System.Text;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* T14-GEN3-7895
* SlnMesnac.RfidUpload.Model.apiParam
* 24151d41-1e82-4326-bab7-94d9a9655cbd
*
* WenJY
*
* 2024-12-06 16:37:58
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.RfidUpload.Model.apiParam
{
public class CsbResult
{
public string status { get; set; }
public string msg { get; set; }
public List<Object> @object { get; set; }
}
}

@ -75,6 +75,25 @@ namespace SlnMesnac.RfidUpload.TouchSocket
return result;
}
public string UploadAsync(string paramStr)
{
string result = string.Empty;
try
{
logger.Info($"请求CSB接口调用服务,参数:{paramStr}");
result = Post("http://127.0.0.1:9090/api/uploadCsb", paramStr);
logger.Info($"CSB接口返回信息:{result}");
}
catch (Exception e)
{
Console.WriteLine(e.Message);
result = e.Message;
logger.Info($"请求CSB接口调用服务异常:{e.Message}");
}
return result;
}
public static string Post(string url, object postData)
{
HttpWebRequest req = (HttpWebRequest)WebRequest.Create(url);

@ -5,7 +5,7 @@
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SlnMesnac.RfidUpload.UI"
xmlns:local1="clr-namespace:SlnMesnac.RfidUpload.UI.converter"
mc:Ignorable="d"
mc:Ignorable="d" d:DesignHeight="1080" d:DesignWidth="1920"
Title="海威物联RFID移动盘点系统" Height="766" Width="1268"
WindowState="Maximized" WindowStyle="SingleBorderWindow" >
<!--ResizeMode="NoResize" Topmost="False"-->
@ -59,9 +59,12 @@
<Button Content="关闭串口" Command="{Binding CloseSerialPortCommand}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#FF0033" BorderBrush="#FF0033" Margin="0,0,10,0"/>
<Button Content="导出文件" Command="{Binding ExportFilesCommand}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#007DFA" BorderBrush="#007DFA" Margin="0,0,10,0"/>
<Button Content="清空列表" Command="{Binding EmptyFilesCommand}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="Orange" BorderBrush="Orange" Margin="0,0,10,0"/>
<Button Content="完成" Command="{Binding FinishCommand}" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#007DFA" BorderBrush="#007DFA" Margin="10,0,10,0"/>
<Label Content="数 量 :" FontSize="20" FontWeight="Black" Foreground="#00CC33" Margin="20,0,0,0"/>
<Label Content="{Binding LabelCountParam}" FontSize="20" FontWeight="Black" Foreground="#00CC33" Margin="5,0,10,0"/>
<Label Content="调拨单号 :" FontSize="20" FontWeight="Black" Foreground="#00CC33" Margin="20,0,0,0"/>
<Label Content="{Binding MainPageDbdh}" FontSize="20" FontWeight="Black" Foreground="#00CC33" Margin="5,0,10,0"/>
</StackPanel>
<StackPanel Grid.Column="1" VerticalAlignment="Center" HorizontalAlignment="Right" Orientation="Horizontal">
@ -106,12 +109,16 @@
<DropShadowEffect Color="Gray" ShadowDepth="0" BlurRadius="5" Opacity="0.3" Direction="0"></DropShadowEffect>
</Border.Effect>
<Grid>
<Grid.ColumnDefinitions>
<ColumnDefinition Width="159*"/>
<ColumnDefinition Width="152*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="2*"/>
<RowDefinition Height="15*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="CadetBlue" BorderThickness="0,0,0,0" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" >
<Border Grid.Row="0" BorderBrush="CadetBlue" BorderThickness="0,0,0,0" CornerRadius="0" Background="Transparent" Margin="1,1,5,5" Grid.ColumnSpan="2" >
<TextBlock Text="标签信息" FontSize="17" FontWeight="Bold" Foreground="#0288d1" VerticalAlignment="Center" HorizontalAlignment="Center"/>
</Border>
@ -121,16 +128,19 @@
RowHeight="31" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False"
Foreground="#0288d1" >
Foreground="#0288d1" Grid.ColumnSpan="2" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding no}" Header="no" Width="80" IsReadOnly="True"/>
<!--<DataGridTextColumn Binding="{Binding no}" Header="no" Width="80" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding stx}" Header="stx" Width="80" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding len}" Header="len" Width="150" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding cmd}" Header="cmd" Width="150" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding status}" Header="status" Width="150" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding data}" Header="data" Width="290" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding xor}" Header="xor" Width="150" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding xor}" Header="xor" Width="150" IsReadOnly="True"/>-->
<DataGridTextColumn Binding="{Binding no}" Header="序号" Width="80" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding dbdh}" Header="调拨单号" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding result}" Header="结果" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding recordtime,StringFormat=\{0:MM月dd日 HH:mm.ss.ffff\}}" Header="时间" Width="230" IsReadOnly="True"/>
<!--<DataGridTextColumn Binding="{Binding recordTime,StringFormat=\{0:MM月dd日 HH:mm\}}" Header="时间" Width="150" IsReadOnly="True"/>-->
</DataGrid.Columns>
@ -167,8 +177,8 @@
<StackPanel Grid.Row="1" Orientation="Horizontal" VerticalAlignment="Center">
<Button Content="新容器入库" Command="{Binding SetWorkModelCommand}" CommandParameter="101" Style="{StaticResource BUTTON_AGREE}" Width="120" Height="30" Background="Orange" BorderBrush="Orange" Margin="10,0,10,0"/>
<Button Content="容器封发-按调拨单" Command="{Binding SetWorkModelCommand}" CommandParameter="103" Style="{StaticResource BUTTON_AGREE}" Width="120" Height="30" Background="#8771DC" BorderBrush="#8771DC" Margin="0,0,10,0"/>
<Button Content="新容器入库" Command="{Binding SetWorkModelCommand}" CommandParameter="1" Style="{StaticResource BUTTON_AGREE}" Width="120" Height="30" Background="Orange" BorderBrush="Orange" Margin="10,0,10,0"/>
<Button Content="容器封发-按调拨单" Command="{Binding SetWorkModelCommand}" CommandParameter="2" Style="{StaticResource BUTTON_AGREE}" Width="120" Height="30" Background="#8771DC" BorderBrush="#8771DC" Margin="0,0,10,0"/>
<Button Content="库存容器封发配发" Command="{Binding SetWorkModelCommand}" CommandParameter="3" Style="{StaticResource BUTTON_AGREE}" Width="120" Height="30" Background="#52ACBD" BorderBrush="#52ACBD" Margin="0,0,10,0"/>
<Button Content="卸车容器封发配发" Command="{Binding SetWorkModelCommand}" CommandParameter="4" Style="{StaticResource BUTTON_AGREE}" Width="120" Height="30" Background="#007DFA" BorderBrush="#007DFA" Margin="0,0,10,0"/>
<Button Content="关 闭" Command="{Binding SetWorkModelCommand}" CommandParameter="5" Style="{StaticResource BUTTON_AGREE}" Width="100" Height="30" Background="#FF0033" BorderBrush="#FF0033" Margin="0,0,10,0"/>

@ -13,5 +13,10 @@ namespace SlnMesnac.RfidUpload.UI
InitializeComponent();
this.DataContext = new MainWindowViewModel();
}
private void Button_Click()
{
}
}
}

@ -7,6 +7,7 @@
</PropertyGroup>
<ItemGroup>
<PackageReference Include="CommunityToolkit.Mvvm" Version="8.3.2" />
<PackageReference Include="MvvmLightLibs" Version="5.4.1.1" />
</ItemGroup>

@ -0,0 +1,88 @@
<Window x:Class="SlnMesnac.RfidUpload.UI.TransferOrderWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SlnMesnac.RfidUpload.UI"
mc:Ignorable="d"
Title="容器封发-按调拨单" Height="650" Width="1350">
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="1*"/>
<RowDefinition Height="7*"/>
</Grid.RowDefinitions>
<Border Grid.Row="0" BorderBrush="Gray" BorderThickness="0,0,0,2" CornerRadius="0" >
<StackPanel Orientation="Horizontal" HorizontalAlignment="Left" VerticalAlignment="Center">
<TextBlock Text="封发计划:" FontSize="16" FontWeight="Black" Foreground="#006699" Margin="10,0,0,0"/>
<TextBox Text="{Binding FFPlan}" FontSize="16" Grid.Row="1" Width="180" Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Center" Padding="5">
<TextBox.Template>
<ControlTemplate TargetType="TextBox">
<Border Background="#EBF4FD" BorderBrush="White" BorderThickness="1" CornerRadius="5">
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
</TextBox.Template>
</TextBox>
<TextBlock Text="调入局:" FontSize="16" FontWeight="Black" Foreground="#006699" Margin="10,0,0,0"/>
<TextBox Text="{Binding DRJ}" FontSize="16" Grid.Row="1" Width="180" Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Center" Padding="5">
<TextBox.Template>
<ControlTemplate TargetType="TextBox">
<Border Background="#EBF4FD" BorderBrush="White" BorderThickness="1" CornerRadius="5">
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
</TextBox.Template>
</TextBox>
<TextBlock Text="生成时间:" FontSize="16" FontWeight="Black" Foreground="#006699" Margin="20,0,0,0"/>
<!-- 开始时间选择器 -->
<DatePicker x:Name="StartDatePicker" Width="150" Margin="10,0,0,0" VerticalAlignment="Center" SelectedDate="{Binding StartDate, Mode=TwoWay}" />
<TextBlock Text="至" FontSize="16" FontWeight="Black" Foreground="#006699" Margin="10,0,0,0"/>
<!-- 结束时间选择器 -->
<DatePicker x:Name="EndDatePicker" Width="150" Margin="10,0,0,0" VerticalAlignment="Center" SelectedDate="{Binding EndDate, Mode=TwoWay}" />
<!-- 查询按钮 -->
<Button Content="查询" Command="{Binding QueryCommand}" Style="{StaticResource BUTTON_AGREE}" Width="80" Height="30" Background="#007DFA" BorderBrush="#007DFA" Margin="10,0,10,0"/>
<Button Content="拉取调拨单" Command="{Binding GetTransferOrderCommand}" Style="{StaticResource BUTTON_AGREE}" Width="80" Height="30" Background="#007DFA" BorderBrush="#007DFA" Margin="10,0,10,0"/>
</StackPanel>
</Border>
<DataGrid Grid.Row="1" Name="DG" ItemsSource="{Binding TransferOrderInfoItems}" Background="Transparent"
FontSize="15" ColumnHeaderHeight="35"
RowHeight="31" AutoGenerateColumns="False" RowHeaderWidth="0"
GridLinesVisibility="None" ScrollViewer.HorizontalScrollBarVisibility="Hidden"
ScrollViewer.VerticalScrollBarVisibility="Hidden" BorderThickness="0" CanUserAddRows="False"
Foreground="#0288d1" >
<!--resourceStyle 399行修改选中字体颜色-->
<DataGrid.Columns>
<DataGridTextColumn Binding="{Binding no}" Header="序号" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding dbdh}" Header="调拨单号" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding jsdw}" Header="调入局" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding ffjhNo}" Header="封发计划编号" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding rqzlbm}" Header="容器种类编码" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding rqzlmc}" Header="容器种类名称" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding rqxhbm}" Header="容器型号编码" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding rqxhmc}" Header="容器型号名称" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding kdbsl}" Header="可调拨数量" Width="*" IsReadOnly="True"/>
<DataGridTextColumn Binding="{Binding ffjhscrq,StringFormat=\{0:MM月dd日 HH:mm.ss.ffff\}}" Header="生成日期" Width="*" IsReadOnly="True"/>
<DataGridTemplateColumn Header="操作" Width="1.5*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<!--<Button Content="编辑" Command="{Binding DataContext.CabinetUpdateCommand, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" CommandParameter="{Binding}" Style="{StaticResource BUTTON_AGREE}" FontSize="14" Width="80" Height="30" Background="#009999" BorderBrush="#FF36B5C1" VerticalAlignment="Center" HorizontalAlignment="Center"/>-->
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="执行封发" Command="{Binding DataContext.ExecuteCommand, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" CommandParameter="{Binding}" Style="{StaticResource BUTTON_AGREE}" FontSize="14" Width="80" Height="30" Background="#009999" BorderBrush="#FF36B5C1" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="0,0,5,0"/>
<Button Content="删除" Command="{Binding DataContext.DeleteCommand, RelativeSource={RelativeSource AncestorType={x:Type DataGrid}}}" CommandParameter="{Binding}" Style="{StaticResource BUTTON_AGREE}" FontSize="14" Width="80" Height="30" Background="#009999" BorderBrush="#FF36B5C1" VerticalAlignment="Center" HorizontalAlignment="Center" Margin="5,0,0,0"/>
</StackPanel>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</DataGrid>
</Grid>
</Window>

@ -0,0 +1,35 @@
using SlnMesnac.RfidUpload.UI.viewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace SlnMesnac.RfidUpload.UI
{
/// <summary>
/// TransferOrderWindow.xaml 的交互逻辑
/// </summary>
public partial class TransferOrderWindow : Window
{
//private TransferOrderViewModel orderViewModel = new TransferOrderViewModel();
public TransferOrderWindow(TransferOrderViewModel orderViewModel)
{
InitializeComponent();
this.DataContext = orderViewModel;
orderViewModel.SuccessEvent += () =>
{
this.Close();
};
}
}
}

@ -0,0 +1,60 @@
<Window x:Class="SlnMesnac.RfidUpload.UI.containerStorageQueryByCsb"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SlnMesnac.RfidUpload.UI"
mc:Ignorable="d"
Title="新容器入库" Height="450" Width="800">
<Grid Margin="50,50">
<Grid.RowDefinitions>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
<RowDefinition/>
</Grid.RowDefinitions>
<StackPanel Grid.Row="0" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="调拨单号:" FontSize="16" FontWeight="Black" Foreground="#006699" Margin="10,0,0,0"/>
<TextBox Text="{Binding dbbh}" FontSize="16" Grid.Row="1" Width="300" Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Center" Padding="5">
<TextBox.Template>
<ControlTemplate TargetType="TextBox">
<Border Background="#EBF4FD" BorderBrush="White" BorderThickness="1" CornerRadius="5">
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
</TextBox.Template>
</TextBox>
</StackPanel>
<StackPanel Grid.Row="1" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="开始号段:" FontSize="16" FontWeight="Black" Foreground="#006699" Margin="10,0,0,0"/>
<TextBox Text="{Binding rqtmStart}" FontSize="16" Grid.Row="1" Width="300" Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Center" Padding="5">
<TextBox.Template>
<ControlTemplate TargetType="TextBox">
<Border Background="#EBF4FD" BorderBrush="White" BorderThickness="1" CornerRadius="5">
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
</TextBox.Template>
</TextBox>
</StackPanel>
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<TextBlock Text="结束号段:" FontSize="16" FontWeight="Black" Foreground="#006699" Margin="10,0,0,0"/>
<TextBox Text="{Binding rqtmEnd}" FontSize="16" Grid.Row="1" Width="300" Height="30" VerticalContentAlignment="Center" HorizontalAlignment="Center" Padding="5">
<TextBox.Template>
<ControlTemplate TargetType="TextBox">
<Border Background="#EBF4FD" BorderBrush="White" BorderThickness="1" CornerRadius="5">
<ScrollViewer x:Name="PART_ContentHost" />
</Border>
</ControlTemplate>
</TextBox.Template>
</TextBox>
</StackPanel>
<StackPanel Grid.Row="3" Orientation="Horizontal" HorizontalAlignment="Right" VerticalAlignment="Center">
<Button Content="确定" Command="{Binding SubmitCommand}" Style="{StaticResource BUTTON_AGREE}" Width="80" Height="30" Background="#007DFA" BorderBrush="#007DFA" Margin="10,0,10,0"/>
</StackPanel>
</Grid>
</Window>

@ -0,0 +1,33 @@
using SlnMesnac.RfidUpload.UI.viewModel;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
namespace SlnMesnac.RfidUpload.UI
{
/// <summary>
/// containerStorageQueryByCsb.xaml 的交互逻辑
/// </summary>
public partial class containerStorageQueryByCsb : Window
{
private containerStorageQueryByCsbViewModel viewModel;
public containerStorageQueryByCsb()
{
InitializeComponent();
viewModel = new containerStorageQueryByCsbViewModel(this);
this.DataContext = viewModel;
}
}
}

@ -38,10 +38,11 @@ namespace SlnMesnac.RfidUpload.UI.converter
{
return param switch
{
101 => "新容器入库",
103 => "容器封发-按调拨单",
1 => "新容器入库",
2 => "容器封发-按调拨单",
3 => "库存容器封发配发" ,
4 => "卸车容器封发配发",
-1 => "出现错误",
_ => "未知工作模式"
};
}

@ -16,17 +16,24 @@ using System.Collections.ObjectModel;
using System.Linq;
using System.Threading.Tasks;
using ApiServer = SlnMesnac.RfidUpload.TouchSocket.ApiServer;
using Newtonsoft.Json.Linq;
using Newtonsoft.Json;
using System.Windows;
using System.Threading;
namespace SlnMesnac.RfidUpload.UI.viewModel
{
public class MainWindowViewModel : ViewModelBase
{
TransferOrderViewModel transferOrderViewModel = new TransferOrderViewModel();
private readonly LogHelper logger = LogHelper.Instance;
private readonly HandleBusiness _business = HandleBusiness.Instance;
private readonly SerialPortBusiness _serialPortBusiness = SerialPortBusiness.Instance;
private ObservableCollection<dynamic> listItems = new ObservableCollection<dynamic>();
private ObservableCollection<InstructionInfo> labelItems = new ObservableCollection<InstructionInfo>();
private ObservableCollection<DataGridEnt> labelItems = new ObservableCollection<DataGridEnt>();
private CsbHandleBusiness csbHandleBusiness = CsbHandleBusiness.Instance;
private WebApiServerApp webApiServerApp = WebApiServerApp.Instance;
private ApiServer apiServer = ApiServer.GetInstance();
private AppConfig appConfig = AppConfig.Instance;
@ -123,6 +130,16 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
get { return labelCountParam; }
set { labelCountParam = value;RaisePropertyChanged(() => LabelCountParam); }
}
/// <summary>
/// 主界面当前调拨单号
/// </summary>
private string _mainPageDbdh = "";
public string MainPageDbdh
{
get { return _mainPageDbdh; }
set { _mainPageDbdh = value; RaisePropertyChanged(() => MainPageDbdh); }
}
/// <summary>
/// 工作模式
@ -134,6 +151,16 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
set { workModelParam = value; RaisePropertyChanged(() => WorkModelParam); }
}
/// <summary>
/// 分发验证后的对象
/// </summary>
private TransferOrderInfo _transferOrderInfo = new TransferOrderInfo();
public TransferOrderInfo TransferOrderInfoItem
{
get { return _transferOrderInfo; }
set { _transferOrderInfo = value; RaisePropertyChanged(() => TransferOrderInfoItem); }
}
private int rfidDeviceStatus = 0;
public int RfidDeviceStatus
@ -187,6 +214,8 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
/// </summary>
public RelayCommand EmptyFilesCommand { get; set; }
public RelayCommand FinishCommand { get; set; }
/// <summary>
/// 设置工作模式
/// </summary>
@ -195,17 +224,26 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
public MainWindowViewModel()
{
containerStorageQueryByCsbViewModel.RefreshSubmitVerifyEvent += RefreshSubmitVerify;
TransferOrderViewModel.RefreshSubmitVerifyEvent += RefreshSubmitVerify;
logger.Info("初始化启动");
EmptyFilesCommand = new RelayCommand(EmptyFiles);
ExportFilesCommand = new RelayCommand(ExportFiles);
OpenSerialPortCommand = new RelayCommand(OpenSerialPort);
CloseSerialPortCommand = new RelayCommand(CloseSerialPort);
SetWorkModelCommand = new RelayCommand<object>(SetWorkModel);
FinishCommand = new RelayCommand(Finish);
transferOrderViewModel.RefreshTransferOrderInfoEvent += info =>
{
TransferOrderInfoItem = info;
};
this.Init();
}
private void Init()
{
WorkModelParam = Convert.ToInt32(appConfig.workModel);
@ -277,7 +315,7 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
{
try
{
//LabelTest();
LabelTest();
//_serialPortBusiness.OpenSerialPort();
this.GetParity(out int parity);
@ -344,6 +382,77 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
}
}
private static INIFile iNIFile = new INIFile(System.Environment.CurrentDirectory + "/App.InI");
private void Finish()
{
if (workModelParam == 1) //新容器入库
{
//取出托盘号并调用接口
var palletInfo= labelItems.FirstOrDefault();
if (palletInfo == null)
{
MessageBox.Show("请先放包裹读条码!");
return;
}
else
{
CsbResult res = csbHandleBusiness.scanAnyContainerCodeByCsb(palletInfo.result);
MessageBox.Show(res.msg);
}
}
if (workModelParam == 2) //封发-按调拨单
{
var info = labelItems.ToList();
var strList = info.Select(x => x.result).ToList();
CsbResult res = csbHandleBusiness.containerScanSealByCsb(TransferOrderInfoItem.ffjhNo, System.Guid.NewGuid().ToString("N").Substring(0, 20), TransferOrderInfoItem.ffjhscrq, "1", jsonChange.ModeToJson(strList));
MessageBox.Show(res.msg);
Task.Run(() =>
{ //2s以后接受反馈接口
Thread.Sleep(2000);
CsbResult res = csbHandleBusiness.containerScanSealResultByCsb(TransferOrderInfoItem.ffjhNo, "1");
});
//JObject jsonObject = new JObject
//{
// ["code"] = 105,
// ["requestURL"] = appConfig.requestURL,
// ["sysCode"] = appConfig.sysCode,
// ["password"] = appConfig.password,
// ["ak"] = appConfig.ak,
// ["sk"] = appConfig.sk,
// ["TdjContainerScanSealQuery"] = new JObject
// {
// ["opOrgCode"] = iNIFile.IniReadValue("BatchOpenQuery", "opOrgCode"),
// ["shopCode"] = "WS51040001",
// ["ffjhNo"] = _transferOrderInfo.ffjhNo,
// ["turnFlag"] = 1,
// ["opBatch"] = System.Guid.NewGuid().ToString("N").Substring(0, 20),
// ["ffjhscrq"] = _transferOrderInfo.ffjhscrq,
// ["batchNo"] = 1,
// ["devicedId"] = iNIFile.IniReadValue("BatchOpenQuery", "devicedId"),
// ["rqtmList"] = jsonChange.ModeToJson(strList)
// }
//};
//string jsonString = jsonObject.ToString();
//WebApiClientApp webApiClientApp = WebApiClientApp.Instance;
//var str = webApiClientApp.UploadAsync(jsonString);
//result res = JsonConvert.DeserializeObject<result>(str);
//MessageBox.Show($"上传包裹信息结果,status:{res.status};msg:{res.msg}");
//if (res.status == "0")
//{
// EmptyFiles();
//}
}else if(workModelParam == -1)
{
MessageBox.Show("工作模式错误"); return;
}
}
/// <summary>
/// 清空标签信息列表
/// </summary>
@ -357,10 +466,36 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
private void SetWorkModel(object modelFlag)
{
WorkModelParam = Convert.ToInt32(modelFlag);
// WorkModelParam = Convert.ToInt32(modelFlag);
int WorkModel = Convert.ToInt32(modelFlag);
// appConfig.workModel = this.workModelParam.ToString();
//TransferOrderWindow transferOrderWindow = new TransferOrderWindow(transferOrderViewModel);
//transferOrderWindow.ShowDialog();
if(WorkModel == 1) //新容器入库
{
containerStorageQueryByCsb storageQueryByCsb = new containerStorageQueryByCsb();
storageQueryByCsb.ShowDialog();
}
else if(WorkModel == 2) //容器封发-按调拨单
{
TransferOrderWindow transferOrderWindow = new TransferOrderWindow(transferOrderViewModel);
transferOrderWindow.ShowDialog();
}
else if (WorkModel == 3) //库存容器封发配发
{
}
else if (WorkModel == 4) //卸车容器封发配发
{
appConfig.workModel = this.workModelParam.ToString();
}
}
/// <summary>
/// 加载标签信息DataGrid
@ -372,7 +507,11 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
App.Current.Dispatcher.BeginInvoke((Action)(() =>
{
instructionInfo.no = No++;
labelItems.Add(instructionInfo);
DataGridEnt dataGridEnt = new DataGridEnt();
dataGridEnt.dbdh = _transferOrderInfo.dbdh;
dataGridEnt.result = instructionInfo.data;
labelItems.Add(dataGridEnt);
LabelInfoDataGrid = labelItems;
@ -388,12 +527,6 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
_business.upload(101, jsonChange.ModeToJson(info), "新容器入库");
}
else if(workModelParam == 103)
{
var info = ContainerRegisterQuery.Instance;
info.rqtm = instructionInfo.data;
_business.upload(103, jsonChange.ModeToJson(info), "容器封发");
}
});
}
@ -474,5 +607,50 @@ namespace SlnMesnac.RfidUpload.UI.viewModel
break;
}
}
/// <summary>
///
/// model -当前工作模式
/// msg -接口返回信息
/// dbdh -调拨单号
/// </summary>
/// <param name="model"></param>
/// <param name="msg"></param>
/// <param name="dbdh"></param>
private void RefreshSubmitVerify(int model,string msg, string dbbh)
{
appConfig.workModel = model.ToString();
WorkModelParam = model ;
MainPageDbdh = dbbh;
//App.Current.Dispatcher.BeginInvoke((Action)(() =>
//{
// var newDataGridEnt = new DataGridEnt
// {
// no = labelItems.Count + 1,
// dbdh = dbbh,
// result = msg,
// recordtime = DateTime.Now
// };
// labelItems.Insert(0, newDataGridEnt);
// LabelInfoDataGrid = labelItems;
//}));
}
}
}
class DataGridEnt
{
public int no { get; set; }
public string dbdh { get; set; }
public string result { get; set; }
public DateTime recordtime { get; set; }
}

@ -0,0 +1,270 @@

using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using Nancy.Json;
using Newtonsoft.Json;
using Newtonsoft.Json.Linq;
using SlnMesnac.RfidUpload.Business;
using SlnMesnac.RfidUpload.Common;
using SlnMesnac.RfidUpload.Model;
using SlnMesnac.RfidUpload.Model.apiParam;
using SlnMesnac.RfidUpload.Model.config;
using SlnMesnac.RfidUpload.TouchSocket;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.ServiceModel.Channels;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* T14-GEN3-7895
* SlnMesnac.RfidUpload.UI.viewModel
* 81e29764-73f1-4de5-bd78-56b96ca165ba
*
* WenJY
*
* 2024-12-06 9:50:16
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.RfidUpload.UI.viewModel
{
public partial class TransferOrderViewModel : ObservableObject
{
#region 委托事件
/// <summary>
/// model-新容器入库-调拨单号验证状态成功1失败-1
/// model-容器封发-验证封发计划接口状态成功2失败-1
/// dbdh-调拨单号
/// status- 1-正常
/// </summary>
/// <param name="status"></param>
/// <param name="dbdh"></param>
public delegate void RefreshSubmitVerifyDelegate(int model, string msg, string dbdh);
public static event RefreshSubmitVerifyDelegate RefreshSubmitVerifyEvent;
#endregion
public delegate void Success();
public event Success SuccessEvent;
public delegate void RefreshTransferOrderInfo(TransferOrderInfo info);
public event RefreshTransferOrderInfo RefreshTransferOrderInfoEvent;
private CsbHandleBusiness csbHandleBusiness = CsbHandleBusiness.Instance;
public string _FFPlan = string.Empty;
public string FFPlan
{
get => _FFPlan;
set => SetProperty(ref _FFPlan, value);
}
public string _drj = string.Empty;
public string DRJ
{
get => _drj;
set => SetProperty(ref _drj, value);
}
private DateTime? _startDate;
public DateTime? StartDate
{
get => _startDate;
set
{
_startDate = value;
OnPropertyChanged(nameof(StartDate));
}
}
private DateTime? _endDate;
public DateTime? EndDate
{
get => _endDate;
set
{
_endDate = value;
OnPropertyChanged(nameof(EndDate));
}
}
private ObservableCollection<TransferOrderInfo> _transferOrderInfoItems = new ObservableCollection<TransferOrderInfo>();
public ObservableCollection<TransferOrderInfo> TransferOrderInfoItems
{
get => _transferOrderInfoItems;
set => SetProperty(ref _transferOrderInfoItems, value);
}
[RelayCommand]
private void Query()
{
var info = _FFPlan;
var info2 = _drj;
var info3 = _startDate;
var info4 = _endDate;
}
private AppConfig appConfig = AppConfig.Instance;
private WebApiClientApp webApiClientApp = WebApiClientApp.Instance;
private static INIFile iNIFile = new INIFile(System.Environment.CurrentDirectory + "/App.InI");
[RelayCommand]
private void GetTransferOrder()
{
if (_startDate == null || _endDate == null)
{
MessageBox.Show("请选择开始日期或者结束日期");
return;
}else if (_startDate > _endDate)
{
MessageBox.Show("开始日期不能大于结束日期");
return;
}
#region 正式启用
//CsbResult res = csbHandleBusiness.transferOrderFfjhByCsb(_drj, _startDate.Value.ToString(), _endDate.Value.ToString());
//MessageBox.Show(res.msg);
#endregion
//JObject jsonObject = new JObject
//{
// ["code"] = 102,
// ["requestURL"] = appConfig.requestURL,
// ["sysCode"] = appConfig.sysCode,
// ["password"] = appConfig.password,
// ["ak"] = appConfig.ak,
// ["sk"] = appConfig.sk,
// ["TdjStockTransferOrderQuery"] = new JObject
// {
// ["opOrgCode"] = iNIFile.IniReadValue("BatchOpenQuery", "opOrgCode"),
// ["devicedId"] = iNIFile.IniReadValue("BatchOpenQuery", "devicedId"),
// ["jsdw"] = _drj,
// ["beginDate"] = _startDate.ToString(),
// ["endDate"] = _startDate.ToString(),
// }
//};
//string jsonString = jsonObject.ToString();
//var info = webApiClientApp.UploadAsync(jsonString);
//result res = JsonConvert.DeserializeObject<result>(info);
//MessageBox.Show($"获取调拨单结果,status:{res.status};msg:{res.msg};返回内容:{info}");
#region 测试
result res = new result()
{
status = "1",
msg = "测试",
@object = new List<TransferOrderInfo>()
{
new TransferOrderInfo()
{
dbdh = "123",
jsdw = "123",
ffjhNo = "jh123",
ffjhscrq = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
},
new TransferOrderInfo()
{
dbdh = "324",
jsdw = "456",
ffjhNo = "jh456",
ffjhscrq = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")
}
}
};
#endregion
if (res.@object != null)
{
TransferOrderInfoItems = new ObservableCollection<TransferOrderInfo>(res.@object);
}
}
/// <summary>
/// 执行分发
/// </summary>
/// <param name="transferOrderInfo"></param>
[RelayCommand]
private void Execute(TransferOrderInfo transferOrderInfo)
{
#region 正式启用
CsbResult res = csbHandleBusiness.transferOrderFfjhCheckByCsb(transferOrderInfo.ffjhNo, transferOrderInfo.ffjhscrq);
if (res.status == "0" || res.status == "2")
{ //封发计划正常可封发
MessageBox.Show($"验证调拨单结果,status:{res.status};msg:{res.msg};");
SuccessEvent?.Invoke();
RefreshSubmitVerifyEvent?.Invoke(2, res.msg, transferOrderInfo.dbdh);
RefreshTransferOrderInfoEvent?.Invoke(transferOrderInfo);
}
else
{
MessageBox.Show(res.msg);
return;
}
#endregion
//JObject jsonObject = new JObject
//{
// ["code"] = 104,
// ["requestURL"] = appConfig.requestURL,
// ["sysCode"] = appConfig.sysCode,
// ["password"] = appConfig.password,
// ["ak"] = appConfig.ak,
// ["sk"] = appConfig.sk,
// ["TdjStockTransferOrderffjhCheckQuery"] = new JObject
// {
// ["opOrgCode"] = iNIFile.IniReadValue("BatchOpenQuery", "opOrgCode"),
// ["devicedId"] = iNIFile.IniReadValue("BatchOpenQuery", "devicedId"),
// ["ffjhNo"] = info.ffjhNo,
// ["ffjhscrq"] = info.ffjhscrq,
// }
//};
//string jsonString = jsonObject.ToString();
//var str = webApiClientApp.UploadAsync(jsonString);
//result res = JsonConvert.DeserializeObject<result>(str);
//result res = new result()
//{
// status = "0",
// msg = "1"
//};
//MessageBox.Show($"验证调拨单结果,status:{res.status};msg:{res.msg};");
//if(res.status == "0")
//{
// SuccessEvent?.Invoke();
// RefreshTransferOrderInfoEvent?.Invoke(info);
//}
}
}
}
class result
{
public string status { get; set; }
public string msg { get; set; }
public List<TransferOrderInfo> @object { get; set; }
}

@ -0,0 +1,107 @@
using CommunityToolkit.Mvvm.ComponentModel;
using CommunityToolkit.Mvvm.Input;
using SlnMesnac.RfidUpload.Business;
using SlnMesnac.RfidUpload.Model.apiParam;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* T14-GEN3-7895
* SlnMesnac.RfidUpload.UI.viewModel
* a65ccfd9-c493-46c4-9905-7a7d55ef1508
*
* WenJY
*
* 2024-12-06 16:31:16
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace SlnMesnac.RfidUpload.UI.viewModel
{
public partial class containerStorageQueryByCsbViewModel : ObservableObject
{
private readonly Window _window;
#region 委托事件
/// <summary>
/// model-新容器入库-调拨单号验证状态成功1失败-1
/// model-容器封发-验证封发计划接口状态成功2失败-1
/// dbdh-调拨单号
/// status- 1-正常
/// </summary>
/// <param name="status"></param>
/// <param name="dbdh"></param>
public delegate void RefreshSubmitVerifyDelegate(int model,string msg, string dbdh);
public static event RefreshSubmitVerifyDelegate RefreshSubmitVerifyEvent;
#endregion
public containerStorageQueryByCsbViewModel(Window window)
{
_window = window;
}
private CsbHandleBusiness csbHandleBusiness = CsbHandleBusiness.Instance;
public string _dbbh = string.Empty;
public string dbbh
{
get => _dbbh;
set => SetProperty(ref _dbbh, value);
}
public string _rqtmStart = string.Empty;
public string rqtmStart
{
get => _rqtmStart;
set => SetProperty(ref _rqtmStart, value);
}
private string _rqtmEnd = string.Empty;
public string rqtmEnd
{
get => _rqtmEnd;
set
{
_rqtmEnd = value;
OnPropertyChanged(nameof(_rqtmEnd));
}
}
[RelayCommand]
private void Submit()
{
CsbResult res = csbHandleBusiness.containerStorageQueryByCsb(_dbbh, _rqtmStart, _rqtmEnd);
if (res.status == "0" || res.status == "2")
{
MessageBox.Show($"新容器入库-调拨单号验证通过");
RefreshSubmitVerifyEvent?.Invoke(1, res.msg, _dbbh);
_window.Close();
}
else
{
MessageBox.Show($"新容器入库-调拨单号验证失败,status:{res.status};msg:{res.msg};");
}
}
}
}

@ -19,6 +19,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SlnMesnac.RfidUpload.UI", "
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slnmesnac.rfidupload.WebApplication", "slnmesnac.rfidupload.WebApplication\slnmesnac.rfidupload.WebApplication.csproj", "{76E1E241-C83D-4F79-8079-67CDD95E3D9E}"
EndProject
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "slnmesnac.rfidupload.Repository", "slnmesnac.rfidupload.Repository\slnmesnac.rfidupload.Repository.csproj", "{8F0C9BA1-495F-4D97-9B1D-CFC60701D2BE}"
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@ -57,6 +59,10 @@ Global
{76E1E241-C83D-4F79-8079-67CDD95E3D9E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{76E1E241-C83D-4F79-8079-67CDD95E3D9E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{76E1E241-C83D-4F79-8079-67CDD95E3D9E}.Release|Any CPU.Build.0 = Release|Any CPU
{8F0C9BA1-495F-4D97-9B1D-CFC60701D2BE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{8F0C9BA1-495F-4D97-9B1D-CFC60701D2BE}.Debug|Any CPU.Build.0 = Debug|Any CPU
{8F0C9BA1-495F-4D97-9B1D-CFC60701D2BE}.Release|Any CPU.ActiveCfg = Release|Any CPU
{8F0C9BA1-495F-4D97-9B1D-CFC60701D2BE}.Release|Any CPU.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE

@ -0,0 +1,35 @@
using SqlSugar;
using System;
namespace slnmesnac.rfidupload.Repository
{
public class Repository<T> : SimpleClient<T> where T : class, new()
{
public Repository(dynamic configId)
{
/**
* configId
*/
base.Context = SqlSugarHelper.Db.GetConnectionScope(configId);
//.NET自带IOC: base.Context = 你存储的Services.GetService<ISqlSugarClient>();
//Furion: base.Context=App.GetService<ISqlSugarClient>();
//Furion脚手架: base.Context=DbContext.Instance
//SqlSugar.Ioc: base.Context=DbScoped.SugarScope;
//手动去赋值: base.Context=DbHelper.GetDbInstance()
//动态添加
//if (!SqlSugarHelper.Db.IsAnyConnection("用户读出来的数据库ConfigId"))
//{
// SqlSugarHelper.Db.AddConnection(new ConnectionConfig() { 数据库读出来信息 });
//}
//base.Context = SqlSugarHelper.Db.GetConnectionScope("用户读出来的数据库ConfigId");
}
public SqlSugarScope _db()
{
return base.Context as SqlSugarScope;
}
}
}

@ -0,0 +1,77 @@

using SlnMesnac.RfidUpload.NLog;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Text;
#region << 版 本 注 释 >>
/*--------------------------------------------------------------------
* (c) 2024 WenJY
* CLR4.0.30319.42000
* T14-GEN3-7895
* slnmesnac.rfidupload.Repository
* af6b459e-40d9-4e83-97e6-0b17f28044e5
*
* WenJY
*
* 2024-12-06 9:01:34
* V1.0.0
*
*
*--------------------------------------------------------------------
*
*
*
*
* V1.0.0
*--------------------------------------------------------------------*/
#endregion << 版 本 注 释 >>
namespace slnmesnac.rfidupload.Repository
{
internal class SqlSugarHelper
{
#region 连接字符串
/**
* Sqlite:debug
* private static string sqliteConnStr = $"Data Source={Path.GetFullPath("data\\data.db")};Version=3";
*/
private static string sqliteConnStr = "Data Source=Z:\\Desktop\\日常代码\\HighWayIot\\HighWayIot\\bin\\Debug\\data\\data.db;Version=3";
/**
* Mysql
*/
private static string mysqlConnStr = "Data Source=124.70.63.37;Port=6000;Initial Catalog=ry-cloud;uid=root;pwd=haiwei@123;Charset=utf8mb4;SslMode=none";
private static string oracleConnStr = "Data Source=175.27.215.92/helowin;User ID=aucma_mes;Password=aucma";
#endregion
private static LogHelper logHelper = LogHelper.Instance;
//如果是固定多库可以传 new SqlSugarScope(List<ConnectionConfig>,db=>{}) 文档:多租户
//如果是不固定多库 可以看文档Saas分库
//用单例模式
public static SqlSugarScope Db = new SqlSugarScope(new List<ConnectionConfig>()
{
new ConnectionConfig()
{
ConfigId = "sqlite",
ConnectionString = sqliteConnStr,
DbType = DbType.Sqlite,
InitKeyType = InitKeyType.Attribute,
IsAutoCloseConnection = true
}
},
db =>
{
//(A)全局生效配置点
//调试SQL事件可以删掉
db.Aop.OnLogExecuting = (sql, pars) =>
{
//logHelper.SqlLog($"{sql};参数:{jsonChange.ModeToJson(pars)}");
};
});
}
}

@ -0,0 +1,12 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netstandard2.1</TargetFramework>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\SlnMesnac.RfidUpload.Model\SlnMesnac.RfidUpload.Model.csproj" />
<ProjectReference Include="..\SlnMesnac.RfidUpload.NLog\SlnMesnac.RfidUpload.NLog.csproj" />
</ItemGroup>
</Project>

@ -1,17 +1,25 @@
<?xml version="1.0" encoding="utf-8"?>
<?xml version="1.0"?>
<!--
有关如何配置 ASP.NET 应用程序的详细信息,请访问
https://go.microsoft.com/fwlink/?LinkId=169433
-->
<configuration>
<!--
有关 web.config 更改的说明,请参见 http://go.microsoft.com/fwlink/?LinkId=235367。
可在 <httpRuntime> 标记上设置以下特性。
<system.Web>
<httpRuntime targetFramework="4.8" />
</system.Web>
-->
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
<httpRuntime targetFramework="4.5.2" />
<compilation debug="true" targetFramework="4.8"/>
<httpRuntime targetFramework="4.5.2"/>
</system.web>
<system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701"/>
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=2.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+"/>
</compilers>
</system.codedom>
</configuration>

@ -1,4 +1,4 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net452" />
<package id="Microsoft.CodeDom.Providers.DotNetCompilerPlatform" version="2.0.1" targetFramework="net452" requireReinstallation="true" />
</packages>

@ -13,7 +13,7 @@
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>slnmesnac.rfidupload.WebApplication</RootNamespace>
<AssemblyName>slnmesnac.rfidupload.WebApplication</AssemblyName>
<TargetFrameworkVersion>v4.5.2</TargetFrameworkVersion>
<TargetFrameworkVersion>v4.8</TargetFrameworkVersion>
<UseIISExpress>true</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort>44348</IISExpressSSLPort>
@ -23,6 +23,7 @@
<UseGlobalApplicationHostFile />
<NuGetPackageImportStamp>
</NuGetPackageImportStamp>
<TargetFrameworkProfile />
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
@ -44,22 +45,21 @@
</PropertyGroup>
<ItemGroup>
<Reference Include="Microsoft.CSharp" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.DynamicData" />
<Reference Include="System.Web.Entity" />
<Reference Include="System.Web.ApplicationServices" />
<Reference Include="System.ComponentModel.DataAnnotations" />
<Reference Include="System" />
<Reference Include="System.Data" />
<Reference Include="System.Core" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="System.Web.Extensions" />
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Drawing" />
<Reference Include="System.Web" />
<Reference Include="System.Xml" />
<Reference Include="System.Configuration" />
<Reference Include="System.Web.Services" />
<Reference Include="System.EnterpriseServices" />
<Reference Include="System.Xml.Linq" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.CodeDom.Providers.DotNetCompilerPlatform">

Loading…
Cancel
Save