调试完成
This commit is contained in:
parent
18b211daa0
commit
99a757f517
@ -68,10 +68,8 @@ namespace MyCode.Project.Repositories
|
|||||||
{
|
{
|
||||||
string sql = $@"SELECT
|
string sql = $@"SELECT
|
||||||
-- 分组字段
|
-- 分组字段
|
||||||
CONVERT(date, MAX(InOutDate2)) AS InOutDate2,
|
CONVERT(date, InOutDate2) AS InOutDate2,
|
||||||
WarehouseCode AS WarehouseCode,
|
[VendCustomerName], VendCode,
|
||||||
WarehouseName AS WarehouseName,
|
|
||||||
[SourceBillNo] AS GoodsdocNo ,[ApplyCompanyName],[VendCustomerName],
|
|
||||||
-- 合计数据
|
-- 合计数据
|
||||||
SUM(Quantity) AS Quantity ,-- 总数量,
|
SUM(Quantity) AS Quantity ,-- 总数量,
|
||||||
SUM(BaceCurrencyCostAmount) AS BaceCurrencyCostAmount,--总入库金额,
|
SUM(BaceCurrencyCostAmount) AS BaceCurrencyCostAmount,--总入库金额,
|
||||||
@ -88,13 +86,9 @@ namespace MyCode.Project.Repositories
|
|||||||
FROM [dbo].[BusiOrderGoodsDocIn]
|
FROM [dbo].[BusiOrderGoodsDocIn]
|
||||||
WHERE Status IN (0) -- 根据业务需求调整状态筛选
|
WHERE Status IN (0) -- 根据业务需求调整状态筛选
|
||||||
GROUP BY
|
GROUP BY
|
||||||
WarehouseCode,
|
CONVERT(date, InOutDate2) ,[VendCustomerName] ,VendCode
|
||||||
WarehouseName,
|
|
||||||
[SourceBillNo] ,[ApplyCompanyName],[VendCustomerName]
|
|
||||||
ORDER BY
|
ORDER BY
|
||||||
InOutDate2 DESC,
|
InOutDate2 DESC ";
|
||||||
WarehouseCode,
|
|
||||||
GoodsdocNo; ";
|
|
||||||
var list = this.SelectList<BusiOrderGoodsDocInSummary>(sql);
|
var list = this.SelectList<BusiOrderGoodsDocInSummary>(sql);
|
||||||
return list;
|
return list;
|
||||||
}
|
}
|
||||||
|
|||||||
@ -126,6 +126,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
if (response.code == "200")
|
if (response.code == "200")
|
||||||
{
|
{
|
||||||
orderjson = JsonHelper.ToJson(response.result);
|
orderjson = JsonHelper.ToJson(response.result);
|
||||||
|
LogHelper.Info(orderjson);
|
||||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
list1 = JsonHelper.ToObject<TradeFullinfogetResp<TradeFullinfogetData>>(orderjson);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -215,6 +216,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
if (response.code == "200")
|
if (response.code == "200")
|
||||||
{
|
{
|
||||||
orderjson = JsonHelper.ToJson(response.result);
|
orderjson = JsonHelper.ToJson(response.result);
|
||||||
|
LogHelper.Info(orderjson);
|
||||||
list1 = JsonHelper.ToObject<TradeFullinfogetResp<ReturnChangeData>>(orderjson);
|
list1 = JsonHelper.ToObject<TradeFullinfogetResp<ReturnChangeData>>(orderjson);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -333,6 +335,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
if (response.code == "200")
|
if (response.code == "200")
|
||||||
{
|
{
|
||||||
orderjson = JsonHelper.ToJson(response.result);
|
orderjson = JsonHelper.ToJson(response.result);
|
||||||
|
LogHelper.Info(orderjson);
|
||||||
list1 = JsonHelper.ToObject<BusiOrderGoodsDocInResponse2>(orderjson);
|
list1 = JsonHelper.ToObject<BusiOrderGoodsDocInResponse2>(orderjson);
|
||||||
TotalResults = list1.contextId;
|
TotalResults = list1.contextId;
|
||||||
}
|
}
|
||||||
@ -348,14 +351,14 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
throw new BaseException(msg);
|
throw new BaseException(msg);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
var warehouseCodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).Distinct().ToList();
|
//var warehouseCodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).Distinct().ToList();
|
||||||
var guolv = shopConfigs.Select(t => new { t.FPURCHASINGWAREHOUSECODE, t.FPURCHASEDATE }).ToList();
|
//var guolv = shopConfigs.Select(t => new { t.FPURCHASINGWAREHOUSECODE, t.FPURCHASEDATE }).ToList();
|
||||||
trades = trades.Where(t => warehouseCodes.Contains(t.warehouseCode)).ToList();
|
//trades = trades.Where(t => warehouseCodes.Contains(t.warehouseCode)).ToList();
|
||||||
|
|
||||||
foreach (var item in guolv)
|
//foreach (var item in guolv)
|
||||||
{
|
//{
|
||||||
trades.RemoveAll(t => item.FPURCHASINGWAREHOUSECODE == t.warehouseCode && item.FPURCHASEDATE > t.inOutDate2);
|
// trades.RemoveAll(t => item.FPURCHASINGWAREHOUSECODE == t.warehouseCode && item.FPURCHASEDATE > t.inOutDate2);
|
||||||
}
|
//}
|
||||||
|
|
||||||
return trades;
|
return trades;
|
||||||
}
|
}
|
||||||
@ -428,6 +431,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
if (response.code == "200")
|
if (response.code == "200")
|
||||||
{
|
{
|
||||||
orderjson = JsonHelper.ToJson(response.result);
|
orderjson = JsonHelper.ToJson(response.result);
|
||||||
|
LogHelper.Info(orderjson);
|
||||||
list1 = JsonHelper.ToObject<ErpStorageGoodsDocOutV2ResponseBizData2>(orderjson);
|
list1 = JsonHelper.ToObject<ErpStorageGoodsDocOutV2ResponseBizData2>(orderjson);
|
||||||
|
|
||||||
}
|
}
|
||||||
@ -440,9 +444,9 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
var warehouseCodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).Distinct().ToList();
|
//var warehouseCodes = shopConfigs.Select(t => t.FPURCHASINGWAREHOUSECODE).Distinct().ToList();
|
||||||
var guolv = shopConfigs.Select(t => new { t.FPURCHASINGWAREHOUSECODE, t.FPURCHASEDATE }).ToList();
|
//var guolv = shopConfigs.Select(t => new { t.FPURCHASINGWAREHOUSECODE, t.FPURCHASEDATE }).ToList();
|
||||||
trades = trades.Where(t => warehouseCodes.Contains(t.WarehouseCode)).ToList();
|
//trades = trades.Where(t => warehouseCodes.Contains(t.WarehouseCode)).ToList();
|
||||||
//foreach (var item in guolv)
|
//foreach (var item in guolv)
|
||||||
//{
|
//{
|
||||||
// trades.RemoveAll(t => item.FPURCHASINGWAREHOUSECODE == t.WarehouseCode && item.FPURCHASEDATE > t.InOutDate);
|
// trades.RemoveAll(t => item.FPURCHASINGWAREHOUSECODE == t.WarehouseCode && item.FPURCHASEDATE > t.InOutDate);
|
||||||
|
|||||||
@ -376,8 +376,8 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
item.Status = 0;
|
item.Status = 0;
|
||||||
item.CreateTime = DateTime.Now;
|
item.CreateTime = DateTime.Now;
|
||||||
item.CreateUserName = "";
|
item.CreateUserName = "";
|
||||||
var one = guolv.Where(h => h.FPURCHASINGWAREHOUSECODE == item.WarehouseCode).FirstOrDefault();
|
var one = guolv.Max(t=>t.FPURCHASEDATE);
|
||||||
if (one == null || one.FPURCHASEDATE > item.InOutDate2)
|
if (one == null || one > item.InOutDate2)
|
||||||
{
|
{
|
||||||
item.ID = Guid.Empty;
|
item.ID = Guid.Empty;
|
||||||
}
|
}
|
||||||
@ -440,7 +440,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
var oldList = _busiOrderGoodsDocInRepository.Queryable().Where(t => t.Status == 0).ToList();
|
var oldList = _busiOrderGoodsDocInRepository.Queryable().Where(t => t.Status == 0).ToList();
|
||||||
oldList.ForEach(t =>
|
oldList.ForEach(t =>
|
||||||
{
|
{
|
||||||
if (pushKingDeeOrders.Count(h => h.WarehouseCode == t.WarehouseCode && t.InOutDate2.Value.ToString("yyyy-MM-dd") == h.InOutDate2.Value.ToString("yyyy-MM-dd")) > 0)
|
if (pushKingDeeOrders.Count(h => h.VendCode == t.VendCode && t.InOutDate2.Value.ToString("yyyy-MM-dd") == h.InOutDate2.Value.ToString("yyyy-MM-dd")) > 0)
|
||||||
{
|
{
|
||||||
t.Status = 1;
|
t.Status = 1;
|
||||||
t.UpdateTime = DateTime.Now;
|
t.UpdateTime = DateTime.Now;
|
||||||
@ -508,6 +508,11 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
{
|
{
|
||||||
_storageGoodsDocOutHeadRepository.Add(jackOrdersList);
|
_storageGoodsDocOutHeadRepository.Add(jackOrdersList);
|
||||||
_storageGoodsDocOutDetailRepository.Add(ordersItemList);
|
_storageGoodsDocOutDetailRepository.Add(ordersItemList);
|
||||||
|
jackOrdersList.ForEach(t =>
|
||||||
|
{
|
||||||
|
_workProcessService.Add<IPurchaseReturnService>(this.MerchantId, "PushPurchaseReturnToKingDee", "推送采购退料单到金蝶云星空", t.Id, 1);
|
||||||
|
});
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -68,7 +68,7 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
|
|
||||||
if (goodsDocIn.Status ==2 )
|
if (goodsDocIn.Status ==2 )
|
||||||
{
|
{
|
||||||
throw new BaseException($"采购入库单 {goodsDocIn.GoodsdocNo} 已经推送过,状态为:{goodsDocIn.Status},不允许重复推送");
|
throw new BaseException($"{goodsDocIn.InOutDate2}+{goodsDocIn.VendCustomerName}的采购入库单已经推送过,状态为:{goodsDocIn.Status},不允许重复推送");
|
||||||
}
|
}
|
||||||
|
|
||||||
var param = _yTKJTShopParameterRepository
|
var param = _yTKJTShopParameterRepository
|
||||||
@ -93,16 +93,8 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
|
|
||||||
if (response.IsSuccess)
|
if (response.IsSuccess)
|
||||||
{
|
{
|
||||||
var allRecords = _pushKingDeeGoodsDocInRepository
|
goodsDocIn.Status = 2;
|
||||||
.Queryable()
|
_pushKingDeeGoodsDocInRepository.Update(goodsDocIn);
|
||||||
.Where(t => t.GoodsdocNo == goodsDocIn.GoodsdocNo)
|
|
||||||
.ToList();
|
|
||||||
|
|
||||||
foreach (var record in allRecords)
|
|
||||||
{
|
|
||||||
record.Status = 2;
|
|
||||||
_pushKingDeeGoodsDocInRepository.Update(record);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
@ -116,52 +108,32 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
// 从BusiOrderGoodsDocIn表获取明细数据
|
// 从BusiOrderGoodsDocIn表获取明细数据
|
||||||
var detailList = _busiOrderGoodsDocInRepository
|
var detailList = _busiOrderGoodsDocInRepository
|
||||||
.Queryable()
|
.Queryable()
|
||||||
.Where(t => t.SourceBillNo == goodsDocIn.GoodsdocNo)
|
.Where(t => t.InOutDate2.Value.ToString("yyyy-MM-dd") == goodsDocIn.InOutDate2.Value.ToString("yyyy-MM-dd") && t.VendCode==goodsDocIn.VendCode )
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
if (detailList == null || detailList.Count == 0)
|
if (detailList == null || detailList.Count == 0)
|
||||||
{
|
{
|
||||||
throw new BaseException($"采购入库单 {goodsDocIn.GoodsdocNo} 没有找到明细数据,无法推送");
|
throw new BaseException($"没有找到明细数据,无法推送");
|
||||||
}
|
}
|
||||||
|
|
||||||
var vendorCodes = detailList.Where(d => !string.IsNullOrEmpty(d.VendCode))
|
|
||||||
.Select(d => d.VendCode)
|
|
||||||
.Distinct()
|
|
||||||
.ToList();
|
|
||||||
if (vendorCodes.Count > 1)
|
|
||||||
{
|
|
||||||
throw new BaseException($"采购入库单 {goodsDocIn.GoodsdocNo} 明细行中存在不同的供应商编码:{string.Join(",", vendorCodes)},无法推送");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 获取第一条明细用于主表信息
|
// 获取第一条明细用于主表信息
|
||||||
var firstDetail = detailList.FirstOrDefault();
|
var firstDetail = detailList.FirstOrDefault();
|
||||||
if (firstDetail == null)
|
if (firstDetail == null)
|
||||||
{
|
{
|
||||||
throw new BaseException($"采购入库单 {goodsDocIn.GoodsdocNo} 明细数据为空,无法推送");
|
throw new BaseException($" 明细数据为空,无法推送");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 获取采购组织ID
|
// 获取采购组织ID
|
||||||
string purchaseOrgId = param.FPURCHASEORGID?.ToString() ?? param.FSALEORGID?.ToString() ?? DEFAULT_ORG;
|
string purchaseOrgId = param.FPURCHASEORGID?.ToString() ?? param.FSALEORGID?.ToString() ?? DEFAULT_ORG;
|
||||||
|
|
||||||
// 获取仓库编码
|
// 获取仓库编码
|
||||||
string warehouseCode = firstDetail.WarehouseCode ?? param.FPURCHASINGWAREHOUSECODE ?? "";
|
string warehouseCode =param.FPURCHASINGWAREHOUSECODE ;
|
||||||
|
|
||||||
// 数据校验
|
|
||||||
if (string.IsNullOrEmpty(firstDetail.VendCode))
|
|
||||||
{
|
|
||||||
throw new BaseException($"采购入库单 {goodsDocIn.GoodsdocNo} 供应商编码为空,无法推送");
|
|
||||||
}
|
|
||||||
if (string.IsNullOrEmpty(warehouseCode))
|
|
||||||
{
|
|
||||||
throw new BaseException($"采购入库单 {goodsDocIn.GoodsdocNo} 仓库编码为空,无法推送");
|
|
||||||
}
|
|
||||||
|
|
||||||
// 构建金蝶API的明细行数据
|
// 构建金蝶API的明细行数据
|
||||||
var entryList = detailList.Select((n, index) => BuildEntryItem(n, param, purchaseOrgId, warehouseCode)).ToList();
|
var entryList = detailList.Select((n, index) => BuildEntryItem(n, param, purchaseOrgId, warehouseCode)).ToList();
|
||||||
|
|
||||||
if (entryList.Count == 0)
|
if (entryList.Count == 0)
|
||||||
{
|
{
|
||||||
throw new BaseException($"采购入库单 {goodsDocIn.GoodsdocNo} 明细数据转换失败,无法推送");
|
throw new BaseException($"采购入库单明细数据转换失败,无法推送");
|
||||||
}
|
}
|
||||||
|
|
||||||
// 构建金蝶API的主表数据
|
// 构建金蝶API的主表数据
|
||||||
@ -255,11 +227,12 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
|
|
||||||
private PurchaseStockInModel BuildMainModel(PushKingDeeGoodsDocIn goodsDocIn, BusiOrderGoodsDocIn firstDetail, YTKJTShopParameter param, string orgId, List<FPurchaseStockInEntryItem> entryList)
|
private PurchaseStockInModel BuildMainModel(PushKingDeeGoodsDocIn goodsDocIn, BusiOrderGoodsDocIn firstDetail, YTKJTShopParameter param, string orgId, List<FPurchaseStockInEntryItem> entryList)
|
||||||
{
|
{
|
||||||
|
//JKCR+年月日+自增ID(三位)
|
||||||
string dateStr = goodsDocIn.InOutDate2?.ToString("yyyy-MM-dd HH:mm:ss") ?? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
string dateStr = goodsDocIn.InOutDate2?.ToString("yyyy-MM-dd HH:mm:ss") ?? DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
|
||||||
|
string FBillNo = GenerateBillNo(goodsDocIn.SortId, goodsDocIn.InOutDate2.Value);
|
||||||
return new PurchaseStockInModel()
|
return new PurchaseStockInModel()
|
||||||
{
|
{
|
||||||
FBillNo= goodsDocIn.GoodsdocNo,
|
FBillNo= FBillNo,
|
||||||
FID = 0,
|
FID = 0,
|
||||||
FBillTypeID = new FBillTypeID()
|
FBillTypeID = new FBillTypeID()
|
||||||
{
|
{
|
||||||
@ -317,6 +290,23 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
FInStockEntry = entryList
|
FInStockEntry = entryList
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* JKXC+年月日+自增ID(三位)--销售出库单
|
||||||
|
JKXT+年月日+自增ID(三位)--销售退货单
|
||||||
|
JKCR+年月日+自增ID(三位)--采购入库单
|
||||||
|
JKCT+年月日+自增ID(三位)--采购退货单
|
||||||
|
**/
|
||||||
|
private string GenerateBillNo(int Sheet, DateTime date)
|
||||||
|
{
|
||||||
|
string prefix = "JKCR" + date.ToString("yyyyMMdd");
|
||||||
|
string numberPart = (Sheet > 0 ? Sheet.ToString() : "").PadLeft(3, '0');
|
||||||
|
numberPart = numberPart.Length > 3 ? numberPart.Substring(numberPart.Length - 3) : numberPart;
|
||||||
|
// 组合并确保只取最后3位数字
|
||||||
|
string combined = prefix + numberPart;
|
||||||
|
return combined;
|
||||||
|
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -44,8 +44,8 @@ namespace MyCode.Project.Services.Implementation
|
|||||||
DateTime now = DateTime.Now.Date;
|
DateTime now = DateTime.Now.Date;
|
||||||
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "TaskGetJackYunOrder", "调度运行抓吉客云销售订单", now.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);
|
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "TaskGetReturnChangeList", "调度运行抓吉客云退货订单", now.ToString("yyyy-MM-dd"), 1);
|
||||||
//_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetPurchaseInboundData", "调度运行吉客云采购入库", now.ToString("yyyy-MM-dd"), 1);
|
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetPurchaseInboundData", "调度运行吉客云采购入库", now.ToString("yyyy-MM-dd"), 1);
|
||||||
//_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetStorageGoodsDocOutV2", "获取吉客云采购退货出库单", now.ToString("yyyy-MM-dd"), 1);
|
_workProcessService.Add<IJackYunTaskService>(this.MerchantId, "GetStorageGoodsDocOutV2", "获取吉客云采购退货出库单", now.ToString("yyyy-MM-dd"), 1);
|
||||||
}
|
}
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user