From 72eebf5edb734e6be571c915a860392d43dba6a1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9C=B1=E6=96=8C?= <1324361213@qq.com> Date: Wed, 30 Jul 2025 16:50:24 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E9=94=80=E5=94=AE=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E8=8E=B7=E5=8F=96=E6=94=B6=E6=AC=BE=E9=87=91=E9=A2=9D?= =?UTF-8?q?API?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- GZ_LTHPilot_ORDER.csproj | 18 ++- .../Kingdee.BOS.ServiceFacade.KDServiceFx.dll | Bin 0 -> 151088 bytes Models/K3Request/ReportDataParam.cs | 44 ++++++ Models/K3Result/KingdeeResult.cs | 15 ++ Models/K3Result/ListResult.cs | 25 +++ .../K3Result/Model/K3CloudResponseStatus.cs | 35 +++++ Models/K3Result/Model/K3CloudResult.cs | 53 +++++++ Models/K3Result/Model/K3CloudResultInfo.cs | 21 +++ Models/K3Result/Model/K3CloudSuccessEntity.cs | 25 +++ Models/VO/SaleExecuteOut.cs | 18 +++ Service/SaleOrderService.cs | 47 ------ Services/SaleOrderService.cs | 144 ++++++++++++++++++ {Service => Services}/SaleSicsService.cs | 0 WebApiService/SaleOrderApiService.cs | 39 +++++ 14 files changed, 435 insertions(+), 49 deletions(-) create mode 100644 Library/Kingdee.BOS.ServiceFacade.KDServiceFx.dll create mode 100644 Models/K3Request/ReportDataParam.cs create mode 100644 Models/K3Result/KingdeeResult.cs create mode 100644 Models/K3Result/ListResult.cs create mode 100644 Models/K3Result/Model/K3CloudResponseStatus.cs create mode 100644 Models/K3Result/Model/K3CloudResult.cs create mode 100644 Models/K3Result/Model/K3CloudResultInfo.cs create mode 100644 Models/K3Result/Model/K3CloudSuccessEntity.cs create mode 100644 Models/VO/SaleExecuteOut.cs delete mode 100644 Service/SaleOrderService.cs create mode 100644 Services/SaleOrderService.cs rename {Service => Services}/SaleSicsService.cs (100%) create mode 100644 WebApiService/SaleOrderApiService.cs diff --git a/GZ_LTHPilot_ORDER.csproj b/GZ_LTHPilot_ORDER.csproj index 977a5ac..e5d80ea 100644 --- a/GZ_LTHPilot_ORDER.csproj +++ b/GZ_LTHPilot_ORDER.csproj @@ -132,6 +132,10 @@ ..\..\派诺-斌哥\git\6、程序\GZ_KD_Parino\dll\Kingdee.BOS.DataEntity.dll + + False + Library\Kingdee.BOS.ServiceFacade.KDServiceFx.dll + ..\..\派诺-斌哥\git\6、程序\GZ_KD_Parino\dll\Kingdee.BOS.ServiceHelper.dll @@ -328,6 +332,14 @@ + + + + + + + + @@ -337,8 +349,8 @@ - - + + @@ -362,6 +374,7 @@ + @@ -379,6 +392,7 @@ + diff --git a/Library/Kingdee.BOS.ServiceFacade.KDServiceFx.dll b/Library/Kingdee.BOS.ServiceFacade.KDServiceFx.dll new file mode 100644 index 0000000000000000000000000000000000000000..24234a8f47f6a86066c574ab29cebdbe13ce6939 GIT binary patch literal 151088 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 xdyYI76-5$GjT)s%&K9 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ʦNEu5yxjzm1DzzvF<10UKns)0nRo^p1(W5Zz#th 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 Y*#j*LBF0>6PHeHxuZJe)$};Ky0g6e37XSbN literal 0 HcmV?d00001 diff --git a/Models/K3Request/ReportDataParam.cs b/Models/K3Request/ReportDataParam.cs new file mode 100644 index 0000000..64b39ce --- /dev/null +++ b/Models/K3Request/ReportDataParam.cs @@ -0,0 +1,44 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GZ_LTHPilot_ORDER.Models.K3Request +{ + + + public class ReportDataParam + { + public bool ReturnJsonData { get; set; } + public string FieldKeys { get; set; } + public string SchemeId { get; set; } + public int StartRow { get; set; } + public int Limit { get; set; } + public bool IsVerifyBaseDataField { get; set; } + public object[] FilterString { get; set; } + public Model Model { get; set; } + } + + public class Model + { + public string FSaleOrgList { get; set; } + public DateTime FSoFromDate { get; set; } + public DateTime FSoToDate { get; set; } + + public string FSaleOFrom { get; set; } + public string FSaleOTo { get; set; } + public string FFormCloseStatus { get; set; } + public string FFormStatus { get; set; } + public string FPriceFrom { get; set; } + public string FBusCloseStatus { get; set; } + public bool FMergingSOHeader { get; set; } + public bool FIncludedUnfilledOrders { get; set; } + public bool FIsRecWithMat { get; set; } + public string FSuite { get; set; } + public string FSetAccountType { get; set; } + public bool FIsGroup { get; set; } + public bool FIncludedFree { get; set; } + } + +} diff --git a/Models/K3Result/KingdeeResult.cs b/Models/K3Result/KingdeeResult.cs new file mode 100644 index 0000000..6a6592b --- /dev/null +++ b/Models/K3Result/KingdeeResult.cs @@ -0,0 +1,15 @@ +using GZ_LTHPilot_ORDER.Models.K3Result.Model; + +namespace GZ_LTHPilot_ORDER.Models.K3Result +{ + ///

+ /// 金蝶云星空返回类 + /// + public class KingdeeResult + { + /// + /// 返回对象 + /// + public K3CloudResult Result { get; set; } + } +} diff --git a/Models/K3Result/ListResult.cs b/Models/K3Result/ListResult.cs new file mode 100644 index 0000000..f2d2ea5 --- /dev/null +++ b/Models/K3Result/ListResult.cs @@ -0,0 +1,25 @@ +using System.Collections.Generic; + +namespace GZ_LTHPilot_ORDER.Models.K3Result +{ + /// + /// 列表查询输出类 + /// + public class ListResult + { + + /// + /// 列表 + /// + public List List { get; set; } + + /// + /// 构造函数 + /// + /// + public ListResult(List list) + { + List = list; + } + } +} diff --git a/Models/K3Result/Model/K3CloudResponseStatus.cs b/Models/K3Result/Model/K3CloudResponseStatus.cs new file mode 100644 index 0000000..dd7def9 --- /dev/null +++ b/Models/K3Result/Model/K3CloudResponseStatus.cs @@ -0,0 +1,35 @@ +using System.Collections.Generic; + +namespace GZ_LTHPilot_ORDER.Models.K3Result.Model +{ + /// + /// 响应对象 + /// + public class K3CloudResponseStatus + { + /// + /// 错误代码 + /// + public int ErrorCode { get; set; } + /// + /// 是否成功 + /// + public bool IsSuccess { get; set; } + /// + /// 错误信息列表 + /// + public List Errors { get; set; } + /// + /// 成功实体 + /// + public List SuccessEntitys { get; set; } + /// + /// 成功消息 + /// + public List SuccessMessages { get; set; } + /// + /// 消息代码 + /// + public int MsgCode { get; set; } + } +} diff --git a/Models/K3Result/Model/K3CloudResult.cs b/Models/K3Result/Model/K3CloudResult.cs new file mode 100644 index 0000000..56189eb --- /dev/null +++ b/Models/K3Result/Model/K3CloudResult.cs @@ -0,0 +1,53 @@ +using System.Collections.Generic; + +namespace GZ_LTHPilot_ORDER.Models.K3Result.Model +{ + /// + /// 返回类 + /// + public class K3CloudResult + { + /// + /// 响应对象 + /// + public K3CloudResponseStatus ResponseStatus { get; set; } + + /// + /// 转换响应对象 + /// + public K3CloudResponseStatus ConvertResponseStatus { get; set; } + + /// + /// 返回结果,用于查看单据 + /// + public object Result { get; set; } + + /// + /// 开始索引 + /// + public long? StartIndex { get; set; } + /// + /// 是否最后 + /// + public bool? IsLast { get; set; } + /// + /// 文件大小 + /// + public long? FileSize { get; set; } + /// + /// 文件名称 + /// + public string FileName { get; set; } + /// + /// 文件内容(Base64) + /// + public string FilePart { get; set; } + + /// + /// 返回数据行数 + /// + public int? RowCount { get; set; } + + public List Rows { get; set; } + } +} diff --git a/Models/K3Result/Model/K3CloudResultInfo.cs b/Models/K3Result/Model/K3CloudResultInfo.cs new file mode 100644 index 0000000..dba61fe --- /dev/null +++ b/Models/K3Result/Model/K3CloudResultInfo.cs @@ -0,0 +1,21 @@ +namespace GZ_LTHPilot_ORDER.Models.K3Result.Model +{ + /// + /// 金蝶云星空查看错误信息类 + /// + public class K3CloudResultInfo + { + /// + /// 字段名称 + /// + public string FieldName { get; set; } + /// + /// 错误信息 + /// + public string Message { get; set; } + /// + /// 序号 + /// + public int DIndex { get; set; } + } +} diff --git a/Models/K3Result/Model/K3CloudSuccessEntity.cs b/Models/K3Result/Model/K3CloudSuccessEntity.cs new file mode 100644 index 0000000..1788f75 --- /dev/null +++ b/Models/K3Result/Model/K3CloudSuccessEntity.cs @@ -0,0 +1,25 @@ +namespace GZ_LTHPilot_ORDER.Models.K3Result.Model +{ + /// + /// 成功实体 + /// + public class K3CloudSuccessEntity + { + /// + /// 单据Id + /// + public int Id { get; set; } + /// + /// 单据编号 + /// + public string Number { get; set; } + /// + /// 实体索引 + /// + public int DIndex { get; set; } + /// + /// 分录Id + /// + public object EntryIds { get; set; } + } +} diff --git a/Models/VO/SaleExecuteOut.cs b/Models/VO/SaleExecuteOut.cs new file mode 100644 index 0000000..5b25998 --- /dev/null +++ b/Models/VO/SaleExecuteOut.cs @@ -0,0 +1,18 @@ + + +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GZ_LTHPilot_ORDER.Models.VO +{ + public class SaleExecuteOut + { + public string FSALEORGNAME { get; set; } + public string FBILLNO { get; set; } + public string FDate { get; set; } + public string FALLMATCHAMOUNT { get; set; } + } +} diff --git a/Service/SaleOrderService.cs b/Service/SaleOrderService.cs deleted file mode 100644 index b65262e..0000000 --- a/Service/SaleOrderService.cs +++ /dev/null @@ -1,47 +0,0 @@ -using Kingdee.BOS; -using Kingdee.BOS.Orm.DataEntity; -using Kingdee.BOS.ServiceHelper; -using System; -using System.Collections.Generic; -using System.Linq; -using System.Text; -using System.Threading.Tasks; - -namespace GZ_LTHPilot_ORDER.Service -{ - /// - /// 销售订单服务类 - /// - public class SaleOrderService - { - private Context ctx; - - public SaleOrderService(Context ctx) - { - this.ctx = ctx; - } - - /// - /// 根据纸质合同号、组织获取销售订单 - /// - /// - public DynamicObjectCollection GetSaleOrderByOrgIdAndContractNo(string orgId, string contractNo) - { - var sqlTemp = @"/*dialect*/SELECT - * -FROM - T_SAL_ORDER t1 - LEFT JOIN T_SAL_ORDERFIN t1fin ON t1.FID = t1fin.FID -WHERE - 1 = 1 - AND t1.FDOCUMENTSTATUS = 'C' - AND t1.FCANCELSTATUS = 'A' - AND t1.FSALEORGID = '{0}' - AND t1.F_CONTRACTNUMBER = '{1}' -"; - var sql = string.Format(sqlTemp, orgId, contractNo); - var resultData = DBServiceHelper.ExecuteDynamicObject(ctx, sql); - return resultData; - } - } -} diff --git a/Services/SaleOrderService.cs b/Services/SaleOrderService.cs new file mode 100644 index 0000000..abec21c --- /dev/null +++ b/Services/SaleOrderService.cs @@ -0,0 +1,144 @@ +using GZ_LTHPilot_ORDER.Models.K3Request; +using GZ_LTHPilot_ORDER.Models.K3Result; +using GZ_LTHPilot_ORDER.Models.VO; +using Kingdee.BOS; +using Kingdee.BOS.Orm.DataEntity; +using Kingdee.BOS.ServiceHelper; +using Kingdee.BOS.WebApi.FormService; +using Kingdee.K3.FIN.App.Core.Match.Object; +using Newtonsoft.Json; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GZ_LTHPilot_ORDER.Service +{ + /// + /// 销售订单服务类 + /// + public class SaleOrderService + { + private Context ctx; + + public SaleOrderService(Context ctx) + { + this.ctx = ctx; + } + + /// + /// 根据纸质合同号、组织获取销售订单 + /// + /// + public DynamicObjectCollection GetSaleOrderByOrgIdAndContractNo(string orgId, string contractNo) + { + var sqlTemp = @"/*dialect*/SELECT + * +FROM + T_SAL_ORDER t1 + LEFT JOIN T_SAL_ORDERFIN t1fin ON t1.FID = t1fin.FID +WHERE + 1 = 1 + AND t1.FDOCUMENTSTATUS = 'C' + AND t1.FCANCELSTATUS = 'A' + AND t1.FSALEORGID = '{0}' + AND t1.F_CONTRACTNUMBER = '{1}' +"; + var sql = string.Format(sqlTemp, orgId, contractNo); + var resultData = DBServiceHelper.ExecuteDynamicObject(ctx, sql); + return resultData; + } + + /// + /// 获取销售订单收款金额 + /// + /// + public decimal GetSaleOrderReceiveAmount(string orgId, string billNo) + { + var saleOrder = this.GetSaleOrderByBillNoAndOrgId(orgId, billNo); + var date = Convert.ToDateTime(saleOrder["FDATE"]); + ReportDataParam param = new ReportDataParam() + { + ReturnJsonData = true, + FieldKeys = "FSALEORGNAME,FBILLNO,FDate,FALLMATCHAMOUNT", + IsVerifyBaseDataField = true, + Model = new Model() + { + FSaleOrgList = orgId, + FSoFromDate = date.AddDays(-2), + FSoToDate = date.AddDays(1), + FSaleOFrom = billNo, + FSaleOTo = billNo, + FFormCloseStatus = "ALL", + FFormStatus = "C", + FPriceFrom = "SALORDERBILL", + FBusCloseStatus = "ALL", + FMergingSOHeader = true, + FIncludedUnfilledOrders = false, + FIsRecWithMat = true, + } + }; + var paramString = JsonConvert.SerializeObject(param); + var reusltString = WebApiServiceCall.GetSysReportData(this.ctx, "SAL_DetailReport", paramString).ToString(); + var result = JsonConvert.DeserializeObject>(reusltString); + var rows = result.Result.Rows; + var dataRow = rows.Where(n => n.FBILLNO == billNo).FirstOrDefault(); + if (dataRow != null) + { + return Convert.ToDecimal(dataRow.FALLMATCHAMOUNT); + } + return 0m; + } + + + public DynamicObject GetSaleOrderByBillNoAndOrgId(string orgId, string billNo) + { + var sqlTemp = @"/*dialect*/SELECT + * +FROM + T_SAL_ORDER t1 +WHERE + 1 = 1 + AND t1.FSALEORGID = '{0}' + AND t1.FBILLNO = '{1}' +"; + var sql = string.Format(sqlTemp, orgId, billNo); + var result = DBServiceHelper.ExecuteDynamicObject(this.ctx, sql); + if (result.Count == 0) + { + throw new Exception($"组织:{orgId},没有找到编号为 {billNo} 的销售订单"); + } + return result[0]; + } + + public List GetSaleOrderReceiveAmountByDate(string orgId, DateTime startDate, DateTime endDate) + { + ReportDataParam param = new ReportDataParam() + { + ReturnJsonData = true, + FieldKeys = "FSALEORGNAME,FBILLNO,FDate,FALLMATCHAMOUNT", + IsVerifyBaseDataField = true, + Model = new Model() + { + FSaleOrgList = orgId, + FSoFromDate = startDate, + FSoToDate = startDate, + FFormCloseStatus = "ALL", + FFormStatus = "C", + FPriceFrom = "SALORDERBILL", + FBusCloseStatus = "ALL", + FMergingSOHeader = true, + FIncludedUnfilledOrders = false, + FIsRecWithMat = true, + } + }; + var paramString = JsonConvert.SerializeObject(param); + var reusltString = WebApiServiceCall.GetSysReportData(this.ctx, "SAL_DetailReport", paramString).ToString(); + var result = JsonConvert.DeserializeObject>(reusltString); + var rows = result.Result.Rows; + var dataRow = rows.Where(n => n.FBILLNO.Trim() == string.Empty).ToList(); + return dataRow; + } + } +} diff --git a/Service/SaleSicsService.cs b/Services/SaleSicsService.cs similarity index 100% rename from Service/SaleSicsService.cs rename to Services/SaleSicsService.cs diff --git a/WebApiService/SaleOrderApiService.cs b/WebApiService/SaleOrderApiService.cs new file mode 100644 index 0000000..c1662d1 --- /dev/null +++ b/WebApiService/SaleOrderApiService.cs @@ -0,0 +1,39 @@ + +using GZ_LTHPilot_ORDER.Models.VO; +using GZ_LTHPilot_ORDER.Service; +using Kingdee.BOS.App.Data; +using Kingdee.BOS.ServiceFacade.KDServiceFx; +using Kingdee.BOS.Util; +using Kingdee.BOS; +using Kingdee.BOS.WebApi.Client; +using Kingdee.BOS.WebApi.ServicesStub; +using System; +using System.Collections.Generic; +using System.ComponentModel; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace GZ_LTHPilot_ORDER.WebApiService +{ + [Description("商品类型"), HotUpdate] + public class SaleOrderApiService : AbstractWebApiBusinessService + { + public SaleOrderApiService(KDServiceContext context) : base(context) + { + + } + + public decimal GetSaleOrderReceiveAmount(string orgId, string billNo) + { + SaleOrderService saleOrderService = new SaleOrderService(this.KDContext.Session.AppContext); + return saleOrderService.GetSaleOrderReceiveAmount(orgId, billNo); + } + + public List GetSaleOrderReceiveAmountByDate(string orgId, DateTime startDate, DateTime endDate) + { + SaleOrderService saleOrderService = new SaleOrderService(this.KDContext.Session.AppContext); + return saleOrderService.GetSaleOrderReceiveAmountByDate(orgId, startDate, endDate); + } + } +}