Commit cda74cdc by Seniorious

除湿机

parent fc40bd0a
......@@ -4,7 +4,9 @@
<TargetFramework>net6.0</TargetFramework>
<Nullable>enable</Nullable>
<ImplicitUsings>enable</ImplicitUsings>
<ApplicationIcon>平台.ico</ApplicationIcon>
<ApplicationIcon>平台.ico</ApplicationIcon>
<PlatformTarget>AnyCPU</PlatformTarget>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<ItemGroup>
......@@ -28,6 +30,7 @@
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="6.0.3" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="6.0.2" />
<PackageReference Include="NLog.Web.AspNetCore" Version="5.3.4" />
<PackageReference Include="Quartz" Version="3.8.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.2.3" />
</ItemGroup>
......@@ -37,6 +40,12 @@
</ItemGroup>
<ItemGroup>
<Reference Include="JmpDehumidifierLib">
<HintPath>..\Lib\JmpDehumidifierLib.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Content Update="appsettings.json">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</Content>
......
......@@ -40,9 +40,13 @@ namespace APIs.Controllers
private readonly IInvService _invService;
private readonly IUsersService _usersService;
private readonly ILogService _logService;
private readonly IDevHistoryService _devHistoryService;
private readonly IDevService _devService;
public BaseInfoController(IMapper mapper,IPoliceService policeService, IEquipmentTypeService equipmentTypeService,
IEquipmentSizeService equipmentSizeService,ICarService carService, IInventoryService inventoryService,
IInvService invService, IUsersService usersService, ILogService logService)
IInvService invService, IUsersService usersService, ILogService logService, IDevHistoryService devHistoryService,
IDevService devService)
{
_carService = carService;
_equipmentSizeService = equipmentSizeService;
......@@ -52,6 +56,8 @@ namespace APIs.Controllers
_invService = invService;
_usersService = usersService;
_logService = logService;
_devHistoryService = devHistoryService;
_devService = devService;
Mapper = mapper;
}
......

{
"iisSettings": {
"windowsAuthentication": true,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5133",
"sslPort": 5133
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"profiles": {
"IIS Express": {
"commandName": "IISExpress",
......@@ -29,5 +18,14 @@
},
"applicationUrl": "http://localhost:5133;http://localhost:5143;"
}
},
"$schema": "http://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": true,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:5133",
"sslPort": 5133
}
}
}
}
\ No newline at end of file
......@@ -18,6 +18,9 @@ using Common.Utility.RabbitMQ;
using Common.Global;
using System.Xml.Linq;
using Microsoft.AspNetCore.Mvc;
using Quartz.Impl;
using Quartz;
using APIs.TimedTasks;
namespace APIs
{
......@@ -63,6 +66,11 @@ namespace APIs
services.AddScoped<IInventoryService, InventoryService>();
services.AddScoped<IInvService, InvService>();
services.AddScoped<IUsersService, UsersService>();
services.AddScoped<IPrintService, PrintService>();
services.AddScoped<IOrderService, OrderService>();
services.AddScoped<IThisInfoService, ThisInfoService>();
services.AddScoped<IDevService, DevService>();
services.AddScoped<IDevHistoryService, DevHistoryService>();
#endregion
#region Repository
......@@ -76,13 +84,28 @@ namespace APIs
services.AddScoped<IInvSummaryRepository, InvSummaryRepository>();
services.AddScoped<IInvDetailRepository, InvDetailRepository>();
services.AddScoped<IUsersRepository, UsersRepository>();
services.AddScoped<IOrderMainRepository, OrderMainRepository>();
services.AddScoped<IOrderDetailRepository, OrderDetailRepository>();
services.AddScoped<IPrintSummaryRepository, PrintSummaryRepository>();
services.AddScoped<IPrintDetailRepository, PrintDetailRepository>();
services.AddScoped<IThisInfoRepository, ThisInfoRepository>();
services.AddScoped<IDevRepository, DevRepository>();
services.AddScoped<IDevHistoryRepository, DevHistoryRepository>();
#endregion
#region 注册RabbitMQ消费者
services.AddHostedService<RabbitMQCustomContext>();
//services.AddHostedService<RabbitMQCustomContext>();
#endregion
#region 定时任务
//注册ISchedulerFactory的实例
services.AddSingleton<ISchedulerFactory, StdSchedulerFactory>();
#endregion
#region 后台常驻任务
services.AddSingleton<IHostedService, DehumidifierTask>();
#endregion
#region 初始化全局配置信息
......
using AutoMapper;
using Common;
using Quartz;
using Services.Interface;
using JmpDehumidifierLib;
using Models.Table;
using static JmpDehumidifierLib.Dehumidifier;
namespace APIs.TimedTasks
{
public class DehumidifierTask : IHostedService
{
//private readonly ILogger<DehumidifierTask> _logger;
public IMapper Mapper { get; }
private readonly IDevHistoryService _devHistoryService;
private readonly IDevService _devService;
public DehumidifierTask(IMapper mapper, IDevHistoryService devHistoryService, IDevService devService/*ILogger<DehumidifierTask> logger*/)
{
_devHistoryService = devHistoryService;
_devService = devService;
Mapper = mapper;
//_logger = logger;
}
Dictionary<string, Dehumidifier> devList = new Dictionary<string, Dehumidifier>();
public Task StartAsync(CancellationToken cancellationToken)
{
//_logger.LogInformation("订阅事件开始");
//开启本组织机构下所有除湿机并订阅温湿度变化事件
try
{
List<Dev>? devs = _devService.Query().Result;
if (devs != null)
{
devList = devs.Select(s => new { Key = s.devIp, Value = new Dehumidifier(s.devIp, Convert.ToInt32(s.devPort)) })
.ToDictionary(s => s.Key, s => s.Value);
var openIpList = devs.Where(s => s.setState == 1).Select(s => s.devIp).ToList();
foreach (var item in devList)
{
if (openIpList.Contains(item.Key))
{
if (item.Value.Open())
{
try//避免影响设备温湿度获取
{
var mySetSd = devs.FirstOrDefault(s => s.devIp.Equals(item.Key))?.setSd;
if (!string.IsNullOrEmpty(mySetSd))
{
item.Value.SetHumid((byte)Convert.ToInt32(mySetSd));
}
}catch (Exception ex) { }
item.Value.OnStatusChanged += new Dehumidifier.StatusChanged(OnStatusChanged);
}
}
else
{
item.Value.Close();
}
}
}
}
catch (Exception ex)
{
//异常处理
}
return Task.CompletedTask;
}
private Dictionary<string, DevHistory> DevHistoryDic = new Dictionary<string, DevHistory>();
private async void OnStatusChanged(MachineStatus args)
{
if (args.ErrorCode == 0)
{
var devIp = args.ip;
var warehouseWd = args.Temp.ToString(); // 室内温度
var warehouseSd = args.Humid.ToString(); // 室内湿度
var devState = args.IsWorking ? 1 : 0;
var devPort = args.port.ToString();
var myDev = (await _devService.Query()).FirstOrDefault(s => s.devIp.Equals(devIp));
if (myDev != null)
{
DevHistory record = new DevHistory()
{
warehouseId = myDev.warehouseId,
devCode = myDev.devCode,
devIp = devIp,
devPort = devPort,
devName = myDev.devName,
devId = myDev.id,
devState = devState,
warehouseSd = warehouseSd,
warehouseWd = warehouseWd,
setSd = myDev.setSd,
createTime = DateTime.Now,
};
if (DevHistoryDic.TryGetValue(devIp, out DevHistory thisHistory))
{
if(thisHistory.warehouseWd.Equals(record.warehouseWd)
&& thisHistory.warehouseSd.Equals(record.warehouseSd)
&& thisHistory.devState == record.devState)
{
return;
}
else
{
DevHistoryDic[devIp] = record;
}
}
else
{
DevHistoryDic.Add(record.devIp, record);
}
await _devHistoryService.Add(record);
myDev.updateTime = DateTime.Now;
myDev.devState = devState;
myDev.warehouseSd = warehouseSd;
myDev.warehouseWd = warehouseWd;
await _devService.Update(myDev);
}
Thread.Sleep(10000);
}
else
{
foreach (var item in devList)
{
if (item.Key.Equals(args.ip))
{
Dehumidifier dev = new Dehumidifier(args.ip, args.port);
devList.Remove(item.Key);
devList.Add(args.ip, dev);
if (dev.Open())
{
dev.OnStatusChanged += new Dehumidifier.StatusChanged(OnStatusChanged);
}
}
}
}
}
public Task StopAsync(CancellationToken cancellationToken)
{
//_logger.LogInformation("订阅事件结束");
// TODO: 在这里取消订阅事件
return Task.CompletedTask;
}
}
}
......@@ -9,7 +9,7 @@
"Launch": "http://*:5233;http://*:5243",
"AllowedHosts": "*",
"ConnectionStrings": {
"MySQL": "server=192.168.3.128;port=3306;Database=xuzhou;Uid=root;Pwd=123456;"
"MySQL": "server=192.168.3.128;port=3306;Database=pw;Uid=root;Pwd=123456;"
//RabbitMQ配置
},
......
......@@ -4,18 +4,27 @@
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="LitJson" Version="0.19.0" />
<PackageReference Include="Microsoft.Extensions.Hosting.Abstractions" Version="7.0.0" />
<PackageReference Include="Microsoft.IdentityModel.Tokens" Version="6.8.0" />
<PackageReference Include="Newtonsoft.Json" Version="13.0.3" />
<PackageReference Include="RabbitMQ.Client" Version="6.5.0" />
<PackageReference Include="System.IdentityModel.Tokens.Jwt" Version="6.8.0" />
<PackageReference Include="System.Management" Version="8.0.0" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\Services\Services.csproj" />
</ItemGroup>
<ItemGroup>
<Reference Include="JmpDehumidifierLib">
<HintPath>..\Lib\JmpDehumidifierLib.dll</HintPath>
</Reference>
</ItemGroup>
</Project>
using AutoMapper;
using JmpDehumidifierLib;
using LitJson;
using Models.Table;
using Services;
using Services.Interface;
using System;
using System.Collections;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Management;
using System.Net;
using System.ServiceProcess;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
namespace Common
{
public class DehumidifierHelper
{
public IMapper Mapper { get; }
private readonly IDevHistoryService _devHistoryService;
private readonly IDevService _devService;
public DehumidifierHelper(IMapper mapper,IDevHistoryService devHistoryService, IDevService devService)
{
_devHistoryService = devHistoryService;
_devService = devService;
Mapper = mapper;
}
Dictionary<string, Dehumidifier> devList = new Dictionary<string, Dehumidifier>();
public async void OnStart()
{
try
{
List<Dev>? devs = await _devService.Query();
if(devs != null)
{
devList = devs.Select(s => new { Key = s.devIp, Value = new Dehumidifier(s.devIp, Convert.ToInt32(s.devPort)) })
.ToDictionary(s => s.Key, s => s.Value);
var openIpList = devs.Where(s => s.devState == 1).Select(s => s.devIp).ToList();
foreach (var item in devList)
{
if (openIpList.Contains(item.Key))
{
if (item.Value.Open())
{
item.Value.OnStatusChanged += new Dehumidifier.StatusChanged(OnStatusChanged);
}
}
else
{
item.Value.Close();
}
}
}
}
catch (Exception ex)
{
//异常处理
}
}
//控制设备
private void ContorlDev(int isOpen,int Humid, string devIp = "")
{
try
{
if (string.IsNullOrEmpty(devIp))
{
foreach (var item in devList)
{
item.Value.SetHumid((byte)Humid);//设定湿度
if (isOpen == 1)
{
item.Value.OpenMachine(true);
}
if (isOpen == 0)
{
item.Value.OpenMachine(false);
}
}
}
else
{
if (devList.TryGetValue(devIp, out Dehumidifier dehumidifier))
{
dehumidifier.SetHumid((byte)Humid);//设定湿度
if (isOpen == 1)
{
dehumidifier.OpenMachine(true);
}
if (isOpen == 0)
{
dehumidifier.OpenMachine(false);
}
}
}
}
catch (Exception ex)
{
}
}
private async void OnStatusChanged(MachineStatus args)
{
if (args.ErrorCode == 0)
{
var devIp = args.ip;
var warehouseWd = args.Temp.ToString(); // 室内温度
var warehouseSd = args.Humid.ToString(); // 室内湿度
var devState = args.IsWorking ? 1 : 0;
var devPort = args.port.ToString();
//string data = "{'devCode':'" + devCode + "','devIp':'" + devIp + "','warehouseWd':'" + warehouseWd + "','warehouseSd':'" + warehouseSd + "','devState':'" + devState + "'}";
//保存数据
var myDev = (await _devService.Query()).FirstOrDefault(s => s.devIp.Equals(devIp));
if(myDev != null)
{
DevHistory record = new DevHistory()
{
warehouseId = myDev.warehouseId,
devCode = myDev.devCode,
devIp = devIp,
devPort = devPort,
devName = myDev.devName,
devId = myDev.id,
devState = devState,
warehouseSd = warehouseSd,
warehouseWd = warehouseWd,
setSd = myDev.setSd,
createTime = DateTime.Now,
};
await _devHistoryService.Add(record);
}
}
else
{
foreach (var item in devList)
{
if (item.Key.Equals(args.ip))
{
Dehumidifier dev = new Dehumidifier(args.ip, args.port);
devList.Remove(item.Key);
devList.Add(args.ip, dev);
if (dev.Open())
{
dev.OnStatusChanged += new Dehumidifier.StatusChanged(OnStatusChanged);
}
}
}
}
}
public static string GetMacAddress()
{
try
{
string mac = "";
ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration");
ManagementObjectCollection moc = mc.GetInstances();
foreach (ManagementObject mo in moc)
{
if ((bool)mo["IPEnabled"] == true)
{
mac = mo["MacAddress"].ToString();
break;
}
}
return mac;
}
catch
{
return "unknow";
}
}
public static string GetHttpRqst(string strUrl, string json = "")
{
try
{
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(strUrl);
request.Method = "POST";
if (!string.IsNullOrEmpty(json))
{
request.ContentType = "application/json";
byte[] data = Encoding.UTF8.GetBytes(json);
request.ContentLength = data.Length;
using (Stream reqStream = request.GetRequestStream())
{
reqStream.Write(data, 0, data.Length);
reqStream.Close();
}
}
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream responseStream = response.GetResponseStream();
StreamReader streamReader = new StreamReader(responseStream, Encoding.UTF8);
string retString = streamReader.ReadToEnd();
streamReader.Close();
responseStream.Close();
response.Close();
return retString;
}
catch (Exception ex)
{
return string.Empty;
}
}
public static string getKey(JsonData data, string key)
{
if (JsonDataContainsKey(data, key))
{
if (data[key] == null)
{
return "";
}
else
{
return data[key].ToString();
}
}
else
{
return "";
}
}
public static bool JsonDataContainsKey(JsonData data, string key)
{
bool result = false;
if (data == null)
return result;
if (!data.IsObject)
{
return result;
}
IDictionary tdictionary = data as IDictionary;
if (tdictionary == null)
return result;
if (tdictionary.Contains(key))
{
result = true;
}
return result;
}
}
}
......@@ -4,6 +4,7 @@
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<ItemGroup>
......
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models.Table
{
[SugarTable("base_warehouse_dev")]
public class Dev : BaseTable
{
[SugarColumn(IsPrimaryKey = true)]
public string id { get; set; }
[SugarColumn(ColumnName = "warehouse_id")]
public string warehouseId { get; set; }
[SugarColumn(ColumnName = "dev_ip")]
public string devIp { get; set; }
[SugarColumn(ColumnName = "dev_port")]
public string devPort { get; set; }
[SugarColumn(ColumnName = "dev_name")]
public string devName { get; set; }
[SugarColumn(ColumnName = "dev_code")]
public string devCode { get; set; }
[SugarColumn(ColumnName = "warehouse_sd")]
public string warehouseSd { get; set; }
[SugarColumn(ColumnName = "warehouse_wd")]
public string warehouseWd { get; set; }
[SugarColumn(ColumnName = "set_state")]
public int? setState { get; set; }
[SugarColumn(ColumnName = "dev_state")]
public int? devState { get; set; }
[SugarColumn(ColumnName = "set_sd")]
public string setSd { get; set; }
}
}
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models.Table
{
[SugarTable("base_warehouse_dev_history")]
public class DevHistory
{
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
public long id { get; set; }
[SugarColumn(ColumnName = "dev_id")]
public string devId { get; set; }
[SugarColumn(ColumnName = "warehouse_id")]
public string warehouseId { get; set; }
[SugarColumn(ColumnName = "dev_ip")]
public string devIp { get; set; }
[SugarColumn(ColumnName = "dev_port")]
public string devPort { get; set; }
[SugarColumn(ColumnName = "dev_name")]
public string devName { get; set; }
[SugarColumn(ColumnName = "dev_code")]
public string devCode { get; set; }
[SugarColumn(ColumnName = "warehouse_sd")]
public string warehouseSd { get; set; }
[SugarColumn(ColumnName = "warehouse_wd")]
public string warehouseWd { get; set; }
[SugarColumn(ColumnName = "dev_state")]
public int? devState { get; set; }
[SugarColumn(ColumnName = "set_sd")]
public string setSd { get; set; }
[SugarColumn(ColumnName = "create_time")]
public DateTime? createTime { get; set; }
}
}
......@@ -22,7 +22,7 @@ namespace Models.Table
[SugarColumn(ColumnName = "type_id")]
public String? typeId { get; set; }
[SugarColumn(ColumnName = "name")]
public String? typeName { get; set; }
public String? name { get; set; }
public String? note { get; set; }
......
......@@ -26,6 +26,9 @@ namespace Models.SqlModel
[SugarColumn(ColumnName = "parent_id")]
public String? parentId { get; set; }
[SugarColumn(ColumnName = "parent_ids")]
public String? parentIds { get; set; }
public String? state { get; set; }
public String? note { get; set; }
......
......@@ -13,35 +13,52 @@ namespace Models.Table
{
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
public String id { get; set; }
[SugarColumn(ColumnName = "type_id")]
public String typeId { get; set; }
[SugarColumn(ColumnName = "size_id")]
public String sizeId { get; set; }
[SugarColumn(ColumnName = "supplier_id")]
public String supplierId { get; set; }
public String epc { get; set; }
[SugarColumn(ColumnName = "org_id")]
public String orgId { get; set; }
public String state { get; set; }
[SugarColumn(ColumnName = "bussiness_state")]
public String bussinessState { get; set; }
[SugarColumn(ColumnName = "production_date")]
public DateTime? productionDate { get; set; }
[SugarColumn(ColumnName = "warranty_period")]
public String warrantyPeriod { get; set; }
[SugarColumn(ColumnName = "maintenance_period")]
public String maintenancePeriod { get; set; }
[SugarColumn(ColumnName = "fix_count")]
public String fixCount { get; set; }
[SugarColumn(ColumnName = "location_id")]
public String locationId { get; set; }
[SugarColumn(ColumnName = "location_type")]
public String locationType { get; set; }
[SugarColumn(ColumnName = "lost_flag")]
public String lostFlag { get; set; }
public String price { get; set; }
[SugarColumn(ColumnName = "type_name")]
public String typeName { get; set; }
[SugarColumn(ColumnName = "size_name")]
public String sizeName { get; set; }
}
......
......@@ -12,22 +12,52 @@ namespace Models.Table
public class LogDetail : BaseTable
{
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
public int id { get; set; }
[SugarColumn(ColumnName = "inventory_id")]
public int inventoryId { get; set; }
[SugarColumn(ColumnName = "summary_id")]
public int summaryId { get; set; }
public String epc { get; set; }
[SugarColumn(ColumnName = "equipment_name")]
public String? equipmentName { get; set; }
[SugarColumn(ColumnName = "equipment_size")]
public String? equipmentSize { get; set; }
[SugarColumn(ColumnName = "equipment_type_id")]
public String? equipmentTypeId { get; set; }
[SugarColumn(ColumnName = "equipment_size_id")]
public String? equipmentSizeId { get; set; }
[SugarColumn(ColumnName = "error_state")]
public int? errorState { get; set; }
public int? state { get; set; }
[SugarColumn(ColumnName = "car_id")]
public int? carid { get; set; }
[SugarColumn(ColumnName = "error_msg")]
public string? errorMsg { get; set; }
[SugarColumn(ColumnName = "order_id")]
public String? orderId { get; set; }
[SugarColumn(ColumnName = "order_code")]
public String? orderCode { get; set; }
[SugarColumn(ColumnName = "supplier_id")]
public String? supplierId { get; set; }
[SugarColumn(ColumnName = "supplier_name")]
public String? supplierName { get; set; }
[SugarColumn(ColumnName = "equipment_type")]
public int? equipmentType { get; set; }
[SugarColumn(ColumnName = "price")]
public decimal? price { get; set; }
}
}
......@@ -13,22 +13,52 @@ namespace Models.Table
public class LogSummary : BaseTable
{
[SugarColumn(IsIdentity = true, IsPrimaryKey = true)]
public int id { get; set; }
[SugarColumn(ColumnName = "cabinet_id")]
public String cabinet_id { get; set; }
public String cabinetId { get; set; }
public int type { get; set; }
[SugarColumn(ColumnName = "user_name")]
public String? userName { get; set; }
public String? equipments { get; set; }
[SugarColumn(ColumnName = "use_time")]
public DateTime? useTime { get; set; }
[SugarColumn(ColumnName = "plan_id")]
public String? planId { get; set; }
[SugarColumn(ColumnName = "plan_name")]
public String? planName { get; set; }
[SugarColumn(ColumnName = "order_id")]
public String? orderId { get; set; }
[SugarColumn(ColumnName = "order_code")]
public String? orderCode { get; set; }
[SugarColumn(ColumnName = "bussiness_type")]
public String? bussinessType { get; set; }
[SugarColumn(ColumnName = "device")]
public String? device { get; set; }
[SugarColumn(ColumnName = "device_type")]
public int? device_type { get; set; }
[SugarColumn(ColumnName = "location_id")]
public String? locationId { get; set; }
[SugarColumn(ColumnName = "location_name")]
public String? locationName { get; set; }
[SugarColumn(ColumnName = "out_in_state")]
public String? outInState { get; set; }
public String? picture { get; set; }
public int? number { get; set; }
public int? isUpload { get; set; }
public decimal? price { get; set; }
[Navigate(NavigateType.OneToMany, nameof(LogDetail.summaryId))]
......
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models.Table
{
[SugarTable("bussiness_order_detail")]
public class OrderDetail : BaseTable
{
[SugarColumn(IsPrimaryKey = true)]
public string id { get; set; }
[SugarColumn(ColumnName = "order_id")]
public string orderId { get; set; }
[SugarColumn(ColumnName = "equipment_type")]
public string equipmentType { get; set; }
[SugarColumn(ColumnName = "equipment_type_name")]
public string equipmentTypeName { get; set; }
[SugarColumn(ColumnName = "equipment_size")]
public string equipmentSize { get; set; }
[SugarColumn(ColumnName = "equipment_size_name")]
public string equipmentSizeName { get; set; }
[SugarColumn(ColumnName = "equipment_supplier")]
public string equipmentSupplier { get; set; }
[SugarColumn(ColumnName = "equipment_supplier_name")]
public string equipmentSupplierName { get; set; }
[SugarColumn(ColumnName = "plan_num")]
public int? planNum { get; set; }
[SugarColumn(ColumnName = "actual_num")]
public int? actualNum { get; set; }
public decimal? price { get; set; }
}
}
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models.Table
{
[SugarTable("bussiness_order_main")]
public class OrderMain : BaseTable
{
[SugarColumn(IsPrimaryKey = true)]
public string id { get; set; }
[SugarColumn(ColumnName = "order_type")]
public string orderType { get; set; }
[SugarColumn(ColumnName = "bussiness_type")]
public string bussinessType { get; set; }
[SugarColumn(ColumnName = "order_code")]
public string orderCode { get; set; }
[SugarColumn(ColumnName = "start_org_id")]
public long? startOrgId { get; set; }
[SugarColumn(ColumnName = "start_org_name")]
public string startOrgName { get; set; }
[SugarColumn(ColumnName = "end_org_id")]
public long? endOrgId { get; set; }
[SugarColumn(ColumnName = "end_org_name")]
public string endOrgName { get; set; }
[SugarColumn(ColumnName = "supplier_name")]
public string supplierName { get; set; }
[SugarColumn(ColumnName = "start_org_user_id")]
public string startOrgUserId { get; set; }
[SugarColumn(ColumnName = "start_org_user_name")]
public string startOrgUserName { get; set; }
[SugarColumn(ColumnName = "end_org_user_id")]
public string endOrgUserId { get; set; }
[SugarColumn(ColumnName = "end_org_user_name")]
public string endOrgUserName { get; set; }
public decimal? price { get; set; }
[SugarColumn(ColumnName = "inventory_quantity")]
public int? inventoryQuantity { get; set; }
[SugarColumn(ColumnName = "actual_quantity")]
public int? actualQuantity { get; set; }
[SugarColumn(ColumnName = "order_state")]
public int? orderState { get; set; }
[SugarColumn(ColumnName = "attachment_location")]
public string attachmentLocation { get; set; }
[SugarColumn(ColumnName = "inv_list")]
public string invList { get; set; }
public string note { get; set; }
[SugarColumn(ColumnName = "form_item")]
public string formItem { get; set; }
[SugarColumn(ColumnName = "return_data")]
public string returnData { get; set; }
[SugarColumn(ColumnName = "use_date")]
public DateTime? useDate { get; set; }
[SugarColumn(ColumnName = "create_user")]
public string createUser { get; set; }
[SugarColumn(ColumnName = "update_user")]
public string updateUser { get; set; }
public int? isUpload { get; set; }
[Navigate(NavigateType.OneToMany, nameof(OrderDetail.orderId))]
public List<OrderDetail> DetailList { get; set; } = new List<OrderDetail>();
}
}
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models.Table
{
[SugarTable("print_task_detail")]
public class PrintDetail : BaseTable
{
[SugarColumn(IsPrimaryKey = true)]
public string id { get; set; }
[SugarColumn(ColumnName = "order_id")]
public string orderId { get; set; }
[SugarColumn(ColumnName = "type_id")]
public string typeId { get; set; }
[SugarColumn(ColumnName = "type_name")]
public string typeName { get; set; }
[SugarColumn(ColumnName = "size_id")]
public string sizeId { get; set; }
[SugarColumn(ColumnName = "size_name")]
public string sizeName { get; set; }
[SugarColumn(ColumnName = "supplier_id")]
public string supplierId { get; set; }
[SugarColumn(ColumnName = "supplier_name")]
public string supplierName { get; set; }
[SugarColumn(ColumnName = "plan_num")]
public int? planNum { get; set; }
[SugarColumn(ColumnName = "actual_num")]
public int? actualNum { get; set; }
[SugarColumn(ColumnName = "over_num")]
public int? overNum { get; set; }
public decimal? price { get; set; }
[SugarColumn(ColumnName = "production_date")]
public DateTime? productionDate { get; set; }
[SugarColumn(ColumnName = "warranty_period")]
public int? warrantyPeriod { get; set; }
[SugarColumn(ColumnName = "maintenance_period")]
public int? maintenancePeriod { get; set; }
}
}
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models.Table
{
[SugarTable("print_task_summary")]
public class PrintSummary : BaseTable
{
[SugarColumn(IsPrimaryKey = true)]
public string id { get; set; }
[SugarColumn(ColumnName = "bussiness_type")]
public string bussinessType { get; set; }
[SugarColumn(ColumnName = "order_code")]
public string orderCode { get; set; }
[SugarColumn(ColumnName = "plan_num")]
public int? planNum { get; set; }
[SugarColumn(ColumnName = "actual_num")]
public int? actualNum { get; set; }
[SugarColumn(ColumnName = "over_num")]
public int? overNum { get; set; }
[SugarColumn(ColumnName = "inv_list")]
public string invList { get; set; }
public int? state { get; set; }
[Navigate(NavigateType.OneToMany, nameof(PrintDetail.orderId))]
public List<PrintDetail> DetailList { get; set; } = new List<PrintDetail>();
}
}
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Models.Table
{
[SugarTable("this_info")]
public class ThisInfo
{
[SugarColumn(IsPrimaryKey = true, ColumnName = "org_id")]
public String orgId { get; set; }
[SugarColumn(ColumnName = "org_name")]
public String orgName { get; set; }
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.IRepository.IBussiness
{
public interface IDevHistoryRepository : IBaseRepository<DevHistory>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.IRepository.IBussiness
{
public interface IDevRepository : IBaseRepository<Dev>
{
}
}
......@@ -11,11 +11,6 @@ namespace Repositories.IRepository.IBussiness
{
public interface ILogSummaryRepository : IBaseRepository<LogSummary>
{
/// <summary>
///
/// </summary>
/// <param name="model"></param>
/// <returns></returns>
Task<bool> AddLogs(LogSummary model, List<Inventory> invs, List<Car> cars);
Task<bool> AddHandLogs(LogSummary model, List<Inventory> invs);
......
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.IRepository.IBussiness
{
public interface IOrderDetailRepository : IBaseRepository<OrderDetail>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.IRepository.IBussiness
{
public interface IOrderMainRepository : IBaseRepository<OrderMain>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.IRepository.IBussiness
{
public interface IPrintDetailRepository : IBaseRepository<PrintDetail>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.IRepository.IBussiness
{
public interface IPrintSummaryRepository : IBaseRepository<PrintSummary>
{
}
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Models.Table;
namespace Repositories.IRepository.IBussiness
{
public interface IThisInfoRepository : IBaseRepository<ThisInfo>
{
}
}
......@@ -4,6 +4,7 @@
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<ItemGroup>
......
using Models.Table;
using Repositories.IRepository.IBussiness;
using Repositories.IRepository.IUnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.Repository.Bussiness
{
public class DevHistoryRepository : BaseRepository<DevHistory>, IDevHistoryRepository
{
public DevHistoryRepository(ILocalSugarUnitOfWork sugarUnitOfWork) : base(sugarUnitOfWork)
{
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Repositories.IRepository.IUnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.Repository.Bussiness
{
public class DevRepository : BaseRepository<Dev>, IDevRepository
{
public DevRepository(ILocalSugarUnitOfWork sugarUnitOfWork) : base(sugarUnitOfWork)
{
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Repositories.IRepository.IUnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.Repository.Bussiness
{
public class OrderDetailRepository : BaseRepository<OrderDetail>, IOrderDetailRepository
{
public OrderDetailRepository(ILocalSugarUnitOfWork sugarUnitOfWork) : base(sugarUnitOfWork)
{
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Repositories.IRepository.IUnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.Repository.Bussiness
{
public class OrderMainRepository : BaseRepository<OrderMain>, IOrderMainRepository
{
public OrderMainRepository(ILocalSugarUnitOfWork sugarUnitOfWork) : base(sugarUnitOfWork)
{
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Repositories.IRepository.IUnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.Repository.Bussiness
{
public class PrintDetailRepository : BaseRepository<PrintDetail>, IPrintDetailRepository
{
public PrintDetailRepository(ILocalSugarUnitOfWork sugarUnitOfWork) : base(sugarUnitOfWork)
{
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Repositories.IRepository.IUnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.Repository.Bussiness
{
public class PrintSummaryRepository : BaseRepository<PrintSummary>, IPrintSummaryRepository
{
public PrintSummaryRepository(ILocalSugarUnitOfWork sugarUnitOfWork) : base(sugarUnitOfWork)
{
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Repositories.IRepository.IUnitOfWork;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Repositories.Repository.Bussiness
{
public class ThisInfoRepository : BaseRepository<ThisInfo>, IThisInfoRepository
{
public ThisInfoRepository(ILocalSugarUnitOfWork sugarUnitOfWork) : base(sugarUnitOfWork)
{
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Services.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services
{
public class DevHistoryService : BaseService<DevHistory>, IDevHistoryService
{
private readonly IDevHistoryRepository _DevHistoryRepository;
public DevHistoryService(IDevHistoryRepository DevHistoryRepository)
{
base.BaseDal = DevHistoryRepository;
_DevHistoryRepository = DevHistoryRepository;
}
}
}
using Models.Table;
using Repositories.IRepository.IBussiness;
using Services.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services
{
public class DevService : BaseService<Dev>, IDevService
{
private readonly IDevRepository _DevRepository;
public DevService(IDevRepository DevRepository)
{
base.BaseDal = DevRepository;
_DevRepository = DevRepository;
}
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services.Interface
{
public interface IDevHistoryService : IBaseServices<DevHistory>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services.Interface
{
public interface IDevService : IBaseServices<Dev>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services.Interface
{
public interface IOrderService : IBaseServices<OrderMain>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services.Interface
{
public interface IPrintService : IBaseServices<PrintSummary>
{
}
}
using Models.Table;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services.Interface
{
public interface IThisInfoService : IBaseServices<ThisInfo>
{
}
}
......@@ -40,7 +40,6 @@ namespace Services
logdetail.createTime = DateTime.Now;
logdetail.updateTime = DateTime.Now;
logdetail.state = model.outInState;
logdetail.errorMsg = item.errorMsg;
log.DetailList.Add(logdetail);
}
......@@ -66,7 +65,6 @@ namespace Services
logdetail.createTime = DateTime.Now;
logdetail.updateTime = DateTime.Now;
logdetail.state = item.outInState;
logdetail.errorMsg = item.errorMsg;
log.DetailList.Add(logdetail);
}
}
......@@ -80,7 +78,6 @@ namespace Services
logdetail.equipmentName = item.carName;
logdetail.equipmentSize = item.carNumber;
logdetail.state = item.outInState;
logdetail.errorMsg = item.errorMsg;
log.DetailList.Add(logdetail);
}
}
......
using AutoMapper;
using Models.Table;
using Repositories.IRepository.IBussiness;
using Services.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services
{
public class OrderService : BaseService<OrderMain>, IOrderService
{
private readonly IOrderMainRepository _OrderMainRepository;
private readonly IOrderDetailRepository _OrderDetailRepository;
public IMapper mapper;
public OrderService(IOrderMainRepository OrderMainRepository, IOrderDetailRepository OrderDetailepository, IMapper _mapper)
{
base.BaseDal = OrderMainRepository;
_OrderMainRepository = OrderMainRepository;
_OrderDetailRepository = OrderDetailepository;
mapper = _mapper;
}
}
}
using AutoMapper;
using Models.Table;
using Repositories.IRepository.IBussiness;
using Services.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services
{
public class PrintService : BaseService<PrintSummary>, IPrintService
{
private readonly IPrintSummaryRepository _PrintSummaryRepository;
private readonly IPrintDetailRepository _PrintDetailRepository;
public IMapper mapper;
public PrintService(IPrintSummaryRepository PrintSummaryRepository, IPrintDetailRepository PrintDetailepository, IMapper _mapper)
{
base.BaseDal = PrintSummaryRepository;
_PrintSummaryRepository = PrintSummaryRepository;
_PrintDetailRepository = PrintDetailepository;
mapper = _mapper;
}
}
}
......@@ -4,6 +4,7 @@
<TargetFramework>net6.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<Platforms>AnyCPU;x86</Platforms>
</PropertyGroup>
<ItemGroup>
......
using AutoMapper;
using Models.Table;
using Repositories.IRepository.IBussiness;
using Services.Interface;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Services
{
public class ThisInfoService : BaseService<ThisInfo>, IThisInfoService
{
private readonly IThisInfoRepository _ThisInfoRepository;
public ThisInfoService(IThisInfoRepository ThisInfoRepository)
{
base.BaseDal = ThisInfoRepository;
_ThisInfoRepository = ThisInfoRepository;
}
}
}
......@@ -21,29 +21,51 @@ EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Debug|Any CPU.Build.0 = Debug|Any CPU
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Debug|x86.ActiveCfg = Debug|x86
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Debug|x86.Build.0 = Debug|x86
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Release|Any CPU.ActiveCfg = Release|Any CPU
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Release|Any CPU.Build.0 = Release|Any CPU
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Release|x86.ActiveCfg = Release|x86
{50472AC8-0769-43FD-9559-DFAF7C616B47}.Release|x86.Build.0 = Release|x86
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Debug|Any CPU.Build.0 = Debug|Any CPU
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Debug|x86.ActiveCfg = Debug|x86
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Debug|x86.Build.0 = Debug|x86
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Release|Any CPU.ActiveCfg = Release|Any CPU
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Release|Any CPU.Build.0 = Release|Any CPU
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Release|x86.ActiveCfg = Release|x86
{7E5B59D3-5DFA-460F-8DC4-C2A10C7E555E}.Release|x86.Build.0 = Release|x86
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Debug|Any CPU.Build.0 = Debug|Any CPU
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Debug|x86.ActiveCfg = Debug|x86
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Debug|x86.Build.0 = Debug|x86
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Release|Any CPU.ActiveCfg = Release|Any CPU
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Release|Any CPU.Build.0 = Release|Any CPU
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Release|x86.ActiveCfg = Release|x86
{73D6C350-8596-424A-B52B-D5DEBEE196C4}.Release|x86.Build.0 = Release|x86
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Debug|Any CPU.Build.0 = Debug|Any CPU
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Debug|x86.ActiveCfg = Debug|x86
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Debug|x86.Build.0 = Debug|x86
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Release|Any CPU.ActiveCfg = Release|Any CPU
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Release|Any CPU.Build.0 = Release|Any CPU
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Release|x86.ActiveCfg = Release|x86
{076E47FF-99EB-4C5B-82D8-272AD9DBE6AC}.Release|x86.Build.0 = Release|x86
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Debug|Any CPU.Build.0 = Debug|Any CPU
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Debug|x86.ActiveCfg = Debug|x86
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Debug|x86.Build.0 = Debug|x86
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Release|Any CPU.ActiveCfg = Release|Any CPU
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Release|Any CPU.Build.0 = Release|Any CPU
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Release|x86.ActiveCfg = Release|x86
{094E8D69-7AFA-4C76-9419-83F1DFF4944D}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论