From 99b9a65b3cdede66e883cf30d89ee86233f95f94 Mon Sep 17 00:00:00 2001
From: yuyubo <1870149533@qq.com>
Date: Sat, 12 Jul 2025 16:58:00 +0800
Subject: [PATCH] 12
---
.../DbMaintenance/SqlServerDbMaintenance.cs | 1 +
.../Config/SystemConfig.cs | 2 +-
.../MyCode.Project.Domain.csproj | 4 +
.../WMStoJackyunInventoryMovementView1.cs | 147 ++++++++++++++++++
...JackyunInventoryMovementView1Repository.cs | 19 +++
.../{LxmRepository`.cs => WMSRepository.cs} | 6 +-
...SqlSugarClient.cs => WMSSqlSugarClient.cs} | 6 +-
.../Lxm/LxmReportRepository.cs | 16 --
.../MyCode.Project.Repositories.csproj | 13 +-
...JackyunInventoryMovementView1Repository.cs | 36 +++++
.../IServices/IWMSService.cs | 19 +++
.../Implementation/ApiLogService.cs | 4 +-
.../Implementation/WMSService.cs | 93 +++++++++++
.../MyCode.Project.Services.csproj | 2 +
.../Controllers/TestController.cs | 21 ++-
Reportapi/MyCode.Project.WebApi/Web.config | 2 +-
.../App.config | 4 +-
.../Program.cs | 6 +-
.../Template/TemplateForRepository.cs | 4 +-
19 files changed, 366 insertions(+), 39 deletions(-)
create mode 100644 Reportapi/MyCode.Project.Domain/ZHMDModel/WMStoJackyunInventoryMovementView1.cs
create mode 100644 Reportapi/MyCode.Project.Domain/ZHMDRepositories/IWMStoJackyunInventoryMovementView1Repository.cs
rename Reportapi/MyCode.Project.Repositories/Common/{LxmRepository`.cs => WMSRepository.cs} (97%)
rename Reportapi/MyCode.Project.Repositories/Common/{LxmSqlSugarClient.cs => WMSSqlSugarClient.cs} (79%)
delete mode 100644 Reportapi/MyCode.Project.Repositories/Lxm/LxmReportRepository.cs
create mode 100644 Reportapi/MyCode.Project.Repositories/ZHMD/WMStoJackyunInventoryMovementView1Repository.cs
create mode 100644 Reportapi/MyCode.Project.Services/IServices/IWMSService.cs
create mode 100644 Reportapi/MyCode.Project.Services/Implementation/WMSService.cs
diff --git a/Reportapi/FrameWork/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs b/Reportapi/FrameWork/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs
index 20716c1..323a96d 100644
--- a/Reportapi/FrameWork/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs
+++ b/Reportapi/FrameWork/SqlSugar/Realization/SqlServer/DbMaintenance/SqlServerDbMaintenance.cs
@@ -13,6 +13,7 @@ namespace SqlSugar
get
{
return "SELECT NAME FROM MASTER.DBO.SYSDATABASES ORDER BY NAME";
+ //return "SELECT name FROM sys.objects WHERE type = 'V' ORDER BY name";
}
}
protected override string GetColumnInfosByTableNameSql
diff --git a/Reportapi/MyCode.Project.Domain/Config/SystemConfig.cs b/Reportapi/MyCode.Project.Domain/Config/SystemConfig.cs
index ff30b39..7b1d915 100644
--- a/Reportapi/MyCode.Project.Domain/Config/SystemConfig.cs
+++ b/Reportapi/MyCode.Project.Domain/Config/SystemConfig.cs
@@ -20,7 +20,7 @@ namespace MyCode.Project.Domain.Config
///
/// B数据库链接对象
///
- public static string LxmConnectionStr =WebConfigUtils.GetConnectionStringsInfo("WMSConn");
+ public static string WMSConnectionStr =WebConfigUtils.GetConnectionStringsInfo("WMSConn");
///
/// JWT的key
diff --git a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
index 8f0f052..f440296 100644
--- a/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
+++ b/Reportapi/MyCode.Project.Domain/MyCode.Project.Domain.csproj
@@ -80,6 +80,7 @@
+
@@ -87,6 +88,9 @@
+
+
+
diff --git a/Reportapi/MyCode.Project.Domain/ZHMDModel/WMStoJackyunInventoryMovementView1.cs b/Reportapi/MyCode.Project.Domain/ZHMDModel/WMStoJackyunInventoryMovementView1.cs
new file mode 100644
index 0000000..387bf74
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/ZHMDModel/WMStoJackyunInventoryMovementView1.cs
@@ -0,0 +1,147 @@
+using System;
+using System.Linq;
+using System.Text;
+using SqlSugar;
+
+namespace MyCode.Project.Domain.ZHMDModel
+{
+ ///
+ ///
+ ///
+ [SugarTable("WMStoJackyun_InventoryMovement_View1")]
+ public partial class WMStoJackyunInventoryMovementView1
+ {
+ public WMStoJackyunInventoryMovementView1(){
+
+
+ }
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:False
+ ///
+ [SugarColumn(IsPrimaryKey=true,IsIdentity=true)]
+ public int Id {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string WMS单号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public long? 单据行号 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据类型 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单据类型名称 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 变动方向 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string ITEMID {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string SKU {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string BARCODE {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 尺码 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 单位 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 商品名称 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public int? 数量 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 仓库 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public DateTime? 过账日期 {get;set;}
+
+ ///
+ /// Desc:
+ /// Default:
+ /// Nullable:True
+ ///
+ public string 备注 {get;set;}
+
+ ///
+ /// Desc:0=未处理 1=已合并 2=已推送
+ /// Default:0
+ /// Nullable:True
+ ///
+ [SugarColumn(ColumnName="status")]
+ public int? Status {get;set;}
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Domain/ZHMDRepositories/IWMStoJackyunInventoryMovementView1Repository.cs b/Reportapi/MyCode.Project.Domain/ZHMDRepositories/IWMStoJackyunInventoryMovementView1Repository.cs
new file mode 100644
index 0000000..e27d24d
--- /dev/null
+++ b/Reportapi/MyCode.Project.Domain/ZHMDRepositories/IWMStoJackyunInventoryMovementView1Repository.cs
@@ -0,0 +1,19 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Infrastructure;
+using MyCode.Project.Domain;
+using MyCode.Project.Domain.ZHMDModel;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Domain.Message;
+
+namespace MyCode.Project.Domain.Repositories.ZHMDRepositories
+{
+ public interface IWMStoJackyunInventoryMovementView1Repository
+ {
+ List GetList(DateTime now);
+
+ }
+}
diff --git a/Reportapi/MyCode.Project.Repositories/Common/LxmRepository`.cs b/Reportapi/MyCode.Project.Repositories/Common/WMSRepository.cs
similarity index 97%
rename from Reportapi/MyCode.Project.Repositories/Common/LxmRepository`.cs
rename to Reportapi/MyCode.Project.Repositories/Common/WMSRepository.cs
index 9107101..cef6799 100644
--- a/Reportapi/MyCode.Project.Repositories/Common/LxmRepository`.cs
+++ b/Reportapi/MyCode.Project.Repositories/Common/WMSRepository.cs
@@ -24,12 +24,12 @@ using System.Data;
namespace MyCode.Project.Repositories.Common
{
- public class LxmRepository :IDisposable
+ public class WMSRepository :IDisposable
{
#region 初始化
- private LxmSqlSugarClient _context;
+ private WMSSqlSugarClient _context;
- public LxmRepository(LxmSqlSugarClient context)
+ public WMSRepository(WMSSqlSugarClient context)
{
this._context = context;
diff --git a/Reportapi/MyCode.Project.Repositories/Common/LxmSqlSugarClient.cs b/Reportapi/MyCode.Project.Repositories/Common/WMSSqlSugarClient.cs
similarity index 79%
rename from Reportapi/MyCode.Project.Repositories/Common/LxmSqlSugarClient.cs
rename to Reportapi/MyCode.Project.Repositories/Common/WMSSqlSugarClient.cs
index e99317c..cad7ad8 100644
--- a/Reportapi/MyCode.Project.Repositories/Common/LxmSqlSugarClient.cs
+++ b/Reportapi/MyCode.Project.Repositories/Common/WMSSqlSugarClient.cs
@@ -9,17 +9,17 @@ using MyCode.Project.Infrastructure.Cache;
namespace MyCode.Project.Repositories.Common
{
- public class LxmSqlSugarClient : SqlSugar.SqlSugarClient
+ public class WMSSqlSugarClient : SqlSugar.SqlSugarClient
{
- public LxmSqlSugarClient() : base(config)
+ public WMSSqlSugarClient() : base(config)
{
}
private static ConnectionConfig config = new ConnectionConfig()
{
- ConnectionString = SystemConfig.LxmConnectionStr,
+ ConnectionString = SystemConfig.WMSConnectionStr,
DbType = DbType.SqlServer,
InitKeyType = InitKeyType.Attribute,
IsAutoCloseConnection = true,
diff --git a/Reportapi/MyCode.Project.Repositories/Lxm/LxmReportRepository.cs b/Reportapi/MyCode.Project.Repositories/Lxm/LxmReportRepository.cs
deleted file mode 100644
index 0dbde44..0000000
--- a/Reportapi/MyCode.Project.Repositories/Lxm/LxmReportRepository.cs
+++ /dev/null
@@ -1,16 +0,0 @@
-using MyCode.Project.Repositories.Common;
-
-namespace MyCode.Project.Repositories
-{
- public class LxmReportRepository: LxmRepository
- {
- public LxmReportRepository(LxmSqlSugarClient context) : base(context)
- { }
-
-
-
-
-
-
- }
-}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj b/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
index 73676a7..cd40e89 100644
--- a/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
+++ b/Reportapi/MyCode.Project.Repositories/MyCode.Project.Repositories.csproj
@@ -80,18 +80,19 @@
-
+
+
-
+
-
-
+
+
@@ -115,7 +116,9 @@
-
+
+
+
diff --git a/Reportapi/MyCode.Project.Repositories/ZHMD/WMStoJackyunInventoryMovementView1Repository.cs b/Reportapi/MyCode.Project.Repositories/ZHMD/WMStoJackyunInventoryMovementView1Repository.cs
new file mode 100644
index 0000000..9c7dd36
--- /dev/null
+++ b/Reportapi/MyCode.Project.Repositories/ZHMD/WMStoJackyunInventoryMovementView1Repository.cs
@@ -0,0 +1,36 @@
+using MyCode.Project.Repositories.Common;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using MyCode.Project.Domain.Message;
+using MyCode.Project.Domain.ZHMDModel;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Search;
+using MyCode.Project.Domain.Repositories.ZHMDRepositories;
+
+namespace MyCode.Project.Repositories.ZHMD
+{
+ public class WMStoJackyunInventoryMovementView1Repository: WMSRepository,IWMStoJackyunInventoryMovementView1Repository
+ {
+ public WMStoJackyunInventoryMovementView1Repository(WMSSqlSugarClient context) : base(context)
+ { }
+
+
+
+
+ public List GetList(DateTime now)
+ {
+ now = now.Date;
+ string sql = $@"select TOP 100 * from [WMStoJackyun_InventoryMovement_View]
+ where [过账日期]>='{now}'
+ ORDER BY [单据号],[单据行号]";
+ var list = this.SelectList(sql);
+ return list;
+ }
+
+
+
+ }
+}
\ No newline at end of file
diff --git a/Reportapi/MyCode.Project.Services/IServices/IWMSService.cs b/Reportapi/MyCode.Project.Services/IServices/IWMSService.cs
new file mode 100644
index 0000000..890c6dd
--- /dev/null
+++ b/Reportapi/MyCode.Project.Services/IServices/IWMSService.cs
@@ -0,0 +1,19 @@
+using MyCode.Project.Domain.ZHMDModel;
+using MyCode.Project.Repositories.Common;
+using System;
+using System.Collections.Generic;
+
+namespace MyCode.Project.Services
+{
+ public interface IWMSService
+ {
+
+ ///
+ /// 把WMS订单存进本地数据库
+ ///
+ ///
+
+ void SetWMSOrder(List trades);
+ List GetList(DateTime now);
+ }
+}
diff --git a/Reportapi/MyCode.Project.Services/Implementation/ApiLogService.cs b/Reportapi/MyCode.Project.Services/Implementation/ApiLogService.cs
index 7c8d0c6..31e47da 100644
--- a/Reportapi/MyCode.Project.Services/Implementation/ApiLogService.cs
+++ b/Reportapi/MyCode.Project.Services/Implementation/ApiLogService.cs
@@ -9,13 +9,13 @@ namespace MyCode.Project.Services.Implementation
#region 初始化
private readonly IRepository _repository;
- private readonly LxmRepository _lxmRepository;
+ private readonly WMSRepository _lxmRepository;
private IMyCodeCacheService _myCodeCacheService;
public ApiLogService(IRepository repository
- , LxmRepository lxmRepository
+ , WMSRepository lxmRepository
, IMyCodeCacheService myCodeCacheService
)
{
diff --git a/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs b/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs
new file mode 100644
index 0000000..9e8422a
--- /dev/null
+++ b/Reportapi/MyCode.Project.Services/Implementation/WMSService.cs
@@ -0,0 +1,93 @@
+using MyCode.Project.Domain.Message.Request.JackYun;
+using MyCode.Project.Domain.Model;
+using MyCode.Project.Domain.Repositories;
+using MyCode.Project.Domain.Repositories.ZHMDRepositories;
+using MyCode.Project.Domain.ZHMDModel;
+using MyCode.Project.Infrastructure.Common;
+using MyCode.Project.Infrastructure.Enumeration;
+using MyCode.Project.Infrastructure.Exceptions;
+using MyCode.Project.Infrastructure.JackYun;
+using MyCode.Project.Repositories;
+using MyCode.Project.Repositories.Common;
+using MyCode.Project.Repositories.ZHMD;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Threading;
+
+namespace MyCode.Project.Services.Implementation
+{
+ public class WMSService : ServiceBase , IWMSService
+ {
+ DateTime startTime = DateTime.Parse("2025-06-01");
+
+ private IWMStoJackyunInventoryMovementView1Repository _wMStoJackyunInventoryMovementView3Repository;
+ private IRepository _repository;
+
+ public WMSService(IWMStoJackyunInventoryMovementView1Repository wMStoJackyunInventoryMovementView3Repository, IRepository repository )
+ {
+ _wMStoJackyunInventoryMovementView3Repository = wMStoJackyunInventoryMovementView3Repository;
+ _repository = repository;
+ }
+
+
+ public List GetList(DateTime now)
+ {
+ if (now < startTime)
+ now = startTime;
+ var list= _wMStoJackyunInventoryMovementView3Repository.GetList(now);
+ SetWMSOrder(list);
+ return list;
+
+ }
+
+ #region SetWMSOrder(把WMS订单存进本地数据库)
+ ///
+ /// 把WMS订单存进本地数据库
+ ///
+ ///
+ [TransactionCallHandler]
+ public void SetWMSOrder(List trades)
+ {
+ var ids = trades.Select(t => t.单据号).ToList();
+ var oldids = _repository.Queryable().Where(t => ids.Contains(t.单据号))
+ .Select(t => new { t.单据号, t.单据行号 }).ToList();
+ if (oldids.Count > 0)
+ {
+ //trades = (from p in trades
+ // join k in oldids on new { p.WMS单号, p.单据行号 } equals new { k.WMS单号, k.单据行号 }
+ // where k.单据行号 == null
+ // select p).ToList();
+
+ // 方法1:使用左外连接(推荐 - 高效且符合SQL思维)
+ trades = (
+ from p in trades
+ join k in oldids
+ on new { p.单据号, p.单据行号 }
+ equals new { k.单据号, k.单据行号 }
+ into temp
+ from k in temp.DefaultIfEmpty()
+ where k == null // 只保留未匹配的记录
+ select p
+ ).ToList();
+
+ //// 方法2:使用Any()进行条件过滤(更简洁)
+ //var excludedTrades = trades
+ // .Where(p => !oldids.Any(k =>
+ // k.WMS单号 == p.WMS单号 &&
+ // k.单据行号 == p.单据行号))
+ // .ToList();
+
+
+ //trades = trades.Where(t => !oldids.Contains(new { t.WMS单号, t.单据行号 })).ToList();
+ }
+
+ _repository.Add(trades);
+
+
+ }
+ #endregion
+ }
+
+
+}
diff --git a/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj b/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj
index b4b61b2..632ff7a 100644
--- a/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj
+++ b/Reportapi/MyCode.Project.Services/MyCode.Project.Services.csproj
@@ -115,6 +115,7 @@
+
@@ -122,6 +123,7 @@
+
diff --git a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs
index 2b66f25..36ece42 100644
--- a/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs
+++ b/Reportapi/MyCode.Project.WebApi/Controllers/TestController.cs
@@ -4,6 +4,7 @@ using MyCode.Project.Services;
using System.Collections.Generic;
using System;
using System.Web.Http;
+using MyCode.Project.Domain.ZHMDModel;
namespace MyCode.Project.WebApi.Controllers
{
@@ -14,9 +15,13 @@ namespace MyCode.Project.WebApi.Controllers
{
private IJackYunTaskService _jackYunTaskService;
- public TestController(IJackYunTaskService jackYunTaskService)
+ private IWMSService _wMSService;
+
+
+ public TestController(IJackYunTaskService jackYunTaskService, IWMSService wMSService )
{
_jackYunTaskService = jackYunTaskService;
+ _wMSService = wMSService;
}
#region 调度运行抓吉客云销售订单
@@ -32,6 +37,20 @@ namespace MyCode.Project.WebApi.Controllers
}
#endregion
+
+ #region 抓WMS订单
+ ///
+ /// 抓WMS订单
+ ///
+ [HttpGet]
+ [AllowAnonymous]
+ public List GetList(DateTime now)
+ {
+ return _wMSService.GetList(now);
+ }
+ #endregion
+
+
//#region 订单查询
/////
diff --git a/Reportapi/MyCode.Project.WebApi/Web.config b/Reportapi/MyCode.Project.WebApi/Web.config
index d5401bf..03b64d9 100644
--- a/Reportapi/MyCode.Project.WebApi/Web.config
+++ b/Reportapi/MyCode.Project.WebApi/Web.config
@@ -25,7 +25,7 @@
-
+
diff --git a/Reportapi/MyCode.Project.ZHMDGenerateCode/App.config b/Reportapi/MyCode.Project.ZHMDGenerateCode/App.config
index 65eb285..8ad43d7 100644
--- a/Reportapi/MyCode.Project.ZHMDGenerateCode/App.config
+++ b/Reportapi/MyCode.Project.ZHMDGenerateCode/App.config
@@ -10,8 +10,8 @@
-
-
+
+
diff --git a/Reportapi/MyCode.Project.ZHMDGenerateCode/Program.cs b/Reportapi/MyCode.Project.ZHMDGenerateCode/Program.cs
index 4c3d53e..e4dbad8 100644
--- a/Reportapi/MyCode.Project.ZHMDGenerateCode/Program.cs
+++ b/Reportapi/MyCode.Project.ZHMDGenerateCode/Program.cs
@@ -19,11 +19,11 @@ namespace MyCode.Project.GenerateCode
//要生成的仓储和实体对象,不用整个库全部生成,只生成想要的就行
var listTalbeName = new List()
- { "BasShop","BusSalesServiceSetIdBook"};
+ { "WMStoJackyun_InventoryMovement_View1"};
- using (var db = new LxmSqlSugarClient())
+ using (var db = new WMSSqlSugarClient())
{
- var tables = db.DbMaintenance.GetTableInfoList();
+ var tables = db.DbMaintenance.GetTableInfoList(false);
var solutionPath = FileUtils.GetSolutionPath();
diff --git a/Reportapi/MyCode.Project.ZHMDGenerateCode/Template/TemplateForRepository.cs b/Reportapi/MyCode.Project.ZHMDGenerateCode/Template/TemplateForRepository.cs
index 6e82e5a..fdb2b85 100644
--- a/Reportapi/MyCode.Project.ZHMDGenerateCode/Template/TemplateForRepository.cs
+++ b/Reportapi/MyCode.Project.ZHMDGenerateCode/Template/TemplateForRepository.cs
@@ -27,9 +27,9 @@ using MyCode.Project.Domain.Repositories.ZHMDRepositories;
namespace MyCode.Project.Repositories.ZHMD
{{
- public class {ClassName}Repository: LxmRepository,I{ClassName}Repository
+ public class {ClassName}Repository: WMSRepository,I{ClassName}Repository
{{
- public {ClassName}Repository(LxmSqlSugarClient context) : base(context)
+ public {ClassName}Repository(WMSSqlSugarClient context) : base(context)
{{ }}