Compare commits
47 Commits
84eee2ef0f
...
jackYun
| Author | SHA1 | Date | |
|---|---|---|---|
| 4766ddf18c | |||
| c8ad77df21 | |||
| 71f1368e6b | |||
| 316e78f4f2 | |||
| f42519dd61 | |||
| 0a28417898 | |||
| e9d7d9c9ae | |||
| 7a212d5890 | |||
| 13bf2695dc | |||
| 8de5bbe2a1 | |||
| 19724363af | |||
| a17e3d2807 | |||
| a4f40a4e47 | |||
| be8f4f17ae | |||
| d5410caafe | |||
| 44462fce14 | |||
| de8447bece | |||
| 6335e88415 | |||
| e790bd1517 | |||
| 9eb9b63524 | |||
| 855706e9ca | |||
| 1e85ccf537 | |||
| 74dd275168 | |||
| a5ed0ba6c3 | |||
| 68c41a3431 | |||
| ec335d585a | |||
| c50652de25 | |||
|
|
c6fd76f937 | ||
|
|
db6f97a954 | ||
| b454163569 | |||
| 49c39d3bf4 | |||
| f8f23c5a31 | |||
|
|
25a1e710da | ||
|
|
ef93f1ca19 | ||
|
|
7b06ea967a | ||
| 77807cf3cc | |||
| 57ac7284c1 | |||
| 564f5720af | |||
| 7f31d9664f | |||
| 782737d29c | |||
| ff93525afe | |||
|
|
81c63c1fc9 | ||
|
|
9530c0bba1 | ||
| ecd750ec06 | |||
| dee74cbf73 | |||
|
|
66643a86f4 | ||
|
|
019992fc61 |
@@ -28,7 +28,7 @@
|
||||
<!--生产MYSQL,外网-->
|
||||
<add name="MasterConn" connectionString="uYQMlgrT7yPCM5hH1R9pwX1avjzJOodMR+BJKv8zn8fRS17LbVzxaCNMZeAjOqon2XacDYaEbPFIJvcXkoeqZSUe5jXN+feDhdzpoUuZW7m6/cE5zlfMnn4sARvQ1w09ATqFjkP9HIxwpq3BCrQEzg==" providerName="MySql.Data.MySqlClient" />
|
||||
|
||||
<!--流行美生产数据库-->
|
||||
<!--生产数据库-->
|
||||
<add name="LxmConn" connectionString="hnNuF+qU5pHG0wDjHFsJt6YwEDw8k3B5EGVxNIeRyYPb8RZVGDR8Uwfz0yuMYSmad1azdNXW8R92X4P6TtYlgO2oFvOFfuhkHGAPEiK0nv+Djc60jdmZKKuv87FPnRXvkA3Phxleh+MyDzHUy1RZTcESrwbjSuz2JR6qmud4eTgVjlKsTjK1s1drvFlzOBOvXr5mLFbnPfdAFmICP6fbCcl07yfSaRUIDyXEi7jdL6bVAEhuBKxRaVJf7GZkkoIG" providerName="System.Data.SqlClient" />
|
||||
|
||||
</connectionStrings>
|
||||
|
||||
@@ -0,0 +1,176 @@
|
||||
|
||||
using MyCode.Project.Infrastructure.JackYun;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using static System.Net.Mime.MediaTypeNames;
|
||||
|
||||
namespace MyCode.Project.Domain.Message.Request.JackYun
|
||||
{
|
||||
public class ReturnChangeGetRequestBizData : BaseRequestBizData
|
||||
{
|
||||
/// <summary>
|
||||
/// 每页显示数据量
|
||||
/// </summary>
|
||||
public int? PageSize { get; set; } = 50;
|
||||
|
||||
/// <summary>
|
||||
/// 当前页码
|
||||
/// </summary>
|
||||
public int? PageIndex { get; set; } = 0;
|
||||
|
||||
/// <summary>
|
||||
/// 最后修改时间(起始)
|
||||
/// </summary>
|
||||
public string StartModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最后修改时间(截止)
|
||||
/// </summary>
|
||||
public string EndModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退换单号,多个单号用逗号分隔
|
||||
/// </summary>
|
||||
public string ReturnChangeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单号,多个单号用逗号分隔
|
||||
/// </summary>
|
||||
public string TradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间(起始)
|
||||
/// </summary>
|
||||
public string StartGmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 创建时间(结束)
|
||||
/// </summary>
|
||||
public string EndGmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核时间(起始)
|
||||
/// </summary>
|
||||
public string StartAuditDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核时间(结束)
|
||||
/// </summary>
|
||||
public string EndAuditDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货时间(起始)
|
||||
/// </summary>
|
||||
public string StartDeliveryDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货时间(结束)
|
||||
/// </summary>
|
||||
public string EndDeliveryDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算时间(起始)
|
||||
/// </summary>
|
||||
public string StartSettlementDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算时间(结束)
|
||||
/// </summary>
|
||||
public string EndSettlementDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 处理状态(1000:异常件待处理;1001:待审核;1002:待收货;1003:待结算;1004:已结算待收货;1005:已收货待结算;1007:已完成;1008:已取消;1009:已拒绝;1010:待支付;1014:待退货-待通知退货;1015:待退货-已通知退货;10081:已取消-被合并;10082:已取消-被拆分)
|
||||
/// </summary>
|
||||
public string ProcessStatusList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道
|
||||
/// </summary>
|
||||
public string ShopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库名称
|
||||
/// </summary>
|
||||
public string WarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库ID集合
|
||||
/// </summary>
|
||||
public List<string> WarehouseIdList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退换原因
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否获取总记录数(1:是;0:否)
|
||||
/// </summary>
|
||||
public int? HasTotal { get; set; } = 1;
|
||||
|
||||
/// <summary>
|
||||
/// 网店订单号
|
||||
/// </summary>
|
||||
public string SourceTradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网店售后单号
|
||||
/// </summary>
|
||||
public string SourceTradeAfterNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否软删除
|
||||
/// </summary>
|
||||
public bool? Deleted { get; set; } = false;
|
||||
|
||||
/// <summary>
|
||||
/// 店铺ID集合
|
||||
/// </summary>
|
||||
public List<string> ShopIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否查询组合装子件信息(1:是;0:否)
|
||||
/// </summary>
|
||||
public string SelectSubParts { get; set; } = "1";
|
||||
|
||||
/// <summary>
|
||||
/// 是否同时返回未删除和回收站中的数据
|
||||
/// </summary>
|
||||
public bool? AllDeleteStatus { get; set; } = true;
|
||||
|
||||
/// <summary>
|
||||
/// 完成时间开始时间
|
||||
/// </summary>
|
||||
public string StartCompleteTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 完成时间结束时间
|
||||
/// </summary>
|
||||
public string EndCompleteTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 是否归档(0:未归档;1:已归档)
|
||||
/// </summary>
|
||||
public string QueryHistory { get; set; } = "0";
|
||||
|
||||
/// <summary>
|
||||
/// 销售平台
|
||||
/// </summary>
|
||||
public string PlatName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 申请时间开始时间
|
||||
/// </summary>
|
||||
public string ApplyTimeBegin { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 申请时间结束时间
|
||||
/// </summary>
|
||||
public string ApplyTimeEnd { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Diagnostics.SymbolStore;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
@@ -66,6 +67,11 @@ namespace MyCode.Project.Domain.Message.Request.KingDee
|
||||
/// </summary>
|
||||
public object Model { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 自动提交并审核
|
||||
/// </summary>
|
||||
public bool IsAutoSubmitAndAudit { get; set; }
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -12,6 +12,6 @@ namespace MyCode.Project.Domain.Message.Response.KingDee.K3Result
|
||||
/// <summary>
|
||||
/// 返回对象
|
||||
/// </summary>
|
||||
public KingdeeResult Result { get; set; }
|
||||
public K3CloudResult Result { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,7 @@ namespace MyCode.Project.Domain.Message.Response.KingDee.K3Result.Model
|
||||
/// <summary>
|
||||
/// 响应对象
|
||||
/// </summary>
|
||||
public class ResponseStatus
|
||||
public class K3CloudResponseStatus
|
||||
{
|
||||
/// <summary>
|
||||
/// 错误代码
|
||||
@@ -18,15 +18,15 @@ namespace MyCode.Project.Domain.Message.Response.KingDee.K3Result.Model
|
||||
/// <summary>
|
||||
/// 错误信息列表
|
||||
/// </summary>
|
||||
public List<ResultInfo> Errors { get; set; }
|
||||
public List<K3CloudResultInfo> Errors { get; set; }
|
||||
/// <summary>
|
||||
/// 成功实体
|
||||
/// </summary>
|
||||
public List<SuccessEntity> SuccessEntitys { get; set; }
|
||||
public List<K3CloudSuccessEntity> SuccessEntitys { get; set; }
|
||||
/// <summary>
|
||||
/// 成功消息
|
||||
/// </summary>
|
||||
public List<ResultInfo> SuccessMessages { get; set; }
|
||||
public List<K3CloudResultInfo> SuccessMessages { get; set; }
|
||||
/// <summary>
|
||||
/// 消息代码
|
||||
/// </summary>
|
||||
@@ -3,17 +3,17 @@
|
||||
/// <summary>
|
||||
/// 返回类
|
||||
/// </summary>
|
||||
public class KingdeeResult
|
||||
public class K3CloudResult
|
||||
{
|
||||
/// <summary>
|
||||
/// 响应对象
|
||||
/// </summary>
|
||||
public ResponseStatus ResponseStatus { get; set; }
|
||||
public K3CloudResponseStatus ResponseStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 转换响应对象
|
||||
/// </summary>
|
||||
public ResponseStatus ConvertResponseStatus { get; set; }
|
||||
public K3CloudResponseStatus ConvertResponseStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 返回结果,用于查看单据
|
||||
@@ -3,7 +3,7 @@
|
||||
/// <summary>
|
||||
/// 金蝶云星空查看错误信息类
|
||||
/// </summary>
|
||||
public class ResultInfo
|
||||
public class K3CloudResultInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 字段名称
|
||||
@@ -3,7 +3,7 @@
|
||||
/// <summary>
|
||||
/// 成功实体
|
||||
/// </summary>
|
||||
public class SuccessEntity
|
||||
public class K3CloudSuccessEntity
|
||||
{
|
||||
/// <summary>
|
||||
/// 单据Id
|
||||
@@ -1,10 +0,0 @@
|
||||
namespace MyCode.Project.Domain.Message.Response.KingDee.K3Result.Model
|
||||
{
|
||||
/// <summary>
|
||||
/// 成功信息
|
||||
/// </summary>
|
||||
public class SuccessMessage
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -6,11 +6,14 @@ using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Domain.Message.Response.WMS
|
||||
{
|
||||
/// <summary>
|
||||
/// WMS响应对象
|
||||
/// </summary>
|
||||
public class WMSResponse
|
||||
{
|
||||
public int Code { get; set; }
|
||||
public int? Code { get; set; }
|
||||
public string Message { get; set; }
|
||||
public Dictionary<string, string> Value { get; set; }
|
||||
public int View { get; set; }
|
||||
public int? View { get; set; }
|
||||
}
|
||||
}
|
||||
|
||||
@@ -202,5 +202,13 @@ namespace MyCode.Project.Domain.Model
|
||||
/// </summary>
|
||||
public string Unit {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分摊后金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName="shareFavourableAfterFee")]
|
||||
public decimal? ShareFavourableAfterFee {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -110,5 +110,13 @@ namespace MyCode.Project.Domain.Model
|
||||
/// </summary>
|
||||
public int? TradeType {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsIdentity=true)]
|
||||
public int Sheet {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
286
Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs
Normal file
286
Reportapi/MyCode.Project.Domain/Model/ReturnChangeGoodsDetail.cs
Normal file
@@ -0,0 +1,286 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using SqlSugar;
|
||||
|
||||
namespace MyCode.Project.Domain.Model
|
||||
{
|
||||
///<summary>
|
||||
///退换货商品明细表(记录售后订单中的商品变更详情)
|
||||
///</summary>
|
||||
[SugarTable("ReturnChangeGoodsDetail")]
|
||||
public partial class ReturnChangeGoodsDetail
|
||||
{
|
||||
public ReturnChangeGoodsDetail(){
|
||||
|
||||
|
||||
}
|
||||
/// <summary>
|
||||
/// Desc:主键(GUID格式)
|
||||
/// Default:newid()
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
[SugarColumn(IsPrimaryKey=true)]
|
||||
public Guid Id {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:售后订单ID(关联售后主表)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long TradeAfterId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:子订单ID(关联销售明细)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long SubTradeId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品基础信息ID(关联商品主表)
|
||||
/// Default:
|
||||
/// Nullable:False
|
||||
/// </summary>
|
||||
public long GoodsId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品系统编号(唯一业务标识)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsNo {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品全称(显示名称)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:规格ID(关联规格表)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public long? SpecId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:规格组合名称(如:颜色:红;尺寸:XL)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string SpecName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:计量单位(如:件、KG等)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Unit {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:销售单价(含税,单位:元)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? Price {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:原始销售数量(单位与Unit字段一致)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SellCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:售后原因详细描述
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string ReasonDesc {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:申请退货数量(可含小数)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ReturnCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:实际退货金额(=退货数量*单价-退货优惠)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:补发商品数量
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SendCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:退货部分享受的优惠金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ReturnDiscounts {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:补发部分享受的优惠金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SendDiscounts {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:补发商品总金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SendFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:理论应退金额(未计算分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShouldReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:处理备注信息
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Remark {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品特性标记(1-7分别对应定制/虚拟/卡券/代销/预售/序列号/需安装)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? GoodsAttribute {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最后修改时间(格式:yyyy-MM-dd HH:mm:ss)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GmtModified {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:记录创建时间(格式:yyyy-MM-dd HH:mm)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GmtCreate {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品条码(国际标准条码)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Barcode {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:销售总金额(=单价*数量)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? SellTotal {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:实际退货数量(仓库验收后)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? DeliveryCount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:组合装标识(1=是组合装子商品)
|
||||
/// Default:0
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? IsFit {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:赠品标识(1=是赠品 0=正常商品)
|
||||
/// Default:0
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public int? IsGift {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分摊后退货金额(含订单级优惠分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShareReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分摊后补发金额(含订单级优惠分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShareSendFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:最终应退金额(含所有优惠和运费分摊)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public decimal? ShareShouldReturnFee {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:货品批次信息(JSON格式存储)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsBatchInfoList {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:电商平台子订单编号(如淘宝子订单号)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string SourceSubtradeNo {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:次品数量描述(如:5件破损)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string DefectiveAmount {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:品牌名称
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string BrandName {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:商品唯一序列号(用于高端商品追踪)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string GoodsSerial {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:平台商品ID(第三方平台商品编码)
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string PlatGoodsId {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public Guid? JackOrdersId {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -128,5 +128,12 @@ namespace MyCode.Project.Domain.Model
|
||||
/// </summary>
|
||||
public int? Priority {get;set;}
|
||||
|
||||
/// <summary>
|
||||
/// Desc:程序执行结果返回内容
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Result {get;set;}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,7 @@
|
||||
<Compile Include="Message\Act\Common\RequestModel.cs" />
|
||||
<Compile Include="Message\Request\JackYun\CreateAndStockinGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\JackYun\CreateAndStockoutGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\JackYun\ReturnChangeGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\JackYun\OrderTradeFullInfoGetRequestBizData.cs" />
|
||||
<Compile Include="Message\Request\KingDee\BillDelete.cs" />
|
||||
<Compile Include="Message\Request\KingDee\BillSave.cs" />
|
||||
@@ -81,11 +82,10 @@
|
||||
<Compile Include="Message\Response\JackYun\PushOrderListResp.cs" />
|
||||
<Compile Include="Message\Response\KingDee\ErrorResponse.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\K3ApiResult.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\KingdeeResult.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\ResponseStatus.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\ResultInfo.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\SuccessEntity.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\SuccessMessage.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\K3CloudResult.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\K3CloudResponseStatus.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\K3CloudResultInfo.cs" />
|
||||
<Compile Include="Message\Response\KingDee\K3Result\Model\K3CloudSuccessEntity.cs" />
|
||||
<Compile Include="Message\Response\LxmZHMDReport\ReportCalRateResp.cs" />
|
||||
<Compile Include="Message\Response\Queue\QueueProcess.cs" />
|
||||
<Compile Include="Message\Response\User\AdminLoginInfo.cs" />
|
||||
@@ -99,6 +99,7 @@
|
||||
<Compile Include="Model\JackOrdersItem.cs" />
|
||||
<Compile Include="Model\PushKingDeeOrder.cs" />
|
||||
<Compile Include="Model\PushKingDeeOrderItem.cs" />
|
||||
<Compile Include="Model\ReturnChangeGoodsDetail.cs" />
|
||||
<Compile Include="Model\SysWorkprocess.cs" />
|
||||
<Compile Include="Model\WMStoJackyunInventoryMovementView1.cs" />
|
||||
<Compile Include="Model\YTKJTShopParameter.cs" />
|
||||
@@ -110,6 +111,7 @@
|
||||
<Compile Include="Repositories\IPushKingDeeOrderRepository.cs" />
|
||||
<Compile Include="Repositories\IRepository.cs" />
|
||||
<Compile Include="Repositories\IRepository`.cs" />
|
||||
<Compile Include="Repositories\IReturnChangeGoodsDetailRepository.cs" />
|
||||
<Compile Include="Repositories\ISysWorkprocessRepository.cs" />
|
||||
<Compile Include="Repositories\IWMStoJackyunInventoryMovementView1Repository.cs" />
|
||||
<Compile Include="Repositories\IYTKJTShopParameterRepository.cs" />
|
||||
|
||||
@@ -20,5 +20,11 @@ namespace MyCode.Project.Domain.Repositories
|
||||
/// <returns></returns>
|
||||
List<PushOrderListResp> GetPushOrder();
|
||||
|
||||
/// <summary>
|
||||
/// 获取合并后的吉客云订单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
List<PushOrderListResp> GetPushReturnOrder();
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
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 IReturnChangeGoodsDetailRepository : IRepository<ReturnChangeGoodsDetail>
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
@@ -33,25 +33,25 @@ namespace MyCode.Project.Infrastructure.Constant
|
||||
/// </summary>
|
||||
public static string HasDownloadZipCacheKey = "HasDownloadZipCacheKey";
|
||||
|
||||
/// <summary>
|
||||
/// 冰芙云店铺id列表
|
||||
/// </summary>
|
||||
public static string BfyShopListByLoginIdKey = "BfyShopListByLoginIdKey";
|
||||
///// <summary>
|
||||
///// 冰芙云店铺id列表
|
||||
///// </summary>
|
||||
//public static string BfyShopListByLoginIdKey = "BfyShopListByLoginIdKey";
|
||||
|
||||
/// <summary>
|
||||
/// 冰芙云店铺id列表
|
||||
/// </summary>
|
||||
public static string GetShopIdsByOrganizationId = "GetShopIdsByOrganizationId";
|
||||
///// <summary>
|
||||
///// 冰芙云店铺id列表
|
||||
///// </summary>
|
||||
//public static string GetShopIdsByOrganizationId = "GetShopIdsByOrganizationId";
|
||||
|
||||
/// <summary>
|
||||
/// 拿流行美卡数据的Key
|
||||
/// </summary>
|
||||
public static string LxmOrderDataCacheKey = "lastupdate";
|
||||
///// <summary>
|
||||
///// 拿流行美卡数据的Key
|
||||
///// </summary>
|
||||
//public static string LxmOrderDataCacheKey = "lastupdate";
|
||||
|
||||
/// <summary>
|
||||
/// 拿流行美卡数据的Key
|
||||
/// </summary>
|
||||
public static string UpdateLxmOrderDataCacheKey = "UpdateLxmOrderData";
|
||||
///// <summary>
|
||||
///// 拿流行美卡数据的Key
|
||||
///// </summary>
|
||||
//public static string UpdateLxmOrderDataCacheKey = "UpdateLxmOrderData";
|
||||
|
||||
/// <summary>
|
||||
/// 得到最后服务单时间
|
||||
@@ -63,29 +63,29 @@ namespace MyCode.Project.Infrastructure.Constant
|
||||
/// </summary>
|
||||
public static string LxmLastCalMoreThan500TimeCacheKey = "MoreThan500Time";
|
||||
|
||||
/// <summary>
|
||||
/// 流行美使用天数数据的缓存key
|
||||
/// </summary>
|
||||
public static string LxmUseSysDaysCacheKey = "LxmUseSysDays";
|
||||
///// <summary>
|
||||
///// 流行美使用天数数据的缓存key
|
||||
///// </summary>
|
||||
//public static string LxmUseSysDaysCacheKey = "LxmUseSysDays";
|
||||
|
||||
/// <summary>
|
||||
/// 宝典新会员销售计划缓存KEY
|
||||
/// </summary>
|
||||
public static string BaoDianNewMemberPackageListCacheKey = "BaoDianNewMemberPackageList";
|
||||
///// <summary>
|
||||
///// 宝典新会员销售计划缓存KEY
|
||||
///// </summary>
|
||||
//public static string BaoDianNewMemberPackageListCacheKey = "BaoDianNewMemberPackageList";
|
||||
|
||||
/// <summary>
|
||||
/// 宝典老会员销售计划缓存KEY
|
||||
/// </summary>
|
||||
public static string BaoDianOldMemberPackageListCacheKey = "BaoDianOldMemberPackageList";
|
||||
///// <summary>
|
||||
///// 宝典老会员销售计划缓存KEY
|
||||
///// </summary>
|
||||
//public static string BaoDianOldMemberPackageListCacheKey = "BaoDianOldMemberPackageList";
|
||||
|
||||
/// <summary>
|
||||
/// 宝典销售计划缓存KEY
|
||||
/// </summary>
|
||||
public static string BaoDianSalasPackageListCacheKey = "BaoDianSalasPackageList";
|
||||
///// <summary>
|
||||
///// 宝典销售计划缓存KEY
|
||||
///// </summary>
|
||||
//public static string BaoDianSalasPackageListCacheKey = "BaoDianSalasPackageList";
|
||||
|
||||
/// <summary>
|
||||
/// 得到最后销售套餐时间
|
||||
/// </summary>
|
||||
public static string LastSalesServiceSetidBookTimeCacheKey = "LastSalesServiceSetidBookTime";
|
||||
///// <summary>
|
||||
///// 得到最后销售套餐时间
|
||||
///// </summary>
|
||||
//public static string LastSalesServiceSetidBookTimeCacheKey = "LastSalesServiceSetidBookTime";
|
||||
}
|
||||
}
|
||||
|
||||
@@ -288,7 +288,12 @@ namespace MyCode.Project.Infrastructure.Enumeration
|
||||
/// 创建入库申请单并入库
|
||||
/// </summary>
|
||||
[Enum("创建入库申请单并入库", "erp.stock.createandstockin")]
|
||||
CREATEANDSTOCKIN,
|
||||
CREATEANDSTOCKIN,
|
||||
/// <summary>
|
||||
/// 分页查询退换补发单(新)
|
||||
/// </summary>
|
||||
[Enum("分页查询退换补发单(新)", "ass-business.returnchange.fullinfoget")]
|
||||
RETURNCHANGE,
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,18 +26,18 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// <summary>
|
||||
/// 在吉客云开放平台上申请的Appekey
|
||||
/// </summary>
|
||||
private const string APPKEY = "21578653";
|
||||
private const string APPKEY = "71030238";//"21578653";
|
||||
/// <summary>
|
||||
/// 在吉客云开放平台上申请的AppeSecret
|
||||
/// </summary>
|
||||
private const string APPSECRET = "d6ea919cb75a44879fcdbea211066b9c";
|
||||
private const string APPSECRET = "0fbe36cc4308405cacadf516338be4c8";// "d6ea919cb75a44879fcdbea211066b9c";
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
private const string Token = "";
|
||||
private const string Token = "c5cd87bb574483e8dd6acbf72f577fe0";
|
||||
/// <summary>
|
||||
/// 吉客云开放平台网关
|
||||
/// </summary>
|
||||
|
||||
@@ -0,0 +1,796 @@
|
||||
using SqlSugar;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Infrastructure.JackYun
|
||||
{
|
||||
|
||||
|
||||
public class ReturnChangeData
|
||||
{
|
||||
/// <summary>
|
||||
/// 退货订单
|
||||
/// </summary>
|
||||
public List<ReturnChangeListResp> returnChangeList { get; set; }
|
||||
/// <summary>
|
||||
/// 总数(Integer类型,长度4)
|
||||
/// </summary>
|
||||
public int TotalResults { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 每页显示数据量(Integer类型,长度4)
|
||||
/// </summary>
|
||||
public int PageSize { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 当前页码(Integer类型,长度4)
|
||||
/// </summary>
|
||||
public int PageIndex { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 敏感数据标识(Boolean类型,长度10)
|
||||
/// </summary>
|
||||
public bool SensitiveData { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 总数(Integer类型,长度100)
|
||||
/// </summary>
|
||||
public int TotalRecords { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分页信息(Object类型,无长度)
|
||||
/// </summary>
|
||||
public PageInfo PageInfo { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 退换补发单结果集合
|
||||
/// </summary>
|
||||
public class ReturnChangeListResp
|
||||
{
|
||||
/// <summary>
|
||||
/// 售后单系统Id
|
||||
/// </summary>
|
||||
public long TradeAfterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后单编号
|
||||
/// </summary>
|
||||
public string ReturnChangeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后单来源(1:手工新建;4:纠纷单;5:Excel导入;6:门店;7:网店下载;8:错漏;9:异常件创建)
|
||||
/// </summary>
|
||||
public int TradeAfterFrom { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后单状态(1000:预入库待确认;1001:待审核;1002:待收货;1003:待结算;1004:已结算待收货;1005:已收货待结算;1007:已完成;1008:已取消;1009:已拒绝;1010:待支付;1014:待退货-待通知退货;1015:待退货-已通知退货;10081:已取消-被合并;10082:已取消-被拆分)
|
||||
/// </summary>
|
||||
public string TradeAfterStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统订单id
|
||||
/// </summary>
|
||||
public string TradeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统订单号
|
||||
/// </summary>
|
||||
public string TradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网店订单号
|
||||
/// </summary>
|
||||
public string SourceTradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网点售后单号
|
||||
/// </summary>
|
||||
public string SourceTradeAfterNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库id
|
||||
/// </summary>
|
||||
public long WarehouseId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库编码
|
||||
/// </summary>
|
||||
public string WarehouseCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货仓库名称
|
||||
/// </summary>
|
||||
public string WarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物流公司id
|
||||
/// </summary>
|
||||
public long LogisticId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物流名称
|
||||
/// </summary>
|
||||
public string LogisticName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货仓库id
|
||||
/// </summary>
|
||||
public long SendWarehouseId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货仓库名称
|
||||
/// </summary>
|
||||
public string SendWarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 物流单号
|
||||
/// </summary>
|
||||
public string MainPostid { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道id
|
||||
/// </summary>
|
||||
public long ShopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道
|
||||
/// </summary>
|
||||
public string ShopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售渠道Code
|
||||
/// </summary>
|
||||
public string ShopCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 公司ID
|
||||
/// </summary>
|
||||
public long CompanyId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 公司名称
|
||||
/// </summary>
|
||||
public string CompanyName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原订单渠道id
|
||||
/// </summary>
|
||||
public long SourceShopId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原订单渠道
|
||||
/// </summary>
|
||||
public string SourceShopName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后原因描述
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 取消售后原因描述
|
||||
/// </summary>
|
||||
public string CancelReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 拒绝售后原因描述
|
||||
/// </summary>
|
||||
public string RejectReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 问题描述
|
||||
/// </summary>
|
||||
public string ProbleamDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户备注
|
||||
/// </summary>
|
||||
public string CustomerRemark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客服备注
|
||||
/// </summary>
|
||||
public string ServiceRemark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核时间
|
||||
/// </summary>
|
||||
public string AuditTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货时间
|
||||
/// </summary>
|
||||
public string DeliveryTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货时间
|
||||
/// </summary>
|
||||
public string ConsignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品摘要
|
||||
/// </summary>
|
||||
public string Goodslist { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标记id
|
||||
/// </summary>
|
||||
public string FlagIds { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 标记名称
|
||||
/// </summary>
|
||||
public string FlagNames { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 登记人id
|
||||
/// </summary>
|
||||
public long RegisterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 登记人
|
||||
/// </summary>
|
||||
public string Registrant { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 责任人code
|
||||
/// </summary>
|
||||
public long ResponsiblePersonCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 责任人描述
|
||||
/// </summary>
|
||||
public string ResponsiblePersonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 三方仓入库单号
|
||||
/// </summary>
|
||||
public string StockInNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货单号
|
||||
/// </summary>
|
||||
public string DeliveryNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收货经办人
|
||||
/// </summary>
|
||||
public string DeliveryPerson { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核人id
|
||||
/// </summary>
|
||||
public long AuditorId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 审核人
|
||||
/// </summary>
|
||||
public string Auditor { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 源仓库id
|
||||
/// </summary>
|
||||
public long SourceWarehouseId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 源仓库名称
|
||||
/// </summary>
|
||||
public string SourceWarehouseName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 订单摘要
|
||||
/// </summary>
|
||||
public string TradeOrderSummary { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 冻结标记(1:冻结;0:未冻结)
|
||||
/// </summary>
|
||||
public int IsFreeze { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 冻结原因
|
||||
/// </summary>
|
||||
public string FreezeReason { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 建单时间
|
||||
/// </summary>
|
||||
public string GmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 最后修改时间
|
||||
/// </summary>
|
||||
public string GmtModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 原销售单状态
|
||||
/// </summary>
|
||||
public int SourceTradeStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货货品信息
|
||||
/// </summary>
|
||||
public List<JkyReturnChangeGoodsDetail> ReturnChangeGoodsDetail { get; set; }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 售后类型(String类型,无长度)
|
||||
/// </summary>
|
||||
public string TradeAfterType { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后类型说明(String类型,无长度)
|
||||
/// </summary>
|
||||
public string TradeAfterTypeExplain { get; set; }
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
public class PageInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 当前页码
|
||||
/// </summary>
|
||||
public int pageIndex { get; set; }
|
||||
/// <summary>
|
||||
/// 每页显示数据量
|
||||
/// </summary>
|
||||
public int pageSize { get; set; }
|
||||
/// <summary>
|
||||
/// 排序字段
|
||||
/// </summary>
|
||||
public string sortOrder { get; set; }
|
||||
/// <summary>
|
||||
/// 倒序或升序文本
|
||||
/// </summary>
|
||||
public string sortField { get; set; }
|
||||
/// <summary>
|
||||
/// 总数(
|
||||
/// </summary>
|
||||
public int total { get; set; }
|
||||
}
|
||||
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 货品信息
|
||||
/// </summary>
|
||||
public class JkyReturnChangeGoodsDetail
|
||||
{
|
||||
/// <summary>
|
||||
/// 售后订单id
|
||||
/// </summary>
|
||||
public long TradeAfterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品id
|
||||
/// </summary>
|
||||
public long SubTradeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号id
|
||||
/// </summary>
|
||||
public long GoodsId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号
|
||||
/// </summary>
|
||||
public string GoodsNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品名称
|
||||
/// </summary>
|
||||
public string GoodsName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格id
|
||||
/// </summary>
|
||||
public long SpecId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格名称
|
||||
/// </summary>
|
||||
public string SpecName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价
|
||||
/// </summary>
|
||||
public decimal Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售单数量
|
||||
/// </summary>
|
||||
public decimal SellCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后原因描述
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货数量
|
||||
/// </summary>
|
||||
public decimal ReturnCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货金额
|
||||
/// </summary>
|
||||
public decimal ReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货数量
|
||||
/// </summary>
|
||||
public decimal SendCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货优惠
|
||||
/// </summary>
|
||||
public decimal ReturnDiscounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货优惠
|
||||
/// </summary>
|
||||
public decimal SendDiscounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货金额
|
||||
/// </summary>
|
||||
public decimal SendFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 应退金额
|
||||
/// </summary>
|
||||
public decimal ShouldReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品业务特性(1:定制生产(转生产后发货);2:虚拟物品/服务(无仓储作业);3:卡券(结算冲抵);4:代销(转供应商发货);5:预售品(转预售单);6:序列号管理(单品跟踪);7:需上门安装(发货后转工单))
|
||||
/// </summary>
|
||||
public int GoodsAttribute { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 修改时间
|
||||
/// </summary>
|
||||
public string GmtModified { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退换单创建时间
|
||||
/// </summary>
|
||||
public string GmtCreate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 条码
|
||||
/// </summary>
|
||||
public string Barcode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 金额
|
||||
/// </summary>
|
||||
public decimal SellTotal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 实退数量
|
||||
/// </summary>
|
||||
public decimal DeliveryCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 组合装标记(1:是组合装;0:不是组合装)
|
||||
/// </summary>
|
||||
public int IsFit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 赠品标记(1:是赠品;0:不是赠品)
|
||||
/// </summary>
|
||||
public int IsGift { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分摊后退货金额
|
||||
/// </summary>
|
||||
public decimal ShareReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分摊后发货金额
|
||||
/// </summary>
|
||||
public decimal ShareSendFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 分摊后应退金额
|
||||
/// </summary>
|
||||
public decimal ShareShouldReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品批次信息
|
||||
/// </summary>
|
||||
public List<GoodsBatchInfo> GoodsBatchInfoList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 网店子订单编号
|
||||
/// </summary>
|
||||
public string SourceSubtradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 次品数量
|
||||
/// </summary>
|
||||
public string DefectiveAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 品牌
|
||||
/// </summary>
|
||||
public string BrandName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 唯一码
|
||||
/// </summary>
|
||||
public string GoodsSerial { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 平台商品ID
|
||||
/// </summary>
|
||||
public string PlatGoodsId { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 货品批次信息
|
||||
/// </summary>
|
||||
public class GoodsBatchInfo
|
||||
{
|
||||
/// <summary>
|
||||
/// 批次号
|
||||
/// </summary>
|
||||
public string BatchNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 批次数量
|
||||
/// </summary>
|
||||
public decimal BatchAmount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 生产日期
|
||||
/// </summary>
|
||||
public string ProductionDate { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 到期日期
|
||||
/// </summary>
|
||||
public string ExpirationDate { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 售后订单主表
|
||||
/// </summary>
|
||||
public class TradeAfter
|
||||
{
|
||||
/// <summary>
|
||||
/// 售后订单ID
|
||||
/// </summary>
|
||||
public long TradeAfterId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品信息列表
|
||||
/// </summary>
|
||||
public List<TradeAfterGoods> GoodsInfoList { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算信息
|
||||
/// </summary>
|
||||
public ReturnChangePay PaymentInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 收件人信息
|
||||
/// </summary>
|
||||
public ReturnChangeReceiver ReceiverInfo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 补发销售单号列表
|
||||
/// </summary>
|
||||
public List<string> SendTradeNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货销售单号列表
|
||||
/// </summary>
|
||||
public List<string> ReturnTradeNo { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 售后订单货品信息
|
||||
/// </summary>
|
||||
public class TradeAfterGoods
|
||||
{
|
||||
/// <summary>
|
||||
/// 货品ID
|
||||
/// </summary>
|
||||
public long SubTradeId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号ID
|
||||
/// </summary>
|
||||
public long GoodsId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品编号
|
||||
/// </summary>
|
||||
public string GoodsNo { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品名称
|
||||
/// </summary>
|
||||
public string GoodsName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格ID
|
||||
/// </summary>
|
||||
public long SpecId { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 规格名称
|
||||
/// </summary>
|
||||
public string SpecName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单位
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 单价
|
||||
/// </summary>
|
||||
public decimal Price { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 销售单数量
|
||||
/// </summary>
|
||||
public decimal SellCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 售后原因描述
|
||||
/// </summary>
|
||||
public string ReasonDesc { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货数量
|
||||
/// </summary>
|
||||
public decimal ReturnCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货金额
|
||||
/// </summary>
|
||||
public decimal ReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货数量
|
||||
/// </summary>
|
||||
public decimal SendCount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货金额
|
||||
/// </summary>
|
||||
public decimal SendFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 应退金额
|
||||
/// </summary>
|
||||
public decimal ShouldReturnFee { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 备注
|
||||
/// </summary>
|
||||
public string Remark { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 货品批次信息列表
|
||||
/// </summary>
|
||||
public List<GoodsBatchInfo> GoodsBatchInfoList { get; set; }
|
||||
}
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 结算信息
|
||||
/// </summary>
|
||||
public class ReturnChangePay
|
||||
{
|
||||
/// <summary>
|
||||
/// 退货金额
|
||||
/// </summary>
|
||||
public decimal ReturnAccounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 发货金额
|
||||
/// </summary>
|
||||
public decimal SendAccounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 应退合计
|
||||
/// </summary>
|
||||
public decimal ReturnTotal { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算币种
|
||||
/// </summary>
|
||||
public string SettlementCurrency { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 结算币种code
|
||||
/// </summary>
|
||||
public string SettlementCurrencyCode { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 付款状态(0:未付款;1:部分付款;2:已付款)
|
||||
/// </summary>
|
||||
public int PayStatus { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 付款金额
|
||||
/// </summary>
|
||||
public decimal PayAccounts { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 付款时间
|
||||
/// </summary>
|
||||
public string PayTime { get; set; }
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 收件人信息
|
||||
/// </summary>
|
||||
public class ReturnChangeReceiver
|
||||
{
|
||||
/// <summary>
|
||||
/// 客户名称
|
||||
/// </summary>
|
||||
public string CustomerName { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 客户账户
|
||||
/// </summary>
|
||||
public string CustomerAccount { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 邮编
|
||||
/// </summary>
|
||||
public string Zip { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 国家
|
||||
/// </summary>
|
||||
public string Country { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 省
|
||||
/// </summary>
|
||||
public string State { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 城市
|
||||
/// </summary>
|
||||
public string City { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 区县
|
||||
/// </summary>
|
||||
public string District { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 街道
|
||||
/// </summary>
|
||||
public string Town { get; set; }
|
||||
}
|
||||
|
||||
}
|
||||
@@ -97,7 +97,15 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
public string Unit { get; set; }
|
||||
public string unit { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分摊后金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "shareFavourableAfterFee")]
|
||||
public decimal? ShareFavourableAfterFee { get; set; }
|
||||
|
||||
}
|
||||
|
||||
@@ -110,11 +118,11 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int couponFee { get; set; }
|
||||
public decimal couponFee { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public int realFee { get; set; }
|
||||
public decimal realFee { get; set; }
|
||||
/// <summary>
|
||||
/// 店铺编码
|
||||
/// </summary>
|
||||
@@ -185,9 +193,15 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// </summary>
|
||||
public int apiType { get; set; }
|
||||
/// <summary>
|
||||
/// 货品详情
|
||||
/// 销售货品详情
|
||||
/// </summary>
|
||||
public List<GoodsDetailItem> goodsDetail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 退货货品信息
|
||||
/// </summary>
|
||||
public List<JkyReturnChangeGoodsDetail> ReturnChangeGoodsDetail { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// 系统编码
|
||||
/// </summary>
|
||||
@@ -212,6 +226,14 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// </summary>
|
||||
|
||||
public DateTime? consignTime { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Desc:分摊后金额
|
||||
/// Default:
|
||||
/// Nullable:True
|
||||
/// </summary>
|
||||
[SugarColumn(ColumnName = "shareFavourableAfterFee")]
|
||||
public decimal? ShareFavourableAfterFee { get; set; }
|
||||
}
|
||||
|
||||
public class TradeFullinfogetData
|
||||
@@ -231,7 +253,7 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
public string scrollId { get; set; }
|
||||
}
|
||||
|
||||
public class TradeFullinfogetResp
|
||||
public class TradeFullinfogetResp<T>
|
||||
{
|
||||
/// <summary>
|
||||
///
|
||||
@@ -240,7 +262,7 @@ namespace MyCode.Project.Infrastructure.JackYun
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
public TradeFullinfogetData data { get; set; }
|
||||
public T data { get; set; }
|
||||
/// <summary>
|
||||
///
|
||||
/// </summary>
|
||||
|
||||
@@ -267,6 +267,7 @@
|
||||
<Compile Include="JackYun\EnumAttribute.cs" />
|
||||
<Compile Include="JackYun\GoodsDetail.cs" />
|
||||
<Compile Include="JackYun\JackyunResponse.cs" />
|
||||
<Compile Include="JackYun\ReturnChangeListResp.cs" />
|
||||
<Compile Include="JackYun\TradeFullinfogetResp.cs" />
|
||||
<Compile Include="PayModels\ExtendedGateway.cs" />
|
||||
<Compile Include="PayModels\FuiouBarcodepay.cs" />
|
||||
|
||||
@@ -11,7 +11,7 @@ namespace MyCode.Project.OutSideService
|
||||
/// <param name="formId"></param>
|
||||
/// <param name="billSave"></param>
|
||||
/// <returns></returns>
|
||||
ResponseStatus Save(string formId, BillSave billSave);
|
||||
K3CloudResponseStatus Save(string formId, BillSave billSave);
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -91,19 +91,19 @@ namespace MyCode.Project.OutSideService.Implementation
|
||||
/// <param name="formId"></param>
|
||||
/// <param name="billSave"></param>
|
||||
/// <returns></returns>
|
||||
public ResponseStatus Save(string formId, BillSave billSave)
|
||||
public K3CloudResponseStatus Save(string formId, BillSave billSave)
|
||||
{
|
||||
var id = Guid.NewGuid();
|
||||
staClient = GetK3CloudClient();
|
||||
var datastr = JsonHelper.ToJson(billSave, false, false, true);
|
||||
LogHelper.Info(datastr);
|
||||
LogHelper.Info("调度Id:" + id + ",金蝶云接口请求:" + datastr);
|
||||
var resultString = staClient.Save(formId, datastr);
|
||||
LogHelper.Info("调度Id:" + id + "金蝶云接口响应:" + resultString);
|
||||
var result = JsonHelper.ToObject<K3ApiResult>(resultString);
|
||||
if (!result.Result.ResponseStatus.IsSuccess)
|
||||
{
|
||||
LogHelper.Error("金蝶云接口调用失败,请检查");
|
||||
LogHelper.Error(resultString);
|
||||
string Message = string.Join(",", result.Result.ResponseStatus.Errors.Select(t => t.Message).ToList());
|
||||
throw new Exception("云星空接口调用失败,请联系管理员,错误信息:" + Message);
|
||||
string Message = string.Join("\r\n", result.Result.ResponseStatus.Errors.Select(t => t.Message).ToList());
|
||||
throw new Exception("调度Id:" + id + "云星空接口调用失败,错误信息:" + Message);
|
||||
}
|
||||
var data = result.Result.ResponseStatus;
|
||||
return data;
|
||||
|
||||
@@ -30,12 +30,12 @@ namespace MyCode.Project.Repositories
|
||||
SELECT [shopCode], [shopName], [shopId], [warehouseName], [warehouseCode],
|
||||
[status], CONVERT(NVARCHAR(30),[consignTime],23) [consignTime],
|
||||
[goodsNo], [goodsId],SUM([sellTotal]) [sellTotal],
|
||||
SUM([sellCount]) [sellCount], SUM([divideSellTotal]) AS [divideSellTotal],
|
||||
SUM([sellCount]) [sellCount], SUM([shareFavourableAfterFee]) AS [divideSellTotal],
|
||||
[barcode], [TradeType] ,[warehouseId],Unit
|
||||
FROM [JackOrders] a WITH (NOLOCK)
|
||||
LEFT JOIN [dbo].[JackOrdersItem] b WITH (NOLOCK)
|
||||
ON a.id = b.JackOrdersId
|
||||
WHERE a.status = 0
|
||||
WHERE a.status = 0 and TradeType in (1,7) and sellCount <> 0
|
||||
GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo], [goodsId], [barcode] ,[warehouseId], [TradeType],Unit";
|
||||
var list = this.SelectList<PushOrderListResp>(sql);
|
||||
return list;
|
||||
@@ -43,5 +43,31 @@ GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [s
|
||||
#endregion
|
||||
|
||||
|
||||
#region GetPushOrder(获取合并后的吉客云订单)
|
||||
/// <summary>
|
||||
/// 获取合并后的吉客云订单
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
public List<PushOrderListResp> GetPushReturnOrder()
|
||||
{
|
||||
string sql = $@"
|
||||
SELECT [shopCode], [shopName], [shopId], [warehouseName], [warehouseCode],
|
||||
[status], CONVERT(NVARCHAR(30),[consignTime],23) [consignTime],
|
||||
[goodsNo], [goodsId],SUM([sellTotal]*-1) [sellTotal],
|
||||
SUM([returnCount]*-1) [sellCount], SUM([ShareShouldReturnFee]*-1) AS [divideSellTotal],
|
||||
[barcode], [TradeType] ,[warehouseId],Unit
|
||||
FROM [JackOrders] a WITH (NOLOCK)
|
||||
LEFT JOIN [dbo].[ReturnChangeGoodsDetail] b WITH (NOLOCK)
|
||||
ON a.id = b.JackOrdersId
|
||||
WHERE a.status = 0 and [TradeType]=8 and returnCount <> 0
|
||||
GROUP BY [shopCode],[shopName], [shopId], [warehouseName], [warehouseCode], [status], CONVERT(NVARCHAR(30),[consignTime],23) ,[goodsNo],
|
||||
[goodsId], [barcode] ,[warehouseId], [TradeType],Unit
|
||||
ORDER BY [shopCode],[consignTime] desc,[TradeType]
|
||||
";
|
||||
var list = this.SelectList<PushOrderListResp>(sql);
|
||||
return list;
|
||||
}
|
||||
#endregion
|
||||
|
||||
}
|
||||
}
|
||||
@@ -91,6 +91,7 @@
|
||||
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||
<Compile Include="PushKingDeeOrderItemRepository.cs" />
|
||||
<Compile Include="PushKingDeeOrderRepository.cs" />
|
||||
<Compile Include="ReturnChangeGoodsDetailRepository.cs" />
|
||||
<Compile Include="SysWorkprocessRepository.cs" />
|
||||
<Compile Include="WMStoJackyunInventoryMovementView1Repository.cs" />
|
||||
<Compile Include="YTKJTShopParameterRepository.cs" />
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
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 ReturnChangeGoodsDetailRepository: Repository<ReturnChangeGoodsDetail>, IReturnChangeGoodsDetailRepository
|
||||
{
|
||||
public ReturnChangeGoodsDetailRepository(MyCodeSqlSugarClient context) : base(context)
|
||||
{ }
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
@@ -25,7 +25,7 @@ namespace MyCode.Project.Repositories.ZHMD
|
||||
public List<WMStoJackyunInventoryMovementView1> GetList(DateTime now)
|
||||
{
|
||||
now = now.Date;
|
||||
string sql = $@"select TOP 100 * from [WMStoJackyun_InventoryMovement_View]
|
||||
string sql = $@"select 0 Status , * from [WMStoJackyun_InventoryMovement_View]
|
||||
where [过账日期]>='{now}'
|
||||
ORDER BY [单据号],[单据行号]";
|
||||
var list = this.SelectList<WMStoJackyunInventoryMovementView1>(sql);
|
||||
|
||||
@@ -14,8 +14,12 @@
|
||||
|
||||
<connectionStrings>
|
||||
|
||||
<add name="WMSConn" connectionString="Data Source=192.168.221.155; Initial Catalog=ESB_DTC; User ID=app_k3;Password=Postman2025k3; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
|
||||
<add name="YunTongConn" connectionString="Data Source=192.168.116.209; Initial Catalog=K3ZMFS_0905; User ID=sa;Password=Ac661978! ; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
|
||||
|
||||
<!--<add name="WMSConn" connectionString="Data Source=192.168.221.155; Initial Catalog=ESB_DTC; User ID=app_k3;Password=Postman2025k3; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
|
||||
<add name="YunTongConn" connectionString="Data Source=192.168.116.209; Initial Catalog=K3ZMFS_0905; User ID=sa;Password=Ac661978!; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />-->
|
||||
|
||||
<add name="WMSConn" connectionString="Data Source=127.0.0.1; Initial Catalog=yuntong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
|
||||
<add name="YunTongConn" connectionString="Data Source=127.0.0.1; Initial Catalog=yuntong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
|
||||
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
|
||||
@@ -1,14 +1,13 @@
|
||||
<?xml version="1.0" encoding="utf-8" ?>
|
||||
<Jobs>
|
||||
<job name="EveryTimeJob" desc="定时执行的调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.EveryJob,MyCode.Project.ScheduleTask" CronExpression="*/10 * * * * ?" runonce="false"/>
|
||||
<job name="AddOrderJob" desc="添加抓单的调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AddOrderJob,MyCode.Project.ScheduleTask" CronExpression="*/10 * * * * ?" runonce="false"/>
|
||||
<job name="AddOrderJob" desc="添加抓单的调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AddOrderJob,MyCode.Project.ScheduleTask" CronExpression="0 0 3 * * ?" runonce="false"/>
|
||||
<job name="AddWMSOrderJob" desc="添加抓单的调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AddWMSOrderJob,MyCode.Project.ScheduleTask" CronExpression="0 */15 * * * ?" runonce="false"/>
|
||||
</Jobs>
|
||||
<!--
|
||||
<job name="CalOrderMoreThan500Job" desc="计算消费超过500" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.CalOrderMoreThan500Job,MyCode.Project.ScheduleTask" CronExpression="*/10 * * * * ?" runonce="false" />
|
||||
<job name="AnsyLxmBaseDataJob" desc="同步流行美基础资料任务" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AnsyLxmBaseDataJob,MyCode.Project.ScheduleTask" CronExpression="0 0 1 * * ?" runonce="false" />
|
||||
<job name="AnsyLxmDataJob" desc="自动同步MSSQL到MYSQL" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AnsyLxmDataJob,MyCode.Project.ScheduleTask" CronExpression="*/20 * * * * ?" runonce="false" />
|
||||
<job name="QueueJob" desc="定时执行的调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.QueueJob,MyCode.Project.ScheduleTask" CronExpression="*/1 * * * * ?" runonce="false" />
|
||||
<job name="AnsyLxmHasGiftJob" desc="补充赠品到LxmSheetMore" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AnsyLxmHasGiftJob,MyCode.Project.ScheduleTask" CronExpression="*/50 * * * * ?" runonce="false" />
|
||||
<job name="AnsyLxmServiceOrderJob" desc="同步服务次数" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AnsyLxmServiceOrderJob,MyCode.Project.ScheduleTask" CronExpression="*/5 * * * * ?" runonce="false" />
|
||||
<job name="AnsyLxmUseDaysJob" desc="自动同步使用天数MSSQL到MYSQL" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AnsyLxmUseDaysJob,MyCode.Project.ScheduleTask" CronExpression="*/30 * * * * ?" runonce="false" />
|
||||
<job name="WebSocketJob" desc="WebSocket任务" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.WebSocketJob,MyCode.Project.ScheduleTask" CronExpression="*/1 * * * * ?" runonce="true" />
|
||||
@@ -19,9 +18,7 @@
|
||||
|
||||
<job name="QueueJob" desc="定时执行的调度" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.QueueJob,MyCode.Project.ScheduleTask" CronExpression="*/1 * * * * ?" runonce="false" />
|
||||
<job name="WebSocketJob" desc="WebSocket任务" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.WebSocketJob,MyCode.Project.ScheduleTask" CronExpression="*/1 * * * * ?" runonce="true" />
|
||||
<job name="AnsyLxmBaseDataJob" desc="同步流行美基础资料任务" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AnsyLxmBaseDataJob,MyCode.Project.ScheduleTask" CronExpression="0 0 1 * * ?" runonce="true" />
|
||||
|
||||
|
||||
|
||||
<job name="AutoHandleExpireIntegralJob" desc="自动处理过期积分" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AutoHandleExpireIntegralJob,MyCode.Project.ScheduleTask" CronExpression="0 0 1 * * ?" runonce="false" />
|
||||
SyncLogisticsAnsyJob
|
||||
<job name="AutoOperateRefundOrderJob" desc="自动操作售后订单接口" enabled="true" type="MyCode.Project.ScheduleTask.Jobs.AutoOperateRefundOrderJob,MyCode.Project.ScheduleTask" CronExpression="0 */59 * * * ?" runonce="false" />
|
||||
|
||||
27
Reportapi/MyCode.Project.ScheduleTask/Jobs/AddWMSOrderJob.cs
Normal file
27
Reportapi/MyCode.Project.ScheduleTask/Jobs/AddWMSOrderJob.cs
Normal file
@@ -0,0 +1,27 @@
|
||||
using MyCode.Project.Services;
|
||||
using Quartz;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.ScheduleTask.Jobs
|
||||
{
|
||||
[DisallowConcurrentExecution]
|
||||
public class AddWMSOrderJob : IJob
|
||||
{
|
||||
|
||||
private IWMSService _wMSService;
|
||||
public AddWMSOrderJob(IWMSService wMSService)
|
||||
{
|
||||
_wMSService = wMSService;
|
||||
}
|
||||
|
||||
|
||||
public void Execute(IJobExecutionContext context)
|
||||
{
|
||||
_wMSService.AddWMSTask();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -92,6 +92,7 @@
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="JobsHelp.cs" />
|
||||
<Compile Include="Jobs\AddWMSOrderJob.cs" />
|
||||
<Compile Include="Jobs\AddOrderJob.cs" />
|
||||
<Compile Include="Jobs\EveryJob.cs" />
|
||||
<Compile Include="Jobs\QueueJob.cs" />
|
||||
|
||||
@@ -22,5 +22,13 @@ namespace MyCode.Project.Services
|
||||
/// <exception cref="BaseException"></exception>
|
||||
List<TradesItem> testTradeFullInfoGet(DateTime now);
|
||||
|
||||
|
||||
/// <summary>
|
||||
/// 退货查询
|
||||
/// </summary>
|
||||
/// <param name="now">截止日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
List<TradesItem> GetReturnChangeList(DateTime now);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -20,12 +20,12 @@ namespace MyCode.Project.Services
|
||||
/// 推送入库申请
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
void SendInStock(string sheet);
|
||||
string SendInStock(string sheet);
|
||||
|
||||
/// <summary>
|
||||
/// 推送出库申请
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
void SendOutStock(string sheet);
|
||||
string SendOutStock(string sheet);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
using MyCode.Project.Domain.Message.Response.Common;
|
||||
using MyCode.Project.Infrastructure.JackYun;
|
||||
using MyCode.Project.Repositories.Common;
|
||||
using System.Collections.Generic;
|
||||
|
||||
@@ -18,5 +19,25 @@ namespace MyCode.Project.Services
|
||||
/// <returns></returns>
|
||||
|
||||
string GetAndMergeJackYunOrder(string now);
|
||||
|
||||
/// <summary>
|
||||
/// 调度运行抓吉客云退货订单
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
void TaskGetReturnChangeList(string now);
|
||||
|
||||
/// <summary>
|
||||
/// 把吉客云退货订单存进本地数据库
|
||||
/// </summary>
|
||||
/// <param name="trades"></param>
|
||||
|
||||
void SetReturnOrder(List<TradesItem> trades);
|
||||
|
||||
/// <summary>
|
||||
/// 合并吉客云退货订单到新表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
|
||||
string GetAndMergeJackReturnYunOrder(string now);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -9,6 +9,6 @@ namespace MyCode.Project.Services.IServices
|
||||
{
|
||||
public interface IOrderPushService
|
||||
{
|
||||
void PushOrderToKingDee(string id);
|
||||
string PushOrderToKingDee(string id);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,5 +26,10 @@ namespace MyCode.Project.Services
|
||||
/// 添加“合并吉客云订单到新表”的任务
|
||||
/// </summary>
|
||||
void AddMergeJackYunOrder();
|
||||
|
||||
/// <summary>
|
||||
/// 添加WMS抓单的调度
|
||||
/// </summary>
|
||||
void AddWMSTask();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -11,7 +11,7 @@ using System.Threading;
|
||||
|
||||
namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
public class JackYunService : ServiceBase , IJackYunService
|
||||
public class JackYunService : ServiceBase, IJackYunService
|
||||
{
|
||||
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
|
||||
public JackYunService(IYTKJTShopParameterRepository yTKJTShopParameterRepository)
|
||||
@@ -19,7 +19,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
_yTKJTShopParameterRepository = yTKJTShopParameterRepository;
|
||||
}
|
||||
|
||||
DateTime startTime = DateTime.Parse("2025-06-01");
|
||||
DateTime startTime = DateTime.Parse("2025-08-01");
|
||||
/// <summary>
|
||||
/// 请求开放平台服务
|
||||
/// </summary>
|
||||
@@ -46,7 +46,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
}
|
||||
|
||||
return JsonHelper.ToObject<JackyunResponse>(strResponse);
|
||||
}
|
||||
}
|
||||
|
||||
#region 订单查询
|
||||
/// <summary>
|
||||
@@ -55,18 +55,22 @@ namespace MyCode.Project.Services.Implementation
|
||||
/// <param name="now">截止日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
public List<TradesItem> testTradeFullInfoGet(DateTime now )
|
||||
public List<TradesItem> testTradeFullInfoGet(DateTime now)
|
||||
{
|
||||
if (now < startTime)
|
||||
now = startTime;
|
||||
|
||||
int total = 1;
|
||||
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
|
||||
OrderTradeFullInfoGetRequestBizData requestBizData = new OrderTradeFullInfoGetRequestBizData();
|
||||
//string value = "2025-06-15 00:00:00";// DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd HH:mm:ss") ;
|
||||
//string value1 = "2025-06-20 00:00:00";//DateTime.Now.Date.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
string value = now.Date.AddDays(-1).ToString("yyyy-MM-dd");
|
||||
string value = now.Date.AddDays(-7).ToString("yyyy-MM-dd");
|
||||
string value1 = now.Date.ToString("yyyy-MM-dd");
|
||||
if (now.Date.AddDays(-7) < startTime)
|
||||
{
|
||||
value = startTime.ToString("yyyy-MM-dd");
|
||||
}
|
||||
|
||||
requestBizData.StartModified = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
|
||||
requestBizData.EndModified = ""; //DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
@@ -74,8 +78,8 @@ namespace MyCode.Project.Services.Implementation
|
||||
requestBizData.HasTotal = total;
|
||||
requestBizData.PageSize = 200;
|
||||
requestBizData.PageIndex = 0;
|
||||
requestBizData.Fields = "TradeType,tradeStatus,consignTime,payTime,goodsDetail.barcode,tradeNo,orderNo,shopName,companyName,warehouseName,logisticName,mainPostid,goodsDetail.goodsNo,flagNames,columnExt,sourceAfterNo,goodsDetail.outerId,pickUpCode,expense.expenseFee,expense.expenseItemName,billDate,goodsPlatDiscountFee,goodsDetail.shareOrderDiscountFee,goodsDetail.shareOrderPlatDiscountFee,customizeGoodsColumn9,goodsDetail.goodsId,goodsDetail.sellCount,goodsDetail.needProcessCount,goodsDetail.baseUnitSellCount,goodsDetail.assessmentCost,goodsDetail.compassSourceContentTypem,sourceTradeNo,shopId,warehouseId,scrollId";
|
||||
requestBizData.StartCreated ="";// DateTime.ParseExact(value, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
requestBizData.Fields = "TradeType,tradeStatus,consignTime,payTime,goodsDetail.barcode,tradeNo,orderNo,shopName,companyName,warehouseName,logisticName,mainPostid,goodsDetail.goodsNo,flagNames,columnExt,sourceAfterNo,goodsDetail.outerId,pickUpCode,expense.expenseFee,expense.expenseItemName,billDate,goodsPlatDiscountFee,goodsDetail.shareOrderDiscountFee,goodsDetail.shareFavourableAfterFee,goodsDetail.shareOrderPlatDiscountFee,customizeGoodsColumn9,goodsDetail.goodsId,goodsDetail.sellCount,goodsDetail.needProcessCount,goodsDetail.baseUnitSellCount,goodsDetail.assessmentCost,goodsDetail.compassSourceContentTypem,sourceTradeNo,shopId,warehouseId,scrollId,goodsDetail.unit";
|
||||
requestBizData.StartCreated = "";// DateTime.ParseExact(value, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
requestBizData.EndCreated = "";// DateTime.ParseExact(value1, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
requestBizData.StartAuditTime = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
requestBizData.EndAuditTime = "";// DateTime.ParseExact(value1, "yyyy -MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
@@ -84,7 +88,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
//requestBizData.TradeStatus = 1010;
|
||||
requestBizData.TradeType = 1;
|
||||
requestBizData.SourceTradeNos = "";
|
||||
requestBizData.ShopIds = null;// shopConfigs.Select(t => t.FSHOPCODE).ToList(); // new long[] { 378761130654261100, 378761130654261100 };
|
||||
requestBizData.ShopIds = null; // new long[] { 378761130654261100, 378761130654261100 };
|
||||
List<int> TradeTypeList = new List<int>();
|
||||
TradeTypeList.Add(1);
|
||||
TradeTypeList.Add(7);
|
||||
@@ -98,11 +102,13 @@ namespace MyCode.Project.Services.Implementation
|
||||
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.TRADEFULLINFOGET).Value, "1.0", requestBizData);
|
||||
string ll = JsonHelper.ToJson(response);
|
||||
LogHelper.Info(ll);
|
||||
|
||||
|
||||
if (response.code == "200")
|
||||
{
|
||||
var orderjson = JsonHelper.ToJson(response.result);
|
||||
var list1 = JsonHelper.ToObject<TradeFullinfogetResp>(orderjson);
|
||||
var list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
||||
|
||||
|
||||
int pageIndex = 1;
|
||||
while (list1.data.trades != null && list1.data.trades.Count > 0)
|
||||
{
|
||||
@@ -116,7 +122,8 @@ namespace MyCode.Project.Services.Implementation
|
||||
if (response.code == "200")
|
||||
{
|
||||
orderjson = JsonHelper.ToJson(response.result);
|
||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp>(orderjson);
|
||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -126,12 +133,138 @@ namespace MyCode.Project.Services.Implementation
|
||||
throw new BaseException(msg);
|
||||
}
|
||||
});
|
||||
var shocodes = shopConfigs.Select(t => t.FSHOPCODE).ToList();
|
||||
trades = trades.Where(t => shocodes.Contains(t.shopCode)).ToList();
|
||||
return trades;
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region 退货查询
|
||||
/// <summary>
|
||||
/// 退货查询
|
||||
/// </summary>
|
||||
/// <param name="now">截止日期</param>
|
||||
/// <returns></returns>
|
||||
/// <exception cref="BaseException"></exception>
|
||||
public List<TradesItem> GetReturnChangeList(DateTime now)
|
||||
{
|
||||
|
||||
int total = 1;
|
||||
var shopConfigs = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
|
||||
ReturnChangeGetRequestBizData requestBizData = new ReturnChangeGetRequestBizData();
|
||||
//string value = "2025-06-15 00:00:00";// DateTime.Now.Date.AddDays(-5).ToString("yyyy-MM-dd HH:mm:ss") ;
|
||||
//string value1 = "2025-06-20 00:00:00";//DateTime.Now.Date.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
string value = now.Date.AddDays(-7).ToString("yyyy-MM-dd");
|
||||
string value1 = now.Date.ToString("yyyy-MM-dd");
|
||||
if (now.Date.AddDays(-7) < startTime)
|
||||
{
|
||||
value = startTime.ToString("yyyy-MM-dd");
|
||||
}
|
||||
|
||||
requestBizData.StartModified = "";// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
requestBizData.StartDeliveryDate = value;
|
||||
requestBizData.EndDeliveryDate = value1;
|
||||
requestBizData.EndModified = ""; //DateTime.ParseExact(value1, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
requestBizData.TradeNo = "";
|
||||
requestBizData.HasTotal = total;
|
||||
requestBizData.PageSize = 200;
|
||||
requestBizData.PageIndex = 0;
|
||||
|
||||
|
||||
|
||||
requestBizData.StartModified = null;// DateTime.ParseExact(value, "yyyy-MM-dd HH:mm:ss", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None);
|
||||
//requestBizData.TradeStatus = 1010;
|
||||
|
||||
requestBizData.ShopIds = null; // new long[] { 378761130654261100, 378761130654261100 };
|
||||
List<int> TradeTypeList = new List<int>();
|
||||
TradeTypeList.Add(1005);
|
||||
List<TradesItem> reslut = new List<TradesItem>();
|
||||
List<ReturnChangeListResp> trades = new List<ReturnChangeListResp>();
|
||||
TradeTypeList.ForEach(ty =>
|
||||
{
|
||||
requestBizData.ProcessStatusList = "";
|
||||
string lggl = JsonHelper.ToJson(requestBizData);
|
||||
LogHelper.Info(lggl);
|
||||
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.RETURNCHANGE).Value, "1.0", requestBizData);
|
||||
string ll = JsonHelper.ToJson(response);
|
||||
LogHelper.Info(ll);
|
||||
|
||||
if (response.code == "200")
|
||||
{
|
||||
var orderjson = JsonHelper.ToJson(response.result);
|
||||
var list1 = JsonHelper.ToObject<TradeFullinfogetResp<ReturnChangeData>>(orderjson);
|
||||
|
||||
|
||||
int pageIndex = 1;
|
||||
int TotalResults = list1.data.TotalResults;
|
||||
while (requestBizData.PageIndex* requestBizData.PageSize< TotalResults)
|
||||
{
|
||||
//list1.data.returnChangeList.ForEach(h => h.TradeType = ty);
|
||||
|
||||
trades.AddRange(list1.data.returnChangeList);
|
||||
requestBizData.PageIndex = pageIndex;
|
||||
pageIndex++;
|
||||
Thread.Sleep(100);
|
||||
response = Call(EnumAttribute.GetAttribute(ApiEnum.RETURNCHANGE).Value, "1.0", requestBizData);
|
||||
if (response.code == "200")
|
||||
{
|
||||
orderjson = JsonHelper.ToJson(response.result);
|
||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp<ReturnChangeData>>(orderjson);
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
string msg = response.msg;
|
||||
throw new BaseException(msg);
|
||||
}
|
||||
});
|
||||
var shocodes = shopConfigs.Select(t => t.FSHOPCODE).ToList();
|
||||
trades = trades.Where(t => shocodes.Contains(t.ShopCode)).ToList();
|
||||
//reslut = trades.Select(t => new TradesItem { tradeId = t.TradeId, couponFee = 0, realFee = 0, shopCode = t.ShopCode ,orderNo=t.ReturnChangeNo, tradeNo =t.TradeNo
|
||||
//,isDelete=0, mainPostid=t.MainPostid,
|
||||
// companyName=t.CompanyName,
|
||||
// flagNames=t.FlagNames,
|
||||
// shopName=t.ShopName,
|
||||
// warehouseName=t.WarehouseName
|
||||
//}).ToList();
|
||||
|
||||
|
||||
|
||||
reslut = trades.Select(rc => new TradesItem
|
||||
{
|
||||
tradeId = rc.TradeAfterId.ToString(),
|
||||
couponFee = 0,
|
||||
realFee = 0,
|
||||
shopCode = rc.ShopCode,
|
||||
orderNo = rc.ReturnChangeNo,
|
||||
tradeNo = rc.TradeNo,
|
||||
isDelete = 0,
|
||||
mainPostid = rc.MainPostid,
|
||||
companyName = rc.CompanyName,
|
||||
flagNames = rc.FlagNames,
|
||||
shopName = rc.ShopName,
|
||||
warehouseName = rc.WarehouseName,
|
||||
warehouseCode = rc.WarehouseCode,
|
||||
logisticName = rc.LogisticName,
|
||||
shopId = rc.ShopId.ToString(),
|
||||
TradeType = 8, // 假设这是售后退货类型
|
||||
consignTime = !string.IsNullOrWhiteSpace(rc.DeliveryTime) ? (DateTime?)DateTime.Parse(rc.DeliveryTime) : null,
|
||||
payTime = null, // 可根据需要设置
|
||||
tradeStatus = int.Parse(rc.TradeAfterStatus), // 注意类型转换
|
||||
warehouseId = rc.WarehouseId.ToString(),
|
||||
shopTypeCode = "",
|
||||
apiType = -114, // 默认值
|
||||
ReturnChangeGoodsDetail = rc.ReturnChangeGoodsDetail
|
||||
}).ToList();
|
||||
|
||||
|
||||
return reslut;
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -54,11 +54,12 @@ namespace MyCode.Project.Services.Implementation
|
||||
/// <summary>
|
||||
/// 上传入库数据
|
||||
/// </summary>
|
||||
public void SendInStock(string sheet)
|
||||
public string SendInStock(string sheet)
|
||||
{
|
||||
var list = _wMStoJackyunInventoryMovementView1Repository.GetInventoryMovement();
|
||||
//过滤入库数据
|
||||
var InStockHead = list.Where(t => t.type == "+" && t.relDataId == sheet).Select(p => p.relDataId).Distinct().ToList();
|
||||
string result = "";
|
||||
InStockHead.ForEach(relDataId =>
|
||||
{
|
||||
CreateAndStockinGetRequestBizData requestBizData = new CreateAndStockinGetRequestBizData();
|
||||
@@ -89,6 +90,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
Thread.Sleep(500);
|
||||
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.CREATEANDSTOCKIN).Value, "1.0", requestBizData);
|
||||
string ll = JsonHelper.ToJson(response);
|
||||
result = ll;
|
||||
LogHelper.Info("上传入库数据结果:" + ll);
|
||||
//判断返回结果是否成功
|
||||
if (response.code == "200")
|
||||
@@ -97,23 +99,26 @@ namespace MyCode.Project.Services.Implementation
|
||||
}
|
||||
else
|
||||
{
|
||||
//_wMStoJackyunInventoryMovementView1Repository.UpdateStatus(3, relDataId);
|
||||
_wMStoJackyunInventoryMovementView1Repository.UpdateStatus(3, relDataId);
|
||||
string msg = response.msg;
|
||||
throw new BaseException(msg);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// 上传出库数据
|
||||
/// </summary>
|
||||
public void SendOutStock(string sheet)
|
||||
public string SendOutStock(string sheet)
|
||||
{
|
||||
var list = _wMStoJackyunInventoryMovementView1Repository.GetInventoryMovement();
|
||||
//过滤出库数据
|
||||
var OutStockHead = list.Where(t => t.type != "+" && t.relDataId==sheet).Select(p => p.relDataId).Distinct().ToList();
|
||||
var OutStockHead = list.Where(t => t.type != "+" && t.relDataId==sheet).Select(p => p.relDataId).Distinct().ToList();
|
||||
string result = "";
|
||||
|
||||
OutStockHead.ForEach(relDataId =>
|
||||
{
|
||||
|
||||
@@ -145,6 +150,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
Thread.Sleep(500);
|
||||
JackyunResponse response = Call(EnumAttribute.GetAttribute(ApiEnum.CREATEANDSTOCKOUT).Value, "1.0", requestBizData);
|
||||
string ll = JsonHelper.ToJson(response);
|
||||
result = ll;
|
||||
LogHelper.Info(ll);
|
||||
//判断返回结果是否成功
|
||||
if (response.code == "200")
|
||||
@@ -153,12 +159,14 @@ namespace MyCode.Project.Services.Implementation
|
||||
}
|
||||
else
|
||||
{
|
||||
_wMStoJackyunInventoryMovementView1Repository.UpdateStatus(3, relDataId);
|
||||
string msg = response.msg;
|
||||
throw new BaseException(msg);
|
||||
//_wMStoJackyunInventoryMovementView1Repository.UpdateStatus(3, relDataId);
|
||||
|
||||
}
|
||||
|
||||
});
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -1,20 +1,18 @@
|
||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||
using MyCode.Project.Domain.Model;
|
||||
using MyCode.Project.Domain.Repositories;
|
||||
using MyCode.Project.Infrastructure.Common;
|
||||
using MyCode.Project.Infrastructure.JackYun;
|
||||
using MyCode.Project.Repositories;
|
||||
using MyCode.Project.Repositories.Common;
|
||||
using MyCode.Project.Services.IServices;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
|
||||
namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
public class JackYunTaskService : ServiceBase , IJackYunTaskService
|
||||
public class JackYunTaskService : ServiceBase, IJackYunTaskService
|
||||
{
|
||||
private IJackYunService _jackYunService;
|
||||
private IJackOrdersRepository _jackOrdersRepository;
|
||||
@@ -22,6 +20,8 @@ namespace MyCode.Project.Services.Implementation
|
||||
private IPushKingDeeOrderRepository _pushKingDeeOrderRepository;
|
||||
private IPushKingDeeOrderItemRepository _pushKingDeeOrderItemRepository;
|
||||
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
|
||||
private IReturnChangeGoodsDetailRepository _ReturnChangeGoodsDetailRepository;
|
||||
|
||||
private IWorkProcessService _workProcessService;
|
||||
|
||||
public JackYunTaskService(IJackOrdersRepository jackOrdersRepository
|
||||
@@ -29,14 +29,16 @@ namespace MyCode.Project.Services.Implementation
|
||||
, IPushKingDeeOrderRepository pushKingDeeOrderRepository
|
||||
, IPushKingDeeOrderItemRepository pushKingDeeOrderItemRepository
|
||||
, IYTKJTShopParameterRepository yTKJTShopParameterRepository
|
||||
, IReturnChangeGoodsDetailRepository returnChangeGoodsDetailRepository
|
||||
, IJackYunService jackYunService,
|
||||
IWorkProcessService workProcessService )
|
||||
IWorkProcessService workProcessService)
|
||||
{
|
||||
_yTKJTShopParameterRepository = yTKJTShopParameterRepository;
|
||||
_pushKingDeeOrderRepository = pushKingDeeOrderRepository;
|
||||
_pushKingDeeOrderItemRepository = pushKingDeeOrderItemRepository;
|
||||
_jackOrdersRepository = jackOrdersRepository;
|
||||
_jackOrdersItemRepository = jackOrdersItemRepository;
|
||||
_ReturnChangeGoodsDetailRepository = returnChangeGoodsDetailRepository;
|
||||
_jackYunService = jackYunService;
|
||||
_workProcessService = workProcessService;
|
||||
}
|
||||
@@ -50,7 +52,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
DateTime runTime = DateTime.Parse(now);
|
||||
var list = _jackYunService.testTradeFullInfoGet(runTime);
|
||||
SetOrder(list);
|
||||
SetOrder(list);
|
||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetAndMergeJackYunOrder", "合并吉客云订单到新表", now, 1);
|
||||
}
|
||||
#endregion
|
||||
@@ -69,23 +71,30 @@ namespace MyCode.Project.Services.Implementation
|
||||
trades = trades.Where(t => !ids.Contains(t.tradeId)).ToList();
|
||||
List<JackOrders> jackOrdersList = new List<JackOrders>();
|
||||
List<JackOrdersItem> ordersItemList = new List<JackOrdersItem>();
|
||||
var shopConfig = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
var shopCodeList = shopConfig.Select(t => t.FSHOPCODE).ToList();
|
||||
|
||||
|
||||
trades.ForEach(t =>
|
||||
{
|
||||
JackOrders jackOrders = new JackOrders();
|
||||
jackOrders = AutoMapperHelper.AutoMappToSingle<JackOrders, TradesItem>(t);
|
||||
jackOrders.Id = Guid.NewGuid();
|
||||
jackOrders.Status = 0;
|
||||
jackOrders.UpdateTime = DateTime.Now;
|
||||
jackOrders.CreateTime = DateTime.Now;
|
||||
if (t.goodsDetail != null)
|
||||
if (shopCodeList.Contains(t.shopCode))
|
||||
{
|
||||
var items = AutoMapperHelper.AutoMappToList<JackOrdersItem, GoodsDetailItem>(t.goodsDetail);
|
||||
items.ForEach(k =>
|
||||
JackOrders jackOrders = new JackOrders();
|
||||
jackOrders = AutoMapperHelper.AutoMappToSingle<JackOrders, TradesItem>(t);
|
||||
jackOrders.Id = Guid.NewGuid();
|
||||
jackOrders.Status = 0;
|
||||
jackOrders.UpdateTime = DateTime.Now;
|
||||
jackOrders.CreateTime = DateTime.Now;
|
||||
if (t.goodsDetail != null)
|
||||
{
|
||||
k.JackOrdersId = jackOrders.Id;
|
||||
});
|
||||
jackOrdersList.Add(jackOrders);
|
||||
ordersItemList.AddRange(items);
|
||||
var items = AutoMapperHelper.AutoMappToList<JackOrdersItem, GoodsDetailItem>(t.goodsDetail);
|
||||
items.ForEach(k =>
|
||||
{
|
||||
k.JackOrdersId = jackOrders.Id;
|
||||
});
|
||||
jackOrdersList.Add(jackOrders);
|
||||
ordersItemList.AddRange(items);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
@@ -95,6 +104,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
_jackOrdersRepository.Add(jackOrdersList);
|
||||
_jackOrdersItemRepository.Add(ordersItemList);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
@@ -108,22 +118,25 @@ namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
var list = _jackOrdersItemRepository.GetPushOrder();
|
||||
List<string> mesg = new List<string>();
|
||||
|
||||
|
||||
var shopParemList = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
List<PushKingDeeOrderItem> pushKingDeeOrderItems = new List<PushKingDeeOrderItem>();
|
||||
List<PushKingDeeOrder> pushKingDeeOrders = new List<PushKingDeeOrder>();
|
||||
List<PushKingDeeOrder> pushKingDeeOrders = new List<PushKingDeeOrder>();
|
||||
list.ForEach(sheet =>
|
||||
{
|
||||
if (pushKingDeeOrders.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId).Count() > 0)
|
||||
if (pushKingDeeOrders.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId
|
||||
&& t.ConsignTime.Value.ToString("yyyy-MM-dd")==sheet.ConsignTime && t.TradeType != 8).Count() > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
PushKingDeeOrder pushKingDeeOrder = new PushKingDeeOrder();
|
||||
pushKingDeeOrder = AutoMapperHelper.AutoMappToSingle<PushKingDeeOrder, PushOrderListResp>(sheet);
|
||||
pushKingDeeOrder.Id = Guid.NewGuid();
|
||||
pushKingDeeOrder.CreateTime = DateTime.Now;
|
||||
pushKingDeeOrder.UpdateTime = DateTime.Now;
|
||||
pushKingDeeOrders.Add(pushKingDeeOrder);
|
||||
|
||||
var tempList = list.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId).ToList();
|
||||
var tempList = list.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId && sheet.ConsignTime == t.ConsignTime).ToList();
|
||||
tempList.ForEach(item =>
|
||||
{
|
||||
PushKingDeeOrderItem pushKingDeeOrderItem = new PushKingDeeOrderItem();
|
||||
@@ -150,17 +163,161 @@ namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
t.Status = 1;
|
||||
t.UpdateTime = DateTime.Now;
|
||||
}
|
||||
}
|
||||
});
|
||||
oldList = oldList.Where(t => t.Status == 1).ToList();
|
||||
_jackOrdersRepository.Update(oldList);
|
||||
_pushKingDeeOrderRepository.Add(pushKingDeeOrders);
|
||||
_pushKingDeeOrderItemRepository.Add(pushKingDeeOrderItems);
|
||||
}
|
||||
pushKingDeeOrders.ForEach(t =>
|
||||
{
|
||||
_workProcessService.Add<IOrderPushService>(this.MerchantId, "PushOrderToKingDee", "推送订单到云星空或者WMS", t.Id, 1);
|
||||
Thread.Sleep(300);
|
||||
});
|
||||
|
||||
return JsonHelper.ToJson(list);
|
||||
}
|
||||
#endregion
|
||||
#endregion
|
||||
|
||||
|
||||
#region TaskGetReturnChangeList(调度运行抓吉客云退货订单)
|
||||
/// <summary>
|
||||
/// 调度运行抓吉客云退货订单
|
||||
/// </summary>
|
||||
/// <param name="now"></param>
|
||||
public void TaskGetReturnChangeList(string now)
|
||||
{
|
||||
DateTime runTime = DateTime.Parse(now);
|
||||
var list = _jackYunService.GetReturnChangeList(runTime);
|
||||
SetReturnOrder(list);
|
||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetAndMergeJackReturnYunOrder", "合并吉客云退货订单到新表", now, 1);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region SetReturnOrder(把吉客云退货订单存进本地数据库)
|
||||
/// <summary>
|
||||
/// 把吉客云退货订单存进本地数据库
|
||||
/// </summary>
|
||||
/// <param name="trades"></param>
|
||||
[TransactionCallHandler]
|
||||
public void SetReturnOrder(List<TradesItem> trades)
|
||||
{
|
||||
var ids = trades.Select(t => t.tradeId).Distinct().ToList();
|
||||
ids = _jackOrdersRepository.Queryable().Where(t => ids.Contains(t.TradeId)).Select(t => t.TradeId).Distinct().ToList();
|
||||
if (ids.Count > 0)
|
||||
trades = trades.Where(t => !ids.Contains(t.tradeId)).ToList();
|
||||
List<JackOrders> jackOrdersList = new List<JackOrders>();
|
||||
List<ReturnChangeGoodsDetail> ordersItemList = new List<ReturnChangeGoodsDetail>();
|
||||
var shopConfig = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
var shopCodeList = shopConfig.Select(t => t.FSHOPCODE).ToList();
|
||||
|
||||
|
||||
trades.ForEach(t =>
|
||||
{
|
||||
if (shopCodeList.Contains(t.shopCode))
|
||||
{
|
||||
JackOrders jackOrders = new JackOrders();
|
||||
jackOrders = AutoMapperHelper.AutoMappToSingle<JackOrders, TradesItem>(t);
|
||||
jackOrders.Id = Guid.NewGuid();
|
||||
jackOrders.Status = 0;
|
||||
jackOrders.UpdateTime = DateTime.Now;
|
||||
jackOrders.CreateTime = DateTime.Now;
|
||||
if (t.ReturnChangeGoodsDetail != null)
|
||||
{
|
||||
var items = AutoMapperHelper.AutoMappToList< ReturnChangeGoodsDetail, JkyReturnChangeGoodsDetail>(t.ReturnChangeGoodsDetail);
|
||||
items.ForEach(k =>
|
||||
{
|
||||
k.JackOrdersId = jackOrders.Id;
|
||||
});
|
||||
jackOrdersList.Add(jackOrders);
|
||||
ordersItemList.AddRange(items);
|
||||
}
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (jackOrdersList.Count > 0)
|
||||
{
|
||||
_jackOrdersRepository.Add(jackOrdersList);
|
||||
_ReturnChangeGoodsDetailRepository.Add(ordersItemList);
|
||||
}
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region GetAndMergeJackReturnYunOrder(合并吉客云退货订单到新表)
|
||||
/// <summary>
|
||||
/// 合并吉客云退货订单到新表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[TransactionCallHandler]
|
||||
public string GetAndMergeJackReturnYunOrder(string now)
|
||||
{
|
||||
var list = _jackOrdersItemRepository.GetPushReturnOrder();
|
||||
List<string> mesg = new List<string>();
|
||||
|
||||
var shopParemList = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
List<PushKingDeeOrderItem> pushKingDeeOrderItems = new List<PushKingDeeOrderItem>();
|
||||
List<PushKingDeeOrder> pushKingDeeOrders = new List<PushKingDeeOrder>();
|
||||
list.ForEach(sheet =>
|
||||
{
|
||||
if (pushKingDeeOrders.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId
|
||||
&& t.ConsignTime.Value.ToString("yyyy-MM-dd") == sheet.ConsignTime && t.TradeType==8).Count() > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
PushKingDeeOrder pushKingDeeOrder = new PushKingDeeOrder();
|
||||
pushKingDeeOrder = AutoMapperHelper.AutoMappToSingle<PushKingDeeOrder, PushOrderListResp>(sheet);
|
||||
pushKingDeeOrder.Id = Guid.NewGuid();
|
||||
pushKingDeeOrder.CreateTime = DateTime.Now;
|
||||
pushKingDeeOrder.UpdateTime = DateTime.Now;
|
||||
pushKingDeeOrders.Add(pushKingDeeOrder);
|
||||
|
||||
var tempList = list.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId && sheet.ConsignTime == t.ConsignTime).ToList();
|
||||
tempList.ForEach(item =>
|
||||
{
|
||||
PushKingDeeOrderItem pushKingDeeOrderItem = new PushKingDeeOrderItem();
|
||||
pushKingDeeOrderItem = AutoMapperHelper.AutoMappToSingle<PushKingDeeOrderItem, PushOrderListResp>(item);
|
||||
pushKingDeeOrderItem.PushKingDeeOrderId = pushKingDeeOrder.Id;
|
||||
pushKingDeeOrderItem.Id = Guid.NewGuid();
|
||||
pushKingDeeOrderItems.Add(pushKingDeeOrderItem);
|
||||
});
|
||||
//var shopParem = shopParemList.Where(h => h.FSHOPCODE == sheet.ShopId.Value.ToString()&& h.FWAREHOUSE.Value.ToString()==sheet.WarehouseId ).FirstOrDefault();
|
||||
//if (shopParem != null)
|
||||
//{
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// mesg.Add($@"店铺{sheet.ShopName}没有配置店铺参数或者配置的仓库不是 {sheet.WarehouseCode}");
|
||||
//}
|
||||
});
|
||||
if (pushKingDeeOrders.Count > 0)
|
||||
{
|
||||
var oldList = _jackOrdersRepository.Queryable().Where(t => t.Status == 0).ToList();
|
||||
oldList.ForEach(t =>
|
||||
{
|
||||
if (pushKingDeeOrders.Count(h => h.ShopId == t.ShopId && t.WarehouseId == h.WarehouseId) > 0)
|
||||
{
|
||||
t.Status = 1;
|
||||
t.UpdateTime = DateTime.Now;
|
||||
}
|
||||
});
|
||||
oldList = oldList.Where(t => t.Status == 1).ToList();
|
||||
_jackOrdersRepository.Update(oldList);
|
||||
_pushKingDeeOrderRepository.Add(pushKingDeeOrders);
|
||||
_pushKingDeeOrderItemRepository.Add(pushKingDeeOrderItems);
|
||||
}
|
||||
pushKingDeeOrders.ForEach(t =>
|
||||
{
|
||||
_workProcessService.Add<IOrderPushService>(this.MerchantId, "PushOrderToKingDee", "推送退货订单到云星空或者WMS", t.Id, 1);
|
||||
Thread.Sleep(300);
|
||||
});
|
||||
|
||||
return JsonHelper.ToJson(list);
|
||||
}
|
||||
#endregion
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,7 @@ using MyCode.Project.Domain.Message.Request.KingDee.SaveModel;
|
||||
using MyCode.Project.Domain.Message.Request.WMS;
|
||||
using MyCode.Project.Domain.Message.Response.JackYun;
|
||||
using MyCode.Project.Domain.Message.Response.KingDee.K3Result;
|
||||
using MyCode.Project.Domain.Message.Response.KingDee.K3Result.Model;
|
||||
using MyCode.Project.Domain.Message.Response.WMS;
|
||||
using MyCode.Project.Domain.Model;
|
||||
using MyCode.Project.Domain.Repositories;
|
||||
@@ -16,13 +17,15 @@ using MyCode.Project.Services.IServices;
|
||||
using RestSharp;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Configuration;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
public class OrderPushService : IOrderPushService
|
||||
public class OrderPushService : ServiceBase, IOrderPushService
|
||||
{
|
||||
private IJackYunService _jackYunService;
|
||||
private IJackOrdersRepository _jackOrdersRepository;
|
||||
@@ -31,14 +34,15 @@ namespace MyCode.Project.Services.Implementation
|
||||
private IPushKingDeeOrderItemRepository _pushKingDeeOrderItemRepository;
|
||||
private IYTKJTShopParameterRepository _yTKJTShopParameterRepository;
|
||||
private IKingDeeService _kingDeeService;
|
||||
|
||||
private IWorkProcessService _workProcessService;
|
||||
public OrderPushService(IJackOrdersRepository jackOrdersRepository
|
||||
, IJackOrdersItemRepository jackOrdersItemRepository
|
||||
, IPushKingDeeOrderRepository pushKingDeeOrderRepository
|
||||
, IPushKingDeeOrderItemRepository pushKingDeeOrderItemRepository
|
||||
, IYTKJTShopParameterRepository yTKJTShopParameterRepository
|
||||
, IJackYunService jackYunService
|
||||
, IKingDeeService kingDeeService)
|
||||
, IKingDeeService kingDeeService,
|
||||
IWorkProcessService workProcessService)
|
||||
{
|
||||
_yTKJTShopParameterRepository = yTKJTShopParameterRepository;
|
||||
_pushKingDeeOrderRepository = pushKingDeeOrderRepository;
|
||||
@@ -47,118 +51,13 @@ namespace MyCode.Project.Services.Implementation
|
||||
_jackOrdersItemRepository = jackOrdersItemRepository;
|
||||
_jackYunService = jackYunService;
|
||||
_kingDeeService = kingDeeService;
|
||||
_workProcessService = workProcessService;
|
||||
}
|
||||
|
||||
|
||||
#region SetOrder(把吉客云订单存进本地数据库)
|
||||
/// <summary>
|
||||
/// 把吉客云订单存进本地数据库
|
||||
/// </summary>
|
||||
/// <param name="trades"></param>
|
||||
[TransactionCallHandler]
|
||||
public void SetOrder(List<TradesItem> trades)
|
||||
{
|
||||
var ids = trades.Select(t => t.tradeId).Distinct().ToList();
|
||||
ids = _jackOrdersRepository.Queryable().Where(t => ids.Contains(t.TradeId)).Select(t => t.TradeId).Distinct().ToList();
|
||||
if (ids.Count > 0)
|
||||
trades = trades.Where(t => !ids.Contains(t.tradeId)).ToList();
|
||||
List<JackOrders> jackOrdersList = new List<JackOrders>();
|
||||
List<JackOrdersItem> ordersItemList = new List<JackOrdersItem>();
|
||||
trades.ForEach(t =>
|
||||
{
|
||||
JackOrders jackOrders = new JackOrders();
|
||||
jackOrders = AutoMapperHelper.AutoMappToSingle<JackOrders, TradesItem>(t);
|
||||
jackOrders.Id = Guid.NewGuid();
|
||||
jackOrders.Status = 0;
|
||||
jackOrders.UpdateTime = DateTime.Now;
|
||||
jackOrders.CreateTime = DateTime.Now;
|
||||
if (t.goodsDetail != null)
|
||||
{
|
||||
var items = AutoMapperHelper.AutoMappToList<JackOrdersItem, GoodsDetailItem>(t.goodsDetail);
|
||||
items.ForEach(k =>
|
||||
{
|
||||
k.JackOrdersId = jackOrders.Id;
|
||||
});
|
||||
jackOrdersList.Add(jackOrders);
|
||||
ordersItemList.AddRange(items);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
if (jackOrdersList.Count > 0)
|
||||
{
|
||||
_jackOrdersRepository.Add(jackOrdersList);
|
||||
_jackOrdersItemRepository.Add(ordersItemList);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region GetAndMergeJackYunOrder(合并吉客云订单到新表)
|
||||
/// <summary>
|
||||
/// 合并吉客云订单到新表
|
||||
/// </summary>
|
||||
/// <returns></returns>
|
||||
[TransactionCallHandler]
|
||||
public string GetAndMergeJackYunOrder(string now)
|
||||
{
|
||||
var list = _jackOrdersItemRepository.GetPushOrder();
|
||||
List<string> mesg = new List<string>();
|
||||
|
||||
var shopParemList = _yTKJTShopParameterRepository.Queryable().Where(t => t.FDOCUMENTSTATUS == "C").ToList();
|
||||
List<PushKingDeeOrderItem> pushKingDeeOrderItems = new List<PushKingDeeOrderItem>();
|
||||
List<PushKingDeeOrder> pushKingDeeOrders = new List<PushKingDeeOrder>();
|
||||
list.ForEach(sheet =>
|
||||
{
|
||||
if (pushKingDeeOrders.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId).Count() > 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
PushKingDeeOrder pushKingDeeOrder = new PushKingDeeOrder();
|
||||
pushKingDeeOrder = AutoMapperHelper.AutoMappToSingle<PushKingDeeOrder, PushOrderListResp>(sheet);
|
||||
pushKingDeeOrder.Id = Guid.NewGuid();
|
||||
pushKingDeeOrders.Add(pushKingDeeOrder);
|
||||
|
||||
var tempList = list.Where(t => t.ShopId == sheet.ShopId && t.WarehouseId == sheet.WarehouseId).ToList();
|
||||
tempList.ForEach(item =>
|
||||
{
|
||||
PushKingDeeOrderItem pushKingDeeOrderItem = new PushKingDeeOrderItem();
|
||||
pushKingDeeOrderItem = AutoMapperHelper.AutoMappToSingle<PushKingDeeOrderItem, PushOrderListResp>(item);
|
||||
pushKingDeeOrderItem.PushKingDeeOrderId = pushKingDeeOrder.Id;
|
||||
pushKingDeeOrderItem.Id = Guid.NewGuid();
|
||||
pushKingDeeOrderItems.Add(pushKingDeeOrderItem);
|
||||
});
|
||||
//var shopParem = shopParemList.Where(h => h.FSHOPCODE == sheet.ShopId.Value.ToString()&& h.FWAREHOUSE.Value.ToString()==sheet.WarehouseId ).FirstOrDefault();
|
||||
//if (shopParem != null)
|
||||
//{
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// mesg.Add($@"店铺{sheet.ShopName}没有配置店铺参数或者配置的仓库不是 {sheet.WarehouseCode}");
|
||||
//}
|
||||
});
|
||||
if (pushKingDeeOrders.Count > 0)
|
||||
{
|
||||
var oldList = _jackOrdersRepository.Queryable().Where(t => t.Status == 0).ToList();
|
||||
oldList.ForEach(t =>
|
||||
{
|
||||
if (pushKingDeeOrders.Count(h => h.ShopId == t.ShopId && t.WarehouseId == h.WarehouseId) > 0)
|
||||
{
|
||||
t.Status = 1;
|
||||
t.UpdateTime = DateTime.Now;
|
||||
}
|
||||
});
|
||||
oldList = oldList.Where(t => t.Status == 1).ToList();
|
||||
_jackOrdersRepository.Update(oldList);
|
||||
_pushKingDeeOrderRepository.Add(pushKingDeeOrders);
|
||||
_pushKingDeeOrderItemRepository.Add(pushKingDeeOrderItems);
|
||||
}
|
||||
|
||||
return JsonHelper.ToJson(list);
|
||||
}
|
||||
#endregion
|
||||
|
||||
public void PushOrderToKingDee(string id)
|
||||
|
||||
public string PushOrderToKingDee(string id)
|
||||
{
|
||||
string result2 = "";
|
||||
var orderHead = _pushKingDeeOrderRepository.Queryable().Where(t => id == t.Id.ToString()).First();
|
||||
if (orderHead.Status != 0)
|
||||
{
|
||||
@@ -168,6 +67,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
var param = _yTKJTShopParameterRepository
|
||||
.Queryable()
|
||||
.Where(t => t.FSHOPCODE == orderHead.ShopCode)
|
||||
.Where(t => t.FDOCUMENTSTATUS == "C") // 已审核
|
||||
.First();
|
||||
if (param is null)
|
||||
{
|
||||
@@ -183,6 +83,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
if (param.FSYNCHRONIZEKINGDEE == "1")
|
||||
{
|
||||
var response = PushKingdeeSaleOrder(orderHead, param);
|
||||
result2 = JsonHelper.ToJson(response);
|
||||
// 如果保存成功,需要更新源单数据
|
||||
if (response.IsSuccess)
|
||||
{
|
||||
@@ -195,12 +96,14 @@ namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
//wms
|
||||
var result = PushWMSSaleOrder(orderHead, param);
|
||||
result2 = JsonHelper.ToJson(result);
|
||||
if (result.Code == 200)
|
||||
{
|
||||
orderHead.Status = 2;
|
||||
_pushKingDeeOrderRepository.Update(orderHead);
|
||||
}
|
||||
}
|
||||
return result2;
|
||||
}
|
||||
|
||||
|
||||
@@ -213,16 +116,18 @@ namespace MyCode.Project.Services.Implementation
|
||||
// 新建销售订单实例
|
||||
var order = new SaleOrder();
|
||||
// 赋值
|
||||
var orderNo = pushKingdeeOrder.Sheet.ToString();
|
||||
//var orderNo = DateTimeOffset.Now.ToUnixTimeSeconds().ToString();
|
||||
|
||||
order.CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
order.OrderTime = pushKingdeeOrder.CreateTime?.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
order.OrderNo = pushKingdeeOrder.Id.ToString();
|
||||
//order.CompanyId = param.FCOMPANYID; // 公司Id
|
||||
order.CompanyId = "TZ"; // 公司Id
|
||||
order.OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4"; // 订单类型
|
||||
order.OrderNo = orderNo;
|
||||
order.CompanyId = param.FCOMPANYID; // 公司Id
|
||||
order.OrderType = pushKingdeeOrder.TradeType == 8 ? "PFTH" : "PFDD"; // 订单类型
|
||||
order.CustomerId = param.FCANGKUHUOZHU; // 货主ID
|
||||
order.WarehouseId = pushKingdeeOrder?.WarehouseId;
|
||||
order.WarehouseId = param.FDACANG;
|
||||
order.OrderTime = pushKingdeeOrder.ConsignTime?.ToString("yyyy-MM-dd HH:mm:ss");
|
||||
order.Channel = "K3Cloud"; // 下发系统
|
||||
order.Channel = "JeckYun"; // 下发系统
|
||||
order.ItemType = pushKingdeeOrder.TradeType == 8 ? "退货订单" : "标准销售订单"; // 单据类型
|
||||
order.TotalQty = itemList.Sum(n => n.SellCount);
|
||||
order.TotalMount = itemList.Sum(n => n.SellTotal);
|
||||
@@ -230,38 +135,40 @@ namespace MyCode.Project.Services.Implementation
|
||||
order.CustAccount = param.FSALESCUSTOMERS.ToString();
|
||||
order.Lines = itemList.Select(n => new Line()
|
||||
{
|
||||
OrderNo = pushKingdeeOrder.Id.ToString(),
|
||||
OrderNo = orderNo,
|
||||
//CompanyId = param.FCOMPANYID, // 公司Id
|
||||
CompanyId = "TZ", // 公司Id
|
||||
OrderType = pushKingdeeOrder.TradeType == 8 ? "7" : "4", // 订单类型
|
||||
CompanyId = param.FCOMPANYID, // 公司Id
|
||||
OrderType = pushKingdeeOrder.TradeType == 8 ? "PFTH" : "PFDD", // 订单类型
|
||||
LineNo = itemList.IndexOf(n) + 1,
|
||||
CustomerId = param.FCANGKUHUOZHU, // 货主ID
|
||||
Sku = n.Barcode,
|
||||
Barcode = n.Barcode,
|
||||
OrderQty = n.SellCount,
|
||||
OrderPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10),
|
||||
ItemId = n.GoodsId, // 商品
|
||||
OrderQty =Math.Abs( n.SellCount),
|
||||
OrderPrice = Math.Abs( Math.Round(n.DivideSellTotal /(n.SellCount), 10)),
|
||||
ItemId = n.GoodsNo, // 商品
|
||||
LocationId = param.FWAREHOUSECODE,
|
||||
CreateTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
|
||||
OrderUnit = "pcs"
|
||||
OrderUnit = n.Unit,
|
||||
}).ToArray();
|
||||
|
||||
var uri = "http://172.16.42.45:9000";
|
||||
var uri = ConfigurationManager.AppSettings.Get("WMSUri");
|
||||
|
||||
var requestString = JsonHelper.ToJson(order, false, true, true);
|
||||
var client = new RestClient($"{uri}/sale/order/out");
|
||||
var client = new RestClient(pushKingdeeOrder.TradeType == 8 ? $"{uri}/sale/order/return" : $"{uri}/sale/order/out");
|
||||
client.Timeout = -1;
|
||||
var request = new RestRequest(Method.POST);
|
||||
request.AddHeader("Content-Type", "application/json");
|
||||
request.AddParameter("application/json", requestString, ParameterType.RequestBody);
|
||||
IRestResponse response = client.Execute(request);
|
||||
var resultContent = response.Content;
|
||||
LogHelper.Info("WMS请求:" + requestString);
|
||||
LogHelper.Info("WMS响应:" + resultContent);
|
||||
var result = JsonHelper.ToObject<WMSResponse>(resultContent);
|
||||
if (result.Code != 200)
|
||||
{
|
||||
throw new Exception("推送WMS发生错误:" + resultContent);
|
||||
throw new Exception(result.Message);
|
||||
}
|
||||
LogHelper.Info(resultContent);
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
@@ -271,14 +178,13 @@ namespace MyCode.Project.Services.Implementation
|
||||
/// <param name="pushKingdeeOrder">源单信息</param>
|
||||
/// <param name="param">门店配置</param>
|
||||
/// <returns></returns>
|
||||
private Domain.Message.Response.KingDee.K3Result.Model.ResponseStatus PushKingdeeSaleOrder(PushKingDeeOrder pushKingdeeOrder, YTKJTShopParameter param)
|
||||
private K3CloudResponseStatus PushKingdeeSaleOrder(PushKingDeeOrder pushKingdeeOrder, YTKJTShopParameter param)
|
||||
{
|
||||
var itemList = _pushKingDeeOrderItemRepository.Queryable().Where(t => pushKingdeeOrder.Id == t.PushKingDeeOrderId).ToList();
|
||||
// 遍历单体,构造单据体实体
|
||||
var entryList = itemList.Select(n => new FSaleOrderEntryItem()
|
||||
{
|
||||
Fcode = n.Barcode, // 条码带出物料 、物料带出税额
|
||||
//Fcode = "2120101128415", // 条码带出物料 、物料带出税额
|
||||
FEntryTaxRate = param.FTAXRATE,
|
||||
FQty = n.SellCount, // 销售数量
|
||||
FTaxPrice = Math.Round(n.DivideSellTotal / n.SellCount, 10), // 含税单价等于 金额/总数
|
||||
@@ -298,7 +204,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
// 1:零售业务7:售后发货;8:售后退货
|
||||
FNUMBER = pushKingdeeOrder.TradeType == 8 ? "XSDD05_SYS" : "XSDD01_SYS"
|
||||
},
|
||||
FOrdertype = pushKingdeeOrder.TradeType == 8 ? "7" : "4",
|
||||
FOrdertype = pushKingdeeOrder.TradeType == 8 ? "10" : "9",
|
||||
FDate = pushKingdeeOrder.ConsignTime?.ToString("yyyy/MM/dd"),
|
||||
FSaleOrgId = new FSaleOrgId()
|
||||
{
|
||||
@@ -319,13 +225,14 @@ namespace MyCode.Project.Services.Implementation
|
||||
},
|
||||
FWarehouse = new FWarehouse()
|
||||
{
|
||||
FNUMBER = pushKingdeeOrder.WarehouseCode, // 仓库编码
|
||||
FNUMBER = param.FWAREHOUSECODE, // 仓库编码
|
||||
},
|
||||
FSaleOrderEntry = entryList
|
||||
};
|
||||
BillSave billSave = new BillSave()
|
||||
{
|
||||
Model = model
|
||||
Model = model,
|
||||
IsAutoSubmitAndAudit = true,
|
||||
};
|
||||
SaleOrderModel fSaleOrderEntry = new SaleOrderModel();
|
||||
|
||||
|
||||
@@ -22,7 +22,7 @@ namespace MyCode.Project.Services.Implementation
|
||||
{
|
||||
|
||||
|
||||
DateTime startTime = DateTime.Parse("2025-06-01");
|
||||
DateTime startTime = DateTime.Parse("2025-08-01");
|
||||
|
||||
private IWMStoJackyunInventoryMovementView2Repository _wMStoJackyunInventoryMovementView3Repository;
|
||||
private IRepository _repository;
|
||||
@@ -42,10 +42,26 @@ namespace MyCode.Project.Services.Implementation
|
||||
public void AddTask()
|
||||
{
|
||||
DateTime now = DateTime.Now.Date;
|
||||
_workProcessService.Add<IWMSService>(this.MerchantId, "GetList", "抓取WMS订单到本地数据库", now.ToString("yyyy-MM-dd"), 1);
|
||||
_workProcessService.Add<IWMSService>(this.MerchantId, "GetList", "抓取WMS订单到本地数据库", now.AddDays(-3).ToString("yyyy-MM-dd"), 1);
|
||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "TaskGetJackYunOrder", "调度运行抓吉客云销售订单", now.ToString("yyyy-MM-dd"), 1);
|
||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "TaskGetReturnChangeList", "调度运行抓吉客云退货订单", now.ToString("yyyy-MM-dd"), 1);
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
#region AddWMSTask(添加WMS抓单的调度)
|
||||
/// <summary>
|
||||
/// 添加WMS抓单的调度
|
||||
/// </summary>
|
||||
public void AddWMSTask()
|
||||
{
|
||||
DateTime now = DateTime.Now.Date;
|
||||
_workProcessService.Add<IWMSService>(this.MerchantId, "GetList", "抓取WMS订单到本地数据库", now.Date.ToString("yyyy-MM-dd"), 1);
|
||||
|
||||
}
|
||||
#endregion
|
||||
|
||||
|
||||
public List<WMStoJackyunInventoryMovementView1> GetList(object now2)
|
||||
{
|
||||
DateTime now = DateTime.Parse(now2.ToString());
|
||||
|
||||
@@ -165,19 +165,23 @@ namespace MyCode.Project.Services.Implementation
|
||||
var type = UnityHelper.GetUnityContainer().Resolve(Type.GetType(process.FuncClass));
|
||||
|
||||
MethodInfo method = type.GetType().GetMethod(process.FuncMethod);
|
||||
object result = new object();
|
||||
|
||||
if (!string.IsNullOrEmpty(process.ParamInfo))
|
||||
{
|
||||
method.Invoke(type, new object[] { process.ParamInfo });
|
||||
result= method.Invoke(type, new object[] { process.ParamInfo });
|
||||
}
|
||||
else
|
||||
{
|
||||
method.Invoke(type, new object[] { });
|
||||
result= method.Invoke(type, new object[] { });
|
||||
}
|
||||
|
||||
if (result == null)
|
||||
result = "";
|
||||
process.FuncStatus = (int)WorkProcessStatus.Complete;
|
||||
process.ExecuteTime = DateTime.Now;
|
||||
process.ExceptionInfo = string.Empty;
|
||||
process.EditTime = DateTime.Now;
|
||||
process.Result=JsonHelper.ToJson(result);
|
||||
_SysWorkProcessRepository.Update(process);
|
||||
|
||||
}
|
||||
|
||||
@@ -5,6 +5,7 @@ using MyCode.Project.Services.Implementation;
|
||||
using MyCode.Project.Services.IServices;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Text.RegularExpressions;
|
||||
using System.Web.Http;
|
||||
|
||||
namespace MyCode.Project.WebApi.Controllers
|
||||
@@ -34,9 +35,9 @@ namespace MyCode.Project.WebApi.Controllers
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public void TaskSendKingdeeSaleOrderById(string id)
|
||||
public string TaskSendKingdeeSaleOrderById(string id)
|
||||
{
|
||||
_orderPushService.PushOrderToKingDee(id);
|
||||
return _orderPushService.PushOrderToKingDee(id);
|
||||
}
|
||||
|
||||
|
||||
@@ -54,6 +55,19 @@ namespace MyCode.Project.WebApi.Controllers
|
||||
#endregion
|
||||
|
||||
|
||||
#region 调度运行抓吉客云退货订单
|
||||
|
||||
/// <summary>
|
||||
/// 调度运行抓吉客云退货订单
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public void TaskGetReturnChangeList(string now)
|
||||
{
|
||||
_jackYunTaskService.TaskGetReturnChangeList(now);
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 抓WMS订单
|
||||
/// <summary>
|
||||
/// 抓WMS订单
|
||||
@@ -78,6 +92,46 @@ namespace MyCode.Project.WebApi.Controllers
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region 合并吉客云退货订单到新表
|
||||
/// <summary>
|
||||
/// 合并吉客云退货订单到新表
|
||||
/// </summary>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public string GetAndMergeJackReturnYunOrder(string now)
|
||||
{
|
||||
return _jackYunTaskService.GetAndMergeJackReturnYunOrder(now);
|
||||
}
|
||||
#endregion
|
||||
|
||||
/// <summary>
|
||||
/// 替换或添加URL中的端口号(支持指定协议)
|
||||
/// </summary>
|
||||
/// <param name="input"></param>
|
||||
/// <param name="newPort"></param>
|
||||
/// <param name="protocol"></param>
|
||||
/// <returns></returns>
|
||||
[HttpGet]
|
||||
[AllowAnonymous]
|
||||
public string ReplaceOrAddPortAdvanced(string input, string newPort, string protocol = "http")
|
||||
{
|
||||
// 构建协议特定的模式
|
||||
string protocolPattern = string.IsNullOrEmpty(protocol) ? @"(https?|ftp)://" : $"{protocol}://";
|
||||
|
||||
// 匹配已有端口号
|
||||
string patternWithPort = $@"({protocolPattern}[^/]+?):\d+";
|
||||
// 匹配没有端口号
|
||||
string patternWithoutPort = $@"({protocolPattern}[^/:/]+)(?=/|$)";
|
||||
|
||||
// 先尝试替换已有端口号
|
||||
string result = Regex.Replace(input, patternWithPort, $"$1:{newPort}");
|
||||
|
||||
// 如果没有端口号被替换,尝试添加端口号
|
||||
if (result == input)
|
||||
result = Regex.Replace(input, patternWithoutPort, $"$1:{newPort}");
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
//#region 订单查询
|
||||
|
||||
|
||||
@@ -7,12 +7,12 @@
|
||||
<PropertyGroup>
|
||||
<WebPublishMethod>FileSystem</WebPublishMethod>
|
||||
<PublishProvider>FileSystem</PublishProvider>
|
||||
<LastUsedBuildConfiguration>Release</LastUsedBuildConfiguration>
|
||||
<LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
|
||||
<LastUsedPlatform>Any CPU</LastUsedPlatform>
|
||||
<SiteUrlToLaunchAfterPublish />
|
||||
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
|
||||
<ExcludeApp_Data>False</ExcludeApp_Data>
|
||||
<LaunchSiteAfterPublish>true</LaunchSiteAfterPublish>
|
||||
<ExcludeApp_Data>false</ExcludeApp_Data>
|
||||
<publishUrl>E:\Git\MyCodeMySql\Publish</publishUrl>
|
||||
<DeleteExistingFiles>True</DeleteExistingFiles>
|
||||
<DeleteExistingFiles>true</DeleteExistingFiles>
|
||||
</PropertyGroup>
|
||||
</Project>
|
||||
@@ -22,36 +22,38 @@
|
||||
</system.webServer>
|
||||
<connectionStrings>
|
||||
<!-- 数据库测试-->
|
||||
<add name="WMSConn" connectionString="Data Source=127.0.0.1; Initial Catalog=yuntong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
|
||||
|
||||
<add name="WMSConn" connectionString="Data Source=192.168.221.155; Initial Catalog=ESB_DTC; User ID=app_k3;Password=Postman2025k3; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun2" providerName="System.Data.SqlClient" />
|
||||
<add name="YunTongConn" connectionString="Data Source=192.168.116.209; Initial Catalog=K3ZMFS_0905; User ID=sa;Password=Ac661978!; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
|
||||
<!--测试MYSQL内网-->
|
||||
<add name="YunTongConn" connectionString="Data Source=127.0.0.1; Initial Catalog=yuntong; User ID=sa;Password=1; Connect Timeout=120; MultipleActiveResultSets=True;App=JiKeYun1" providerName="System.Data.SqlClient" />
|
||||
|
||||
<!--测试MYSQL内网-->
|
||||
<!--<add name="MasterConn" connectionString="" providerName="MySql.Data.MySqlClient" />-->
|
||||
</connectionStrings>
|
||||
<appSettings>
|
||||
<!-- 当前使用的 账套ID(即数据中心id) -->
|
||||
<!-- 第三方系统登录授权的账套ID(即open.kingdee.com网站的第三方系统登录授权中的数据中心标识)-->
|
||||
<!-- 在第三方系统登录授权页面点击“生成测试链接”按钮后即可查看 -->
|
||||
<add key="X-KDApi-AcctID" value="66d918bdc00906" />
|
||||
<!-- 第三方系统登录授权的 集成用户名称 -->
|
||||
<!-- 补丁版本为PT-146894 [7.7.0.202111]及后续的版本,则为指定用户登录列表中任一用户 -->
|
||||
<!-- 若第三方系统登录授权已勾选“允许全部用户登录”,则无以上限制 -->
|
||||
<add key="X-KDApi-UserName" value="黄志荣" />
|
||||
<!-- 第三方系统登录授权的 应用ID -->
|
||||
<add key="X-KDApi-AppID" value="400925_wYdO4+jLQMDf091IQYTB48WNRjSaXKLu" />
|
||||
<!-- 第三方系统登录授权的 应用密钥 -->
|
||||
<add key="X-KDApi-AppSec" value="41dfa53b0e634b72b01e303d14fa6e35" />
|
||||
<!-- 账套语系,默认2052 -->
|
||||
<add key="X-KDApi-LCID" value="2052" />
|
||||
<!-- 组织编码,启用多组织时配置对应的组织编码才有效 -->
|
||||
<!--<add key="X-KDApi-OrgNum" value="*****"/>-->
|
||||
<!-- 服务Url地址(私有云和公有云都须配置金蝶云星空产品地址,K3Cloud/结尾)-->
|
||||
<add key="X-KDApi-ServerUrl" value="http://192.168.116.83/k3Cloud/" />
|
||||
|
||||
<!--解决swagger出错问题-->
|
||||
<!-- WMSUri地址 -->
|
||||
<add key="WMSUri" value="http://172.16.40.15:9000" />
|
||||
<!-- 当前使用的 账套ID(即数据中心id) -->
|
||||
<!-- 第三方系统登录授权的账套ID(即open.kingdee.com网站的第三方系统登录授权中的数据中心标识)-->
|
||||
<!-- 在第三方系统登录授权页面点击“生成测试链接”按钮后即可查看 -->
|
||||
<add key="X-KDApi-AcctID" value="654dcb96b00765" />
|
||||
<!-- 第三方系统登录授权的 集成用户名称 -->
|
||||
<!-- 补丁版本为PT-146894 [7.7.0.202111]及后续的版本,则为指定用户登录列表中任一用户 -->
|
||||
<!-- 若第三方系统登录授权已勾选“允许全部用户登录”,则无以上限制 -->
|
||||
<add key="X-KDApi-UserName" value="API" />
|
||||
<!-- 第三方系统登录授权的 应用ID -->
|
||||
<add key="X-KDApi-AppID" value="401100_Te8pSzHvRuHfQ/TuWfXsSY8GQKR/QoMo" />
|
||||
<!-- 第三方系统登录授权的 应用密钥 -->
|
||||
<add key="X-KDApi-AppSec" value="74b800916ed64ff081734856c9301d13" />
|
||||
<!-- 账套语系,默认2052 -->
|
||||
<add key="X-KDApi-LCID" value="2052" />
|
||||
<!-- 组织编码,启用多组织时配置对应的组织编码才有效 -->
|
||||
<!--<add key="X-KDApi-OrgNum" value="*****"/>-->
|
||||
<!-- 服务Url地址(私有云和公有云都须配置金蝶云星空产品地址,K3Cloud/结尾)-->
|
||||
<add key="X-KDApi-ServerUrl" value="http://127.0.0.1/k3Cloud/" />
|
||||
<!--解决swagger出错问题-->
|
||||
<add key="aspnet:UseHostHeaderForRequestUrl" value="true" />
|
||||
<!--当前环境,1:生产环境 0:开发环境-->
|
||||
<add key="Env" value="0" />
|
||||
<add key="Env" value="1" />
|
||||
<!--因公司IP时常变化,先用13跳转-->
|
||||
<add key="RedisAddress" value="" />
|
||||
<!--缓存前缀-->
|
||||
@@ -252,4 +254,5 @@
|
||||
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:14 /nowarn:41008 /define:_MYTYPE=\"Web\" /optionInfer+" />
|
||||
</compilers>
|
||||
</system.codedom>
|
||||
</configuration>
|
||||
</configuration>
|
||||
<!--ProjectGuid: 145F5737-38B9-4A8F-BC02-6A292D991581-->
|
||||
@@ -697,7 +697,7 @@ order_clerk_mobile:店员手机
|
||||
7) lxm_shop增加字段:status ,1:启用 0:禁用
|
||||
|
||||
|
||||
流行美单据:
|
||||
单据:
|
||||
|
||||
-预售单 BusPreSalesSheet
|
||||
-销售单
|
||||
|
||||
40
Reportapi/新建文本文档.txt
Normal file
40
Reportapi/新建文本文档.txt
Normal file
@@ -0,0 +1,40 @@
|
||||
import clr
|
||||
clr.AddReference('System')
|
||||
clr.AddReference('Kingdee.BOS')
|
||||
clr.AddReference('Kingdee.BOS.Core')
|
||||
clr.AddReference('Kingdee.BOS.App.Core')
|
||||
clr.AddReference('Kingdee.BOS.App')
|
||||
clr.AddReference('Kingdee.BOS.DataEntity')
|
||||
clr.AddReference('Kingdee.BOS.Business.DynamicForm')
|
||||
clr.AddReference("Kingdee.BOS.ServiceHelper")
|
||||
import sys
|
||||
from System import *
|
||||
from System import Type
|
||||
from System import Array
|
||||
from System.Text import *
|
||||
from System.Collections.Generic import *
|
||||
from Kingdee.BOS.App.Data import *
|
||||
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
|
||||
from Kingdee.BOS.Core.Metadata.EntityElement import *
|
||||
from Kingdee.BOS.Core.Metadata import *
|
||||
from Kingdee.BOS.Orm.DataEntity import *
|
||||
from Kingdee.BOS.ServiceHelper import *
|
||||
from Kingdee.BOS.Util import *
|
||||
from Kingdee.BOS.Core.Util import *
|
||||
|
||||
def BarItemClick(e):
|
||||
if (e.BarItemKey == "YTKJ_chongzhi"):
|
||||
SelectRows = this.View.SelectedDataRows
|
||||
Rowidlist = []
|
||||
if(SelectRows==None):
|
||||
this.View.ShowMessage("请先选择数据行")
|
||||
return
|
||||
for item in SelectRows:
|
||||
Rowid = "'"+item["主键"].ToString()+"'"
|
||||
Rowidlist.append(Rowid)
|
||||
sql ="""/*dialect*/ UPDATE SysWorkProcess SET FuncStatus = 0 WHERE ID IN ({0}) """.format(",".join(Rowidlist))
|
||||
#raise Exception(sql)
|
||||
res=DBUtils.Execute(this.Context, sql)
|
||||
if res>0:
|
||||
this.View.InvokeFormOperation("Refresh")
|
||||
this.View.ShowMessage("重置了"+res.ToString()+"条数据")
|
||||
17
Reportapi/日志查询SQL.txt
Normal file
17
Reportapi/日志查询SQL.txt
Normal file
@@ -0,0 +1,17 @@
|
||||
SELECT top 200 [ID] 主键
|
||||
,[FuncMethod] [方法名]
|
||||
,[ParamInfo] [参数]
|
||||
,[ExecuteTime] [执行时间]
|
||||
,[RetryCount] [重试次数]
|
||||
,[ExceptionInfo] [报错内容]
|
||||
,[FuncStatus] [任务状态]
|
||||
,[Creater] [创建人]
|
||||
,[CreateTime] [创建时间]
|
||||
,[Editor] [修改人]
|
||||
,[EditTime] [修改时间]
|
||||
,[Remark] [备注]
|
||||
|
||||
FROM [dbo].[SysWorkProcess]
|
||||
where '#FEndDate#'>[CreateTime]
|
||||
and '#FStartDate#'<=[CreateTime]
|
||||
ORDER BY [EditTime] desc
|
||||
Reference in New Issue
Block a user