This commit is contained in:
liqionghai
2025-08-24 02:51:25 +08:00
parent 9e4214fdd9
commit 160447703b
14 changed files with 294 additions and 98 deletions

View File

@@ -0,0 +1,46 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Domain.Message.Response.PurOrder
{
public class PurOrderDetilResp
{
public int Fid { get; set; }
/// <summary>
/// 物料名称
/// </summary>
public string MaterialName { get; set; }
///// <summary>
///// 订单编号
///// </summary>
//public string FBILLNO { get; set; }
/// <summary>
/// 采购数量
/// </summary>
public decimal Qty { get; set; }
/// <summary>
/// 总入库数量
/// </summary>
public decimal StockInQty { get; set; }
/// <summary>
/// 总未入库数量
/// </summary>
public decimal RemainStockInQty { get;set; }
/// <summary>
/// 入库比例
/// </summary>
public decimal StockInRate { get; set; }
}
}

View File

@@ -0,0 +1,49 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace MyCode.Project.Domain.Message.Response.PurOrder
{
public class PurOrderMainResp
{
public int Fid { get; set; }
/// <summary>
/// 供应商名称
/// </summary>
public string SupplierName { get; set; }
/// <summary>
/// 订单编号
/// </summary>
public string FBILLNO { get; set; }
/// <summary>
/// 采购日期
/// </summary>
public string FDate { get; set; }
/// <summary>
/// 总数量
/// </summary>
public decimal Qty { get; set; }
/// <summary>
/// 总入库数量
/// </summary>
public decimal StockInQty { get; set; }
/// <summary>
/// 总未入库数量
/// </summary>
public decimal RemainStockInQty { get; set; }
/// <summary>
/// 入库比例
/// </summary>
public decimal StockInRate { get; set; }
}
}

View File

@@ -70,6 +70,8 @@
<Compile Include="Message\Response\Common\ListHeadFieldData.cs" />
<Compile Include="Message\Response\LxmZHMDReport\ReportCalRateResp.cs" />
<Compile Include="Message\Response\LxmZHMDReport\SalOrderResp.cs" />
<Compile Include="Message\Response\PurOrder\PurOrderMainResp.cs" />
<Compile Include="Message\Response\PurOrder\PurOrderDetilResp.cs" />
<Compile Include="Message\Response\Queue\QueueProcess.cs" />
<Compile Include="Message\Response\User\AdminLoginInfo.cs" />
<Compile Include="Message\Response\User\LoginInfo.cs" />
@@ -85,7 +87,7 @@
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Repositories\IApiLogRepository.cs" />
<Compile Include="Repositories\IJackOrdersRepository.cs" />
<Compile Include="Repositories\IPushKingDeeOrderRepository.cs" />
<Compile Include="Repositories\IPurOrderRepository.cs" />
<Compile Include="Repositories\IRepository.cs" />
<Compile Include="Repositories\IRepository`.cs" />
<Compile Include="Repositories\ISysWorkprocessHistoryRepository.cs" />
@@ -113,7 +115,6 @@
</ItemGroup>
<ItemGroup>
<Folder Include="Message\Act\AdminReport\" />
<Folder Include="Message\Response\PurOrder\" />
</ItemGroup>
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<Import Project="$(SolutionDir)\.nuget\NuGet.targets" Condition="Exists('$(SolutionDir)\.nuget\NuGet.targets')" />

View File

@@ -0,0 +1,33 @@
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.Model;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Domain.Message;
using MyCode.Project.Domain.Message.Response.PurOrder;
using MyCode.Project.Domain.Message.Act.Common;
namespace MyCode.Project.Domain.Repositories
{
public interface IPurOrderRepository : IRepository<PushKingDeeOrder>
{
/// <summary>
/// 根据查询参数查询采购订单列表
/// </summary>
/// <param name="search"></param>
/// <returns></returns>
PageResult<PurOrderMainResp> GetPurOrderMain(PagedSearch search);
/// <summary>
/// 根据内码查采购订单明细
/// </summary>
/// <param name="FID"></param>
/// <param name="search"></param>
/// <returns></returns>
PageResult<PurOrderDetilResp> GetPurOrderDetil(PagedSearch<IdAct> search);
}
}

View File

@@ -1,30 +0,0 @@
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.Model;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Domain.Message;
namespace MyCode.Project.Domain.Repositories
{
public interface IPushKingDeeOrderRepository : IRepository<PushKingDeeOrder>
{
///// <summary>
///// 根据行数查询采购订单列表
///// </summary>
///// <param name="PageSize"></param>
///// <returns></returns>
//PageResult<PurOrderMainResp> PurOrderMainQuery(int PageSize);
///// <summary>
///// 根据内码查采购订单明细
///// </summary>
///// <param name="FID"></param>
///// <returns></returns>
//PageResult<PurOrderDetilResp> PurOrderDetilQuery(int FID);
}
}

View File

@@ -90,7 +90,7 @@
<Compile Include="Lxm\LxmReportRepository.cs" />
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Common\Repository.cs" />
<Compile Include="PushKingDeeOrderRepository.cs" />
<Compile Include="PurOrderRepository.cs" />
<Compile Include="SysWorkprocessHistoryRepository.cs" />
<Compile Include="YTKJTShopParameterRepository.cs" />
</ItemGroup>

View File

@@ -0,0 +1,76 @@
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.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Search;
using MyCode.Project.Domain.Message.Response.PurOrder;
using MyCode.Project.Domain.Message.Act.Common;
namespace MyCode.Project.Repositories
{
public class PurOrderRepository: Repository<PushKingDeeOrder>, IPurOrderRepository
{
public PurOrderRepository(MyCodeSqlSugarClient context) : base(context)
{ }
public PageResult<PurOrderMainResp> GetPurOrderMain(PagedSearch search)
{
SearchCondition where = new SearchCondition();
//where.AddSqlCondition("a.FDOCUMENTSTATUS='C' ", true);
where.AddSqlCondition("1 = 1 ", true);
string sql = $@"
SELECT *,a.StockInQty/a.Qty AS 'StockInRate'
FROM(
SELECT a.FID AS 'Fid',C.FNAME AS 'SupplierName',a.FBILLNO,FORMAT(a.FDATE,'yyyy-MM-dd') AS 'FDate',SUM(D.FQTY) AS 'Qty',SUM(E.FSTOCKINQTY) AS'StockInQty'
,SUM(E.FREMAINSTOCKINQTY) AS 'RemainStockInQty'
FROM t_PUR_POOrder A WITH(NOLOCK)
LEFT JOIN T_BD_SUPPLIER Cccc WITH(NOLOCK) ON Cccc.FSUPPLIERID= A.FSUPPLIERID
LEFT JOIN T_BD_SUPPLIER_L C WITH(NOLOCK) ON C.FSUPPLIERID= A.FSUPPLIERID AND C.FLOCALEID= 2052
LEFT JOIN t_PUR_POOrderEntry D WITH(NOLOCK) ON A.FID = D.FID
LEFT JOIN t_PUR_POOrderEntry_R E WITH(NOLOCK) ON E.FENTRYID = D.FENTRYID
GROUP BY a.FID,C.FNAME,a.FBILLNO,a.FDATE
) a";
var list = this.SelectListPage<PurOrderMainResp>(sql, where, search.Page, search.PageSize, $@"FDate desc ");
return list;
}
public PageResult<PurOrderDetilResp> GetPurOrderDetil(PagedSearch<IdAct> search)
{
SearchCondition where = new SearchCondition();
//where.AddSqlCondition("a.FDOCUMENTSTATUS='C' ", true);
where.AddSqlCondition($"A.Fid = {search.Condition.Id} ", true);
string sql = $@"
SELECT A.FID AS 'Fid',C.FNAME AS 'MaterialName',D.FQTY AS 'Qty',E.FSTOCKINQTY AS'StockInQty',E.FREMAINSTOCKINQTY AS 'RemainStockInQty',E.FSTOCKINQTY/D.FQTY AS 'StockInRate'
FROM t_PUR_POOrder A WITH(NOLOCK)
LEFT JOIN t_PUR_POOrderEntry D WITH(NOLOCK) ON A.FID = D.FID
LEFT JOIN t_PUR_POOrderEntry_R E WITH(NOLOCK) ON E.FENTRYID = D.FENTRYID
LEFT JOIN T_BD_MATERIAL_L C WITH(NOLOCK) ON C.FMATERIALID = D.FMATERIALID AND C.FLOCALEID= 2052
WHERE 1=1
AND A.Fid = {search.Condition.Id} ";
//var list = this.SelectListPage<PurOrderDetilResp>(sql, where, search.Page, search.PageSize, $@"Fid desc ");
var result = new PageResult<PurOrderDetilResp>();
result.DataList = this.SelectList<PurOrderDetilResp>(sql);
result.TotalCount = result.DataList.Count;
return result;
}
}
}

View File

@@ -1,26 +0,0 @@
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.Model;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.Search;
namespace MyCode.Project.Repositories
{
public class PushKingDeeOrderRepository: Repository<PushKingDeeOrder>, IPushKingDeeOrderRepository
{
public PushKingDeeOrderRepository(MyCodeSqlSugarClient context) : base(context)
{ }
}
}

View File

@@ -1,10 +0,0 @@
using MyCode.Project.Infrastructure.JackYun;
namespace MyCode.Project.Services
{
public interface ILiQiongHaiService
{
}
}

View File

@@ -0,0 +1,15 @@
using MyCode.Project.Domain.Message.Act.Common;
using MyCode.Project.Domain.Message.Response.PurOrder;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
namespace MyCode.Project.Services
{
public interface IPurOrderService
{
PageResult<PurOrderMainResp> GetPurMain(PagedSearch search);
PageResult<PurOrderDetilResp> GetPurDetil(PagedSearch<IdAct> search);
}
}

View File

@@ -1,21 +0,0 @@
using MyCode.Project.Domain.Message.Request.JackYun;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
using System;
namespace MyCode.Project.Services.Implementation
{
public class LiQiongHaiService : ServiceBase //, ILiQiongHaiService
{
private IPushKingDeeOrderRepository _pushKingDeeOrderRepository;
public LiQiongHaiService(IPushKingDeeOrderRepository pushKingDeeOrderRepository)
{
_pushKingDeeOrderRepository = pushKingDeeOrderRepository;
}
}
}

View File

@@ -0,0 +1,31 @@
using MyCode.Project.Domain.Message.Act.Common;
using MyCode.Project.Domain.Message.Request.JackYun;
using MyCode.Project.Domain.Message.Response.PurOrder;
using MyCode.Project.Domain.Repositories;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Infrastructure.JackYun;
using System;
namespace MyCode.Project.Services.Implementation
{
public class PurOrderService : ServiceBase , IPurOrderService
{
private IPurOrderRepository _pushKingDeeOrderRepository;
public PurOrderService(IPurOrderRepository pushKingDeeOrderRepository)
{
_pushKingDeeOrderRepository = pushKingDeeOrderRepository;
}
public PageResult<PurOrderMainResp> GetPurMain(PagedSearch search)
{
return _pushKingDeeOrderRepository.GetPurOrderMain(search);
}
public PageResult<PurOrderDetilResp> GetPurDetil(PagedSearch<IdAct> search)
{
return _pushKingDeeOrderRepository.GetPurOrderDetil(search);
}
}
}

View File

@@ -116,13 +116,13 @@
<Compile Include="Implementation\AnsyDataProcessService.cs" />
<Compile Include="Implementation\ApiLogService.cs" />
<Compile Include="Implementation\ZhuBinService.cs" />
<Compile Include="Implementation\LiQiongHaiService.cs" />
<Compile Include="Implementation\PurOrderService.cs" />
<Compile Include="Implementation\YuyuboService.cs" />
<Compile Include="Implementation\ReportService.cs" />
<Compile Include="Implementation\QueueProcessService.cs" />
<Compile Include="Implementation\WebSocketService.cs" />
<Compile Include="IServices\IAnsyDataProcessService.cs" />
<Compile Include="IServices\ILiQiongHaiService.cs" />
<Compile Include="IServices\IPurOrderService.cs" />
<Compile Include="IServices\IZhuBinService.cs" />
<Compile Include="IServices\IYuyuboService.cs" />
<Compile Include="IServices\IApiLogService.cs" />

View File

@@ -1,4 +1,9 @@
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Domain.Message.Act.Common;
using MyCode.Project.Domain.Message.Response.PurOrder;
using MyCode.Project.Infrastructure.Common;
using MyCode.Project.Services;
using MyCode.Project.Services.Implementation;
using System;
using System.Web.Http;
namespace MyCode.Project.WebApi.Controllers
@@ -7,14 +12,41 @@ namespace MyCode.Project.WebApi.Controllers
/// 测试接口
/// </summary>
public class TestController : BaseAPIController
{
public TestController( )
{
IPurOrderService _PurOrderService;
public TestController(IPurOrderService purOrderService)
{
_PurOrderService = purOrderService;
}
public TestController()
{
}
#region
/// <summary>
/// 测试采购看板
/// </summary>
[HttpPost]
[AllowAnonymous]
public PageResult<PurOrderMainResp> GetPurOrderMain(PagedSearch search)
{
return _PurOrderService.GetPurMain(search);
}
/// <summary>
/// 测试采购看板
/// </summary>
[HttpPost]
[AllowAnonymous]
public PageResult<PurOrderDetilResp> GetPurOrderDetil(PagedSearch<IdAct> search)
{
return _PurOrderService.GetPurDetil(search);
}
#endregion
//#region AESEncrypt(AES加密)
///// <summary>