From c573732636815e569d24aacff11a82f93602585a Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期三, 11 十二月 2024 09:10:43 +0800
Subject: [PATCH] 完成配送订单处理
---
CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user | 2
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs | 7
CoreCms.Net.RedisMQ/CyPlanOderMq.cs | 50 +
CoreCms.Net.IServices/CYOAServices/DTO.cs | 57 +
CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs | 7
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs | 23
CoreCms.Net.Configuration/GlobalEnumVars.cs | 7
CoreCms.Net.RedisMQ/WeChatPayShippingSubscribe.cs | 1
CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs | 9
CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs | 59 +
CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs | 59 +
CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs | 10
CoreCms.Net.Services/CYOAServices/CyinOAService.cs | 1471 ++++++++++++++++++++++++++++++++++++++++--------
13 files changed, 1,462 insertions(+), 300 deletions(-)
diff --git a/CoreCms.Net.Configuration/GlobalEnumVars.cs b/CoreCms.Net.Configuration/GlobalEnumVars.cs
index 42a8a21..e09fb55 100644
--- a/CoreCms.Net.Configuration/GlobalEnumVars.cs
+++ b/CoreCms.Net.Configuration/GlobalEnumVars.cs
@@ -845,7 +845,12 @@
/// 闂ㄥ簵鑷彁
/// </summary>
[Description("<button type='button' class='layui-btn layui-btn-warm layui-btn-xs'>闂ㄥ簵鑷彁</button>")]
- SelfDelivery = 3
+ SelfDelivery = 3,
+ /// <summary>
+ /// 缁忛攢鍟嗛厤閫�
+ /// </summary>
+ [Description("<button type='button' class='layui-btn layui-btn-warm layui-btn-xs'>缁忛攢鍟嗛厤閫�</button>")]
+ DistributorDelivery = 4
}
#endregion
diff --git a/CoreCms.Net.IServices/CYOAServices/DTO.cs b/CoreCms.Net.IServices/CYOAServices/DTO.cs
index 037f524..c4a7d5d 100644
--- a/CoreCms.Net.IServices/CYOAServices/DTO.cs
+++ b/CoreCms.Net.IServices/CYOAServices/DTO.cs
@@ -2,6 +2,7 @@
using SqlSugar;
using System;
using System.Collections.Generic;
+using System.ComponentModel.DataAnnotations;
namespace CoreCms.Net.IServices.CYOAServices
{
/// <summary>
@@ -264,12 +265,28 @@
/// 璁㈠崟璇存槑
/// </summary>
public string DeliverRemark { get; set; }
+
+ /// <summary>
+ /// 灏侀潰
+ /// </summary>
+ public string fengmian { get; set; }
+ /// <summary>
+ /// 鍐呴〉
+ /// </summary>
+ public string neiye { get; set; }
+
+ /// <summary>
+ /// 鍒涘缓鏂拌鍗曠殑鏃跺�欏繀濉�
+ /// </summary>
+ public int? orderkeyid { get; set; }
+
}
/// <summary>
/// 瀛︽牎璁㈠崟璇︽儏
/// </summary>
public class CoreCmsPlanOrderItemDto()
{
+
/// <summary>
/// id
/// </summary>
@@ -331,6 +348,14 @@
/// </summary>
public int? Number { get; set; }
+ /// <summary>
+ /// 搴撳瓨
+ /// </summary>
+ public int ? Inventory { get; set; }
+
+
+
+
}
/// <summary>
@@ -389,8 +414,16 @@
/// </summary>
public CoreCmsPlanOrderInfoDto? PlanOrdInfo { get; set; }
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remarke { get; set; }
-
+ /// <summary>
+ /// 鏄惁鍙互瀹屾垚璁㈠崟
+ /// </summary>
+ public bool? CanFinishOrder { get; set; }
+
@@ -398,7 +431,27 @@
}
-
+ /// <summary>
+ /// 鎵归噺瀹夋帓閫佽揣鍗�
+ /// </summary>
+ public class MakeMultiDeliveryOrderDto()
+ {
+ /// <summary>
+ /// 瀛︽牎璁㈠崟ID鏁扮粍
+ /// </summary>
+ public List<int> ids { get; set; }
+ /// <summary>
+ /// 閫佽揣鏃堕棿
+ /// </summary>
+ public DateTime Time { get; set; }
+ /// <summary>
+ /// 閫佽揣鍛樼數璇� 鍙告満鐢佃瘽
+ /// </summary>
+ [Required(ErrorMessage = "鎵嬫満鍙风爜涓嶈兘涓虹┖")]
+ [RegularExpression(@"^1[3-9]\d{9}$", ErrorMessage = "璇疯緭鍏ユ湁鏁堢殑鎵嬫満鍙风爜")]
+ public string DeliveryMoble { get; set; }
+
+ }
/// <summary>
/// 璁剧疆閫佽揣璇存槑
diff --git a/CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs b/CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs
index 2f5fb9c..e4ea9b6 100644
--- a/CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs
+++ b/CoreCms.Net.IServices/CYOAServices/ICyinOAService.cs
@@ -15,14 +15,18 @@
/// 鏄惁鏄鏍℃柟
/// </summary>
/// <returns></returns>
- public Task<bool> IsSchooler();
-
+ public Task<bool> IsSchooler();
+ /// <summary>
+ ///鏄惁鏄窛鍗板鎴峰垪琛�
+ /// </summary>
+ /// <returns></returns>
+ public Task<bool> IsSchoolManger();
/// <summary>
/// 鏄惁鏄徃鏈�
/// </summary>
/// <returns></returns>
- public Task<bool > IsDrive();
+ public Task<bool> IsDrive();
/// <summary>
/// 鏄惁鏄厤閫佺鐞嗗憳
@@ -31,8 +35,12 @@
public Task<bool> IsDeliverManage();
#region 瀛︽牎閮ㄥ垎
-
-
+ /// <summary>
+ /// 瀛︽牎绠$悊鍛樻煡璇�
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public Task<WebApiCallBack> GetOderListOfSchoolManager(FMPageByWhereOrder entity);
/// <summary>
/// 鑾峰彇鍒楄〃
/// </summary>
@@ -57,7 +65,7 @@
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
- public Task<WebApiCallBack> SetDeliveryDataOfschool(SetDeliveryDataDto entity);
+ public Task<WebApiCallBack> SetDeliveryDataOfschool(SetDeliveryDataDto entity);
/// <summary>
/// 鑾峰彇鐗╂祦鍦板潃浣嶇疆淇℃伅
@@ -78,7 +86,12 @@
/// <param name="entity"></param>
/// <returns></returns>
public Task<WebApiCallBack> GetOderInfo(FMIntId entity);
+
+
+
#endregion
+
+
#region 鍙告満閮ㄥ垎
@@ -132,6 +145,8 @@
/// <returns></returns>
public Task<WebApiCallBack> SetTarcks(TracksDto entity);
+
+
#endregion
@@ -161,6 +176,20 @@
/// <param name="entity"></param>
/// <returns></returns>
public Task<WebApiCallBack> SetDeliveryOderOfDeliveryManage(DeliveryOrderDto entity);
+
+ /// <summary>
+ /// 鎵归噺瀹夋帓閫佽揣
+ /// </summary>
+ /// <param name="ids"></param>
+ /// <returns></returns>
+ public Task<WebApiCallBack> MakeMultiDeliveryOderOfDeliveryManage(MakeMultiDeliveryOrderDto entitly);
+
+ /// <summary>
+ /// 鐩樼偣瀛︽牎搴撳瓨
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public Task<WebApiCallBack> GetSchoolInventory(FMIntId entity);
#endregion
@@ -169,5 +198,23 @@
public Task<List<Sys_CitySite>> GetZoneListALL();
#endregion
+ #region 瀛︽牎绠$悊绔�
+ /// <summary>
+ /// 澧炲姞瀛︽牎璁㈠崟
+ /// </summary>
+ /// <returns></returns>
+ public Task<WebApiCallBack> CreatSchoolOfSchoolManage(CoreCmsPlanOrderInfoDto entity);
+ /// <summary>
+ /// 澧炲姞瀛︽牎璁㈠崟
+ /// </summary>
+ /// <returns></returns>
+ public Task<WebApiCallBack> GetCreatSchoolOfSchoolManage();
+ /// <summary>
+ /// 鍒犻櫎瀛︽牎
+ /// </summary>
+ /// <returns></returns>
+ public Task<WebApiCallBack> DelSchoolOfSchoolManage(FMIntId entity);
+ #endregion
+
}
}
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs
index a7c5fba..f111a88 100644
--- a/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs
+++ b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrder.cs
@@ -222,6 +222,16 @@
/// </summary>
public string DeliverRemark { get; set; }
+ /// <summary>
+ /// 渚涘簲鍟咺D
+ /// </summary>
+ public string FirmId { get; set; }
+ /// <summary>
+ /// 宸插畨鎺掑徃鏈�
+ /// </summary>
+ [SugarColumn(IsIgnore = true)]
+ public string DeliveryMoble { get; set; }
+
}
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs
index c848267..9287066 100644
--- a/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs
+++ b/CoreCms.Net.Model/CyinOAModel/CoreCmsPlanOrderItem.cs
@@ -119,5 +119,14 @@
[SugarColumn(IsIgnore = true)]
public int? DeliveredCount { get; set; }
+ /// <summary>
+ /// 灏侀潰
+ /// </summary>
+ public string fengmian { get; set; }
+ /// <summary>
+ /// 鍐呴〉
+ /// </summary>
+ public string neiye { get; set; }
+
}
}
diff --git a/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs b/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs
index 350db09..f4bd015 100644
--- a/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs
+++ b/CoreCms.Net.Model/CyinOAModel/CoreDeliverOrder.cs
@@ -85,7 +85,7 @@
/// Default:
/// Nullable:True
/// </summary>
- public CoreDeliverOrderType OrderState {get;set;} = CoreDeliverOrderType.Start;
+ public CoreDeliverOrderType OrderState {get;set;} = CoreDeliverOrderType.UnStart;
/// <summary>
/// 浣滀笟鏈厤閫佽〃
@@ -117,6 +117,11 @@
/// 缁撴潫鏃堕棿
/// </summary>
public DateTime? OverTime { get; set; }
+
+ /// <summary>
+ /// 澶囨敞
+ /// </summary>
+ public string Remarke { get;set;}
}
/// <summary>
/// 閰嶉�佸崟鐘舵��
diff --git a/CoreCms.Net.RedisMQ/CyPlanOderMq.cs b/CoreCms.Net.RedisMQ/CyPlanOderMq.cs
index 388dc8c..a3f8806 100644
--- a/CoreCms.Net.RedisMQ/CyPlanOderMq.cs
+++ b/CoreCms.Net.RedisMQ/CyPlanOderMq.cs
@@ -90,44 +90,54 @@
// 鍒涘缓 HTTP POST 璇锋眰
var request = new HttpRequestMessage(HttpMethod.Post, url);
- // 鍙戦�佽姹傚苟鑾峰彇鍝嶅簲
- using (var response = await client.SendAsync(request))
- {
- // 纭繚璇锋眰鎴愬姛
- response.EnsureSuccessStatusCode();
- try
+ // 鍙戦�佽姹傚苟鑾峰彇鍝嶅簲
+ try
+ {
+ using (var response = await client.SendAsync(request))
{
- // 璇诲彇鍝嶅簲鍐呭
- string responseBody = await response.Content.ReadAsStringAsync();
+ // 纭繚璇锋眰鎴愬姛
+ response.EnsureSuccessStatusCode();
try
{
- JObject jsonObject = JObject.Parse(responseBody.ToLower());
-
- if ("True" == (string)jsonObject["status"])
+ // 璇诲彇鍝嶅簲鍐呭
+ string responseBody = await response.Content.ReadAsStringAsync();
+
+ try
{
- return;
+ JObject jsonObject = JObject.Parse(responseBody.ToLower());
+
+ if ("True" == (string)jsonObject["status"])
+ {
+ return;
+ }
+ else
+ {
+ NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴杩斿洖閿欒", JsonConvert.SerializeObject(new { url, responseBody }));
+ }
}
- else
+ catch (Exception e)
{
+
NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴杩斿洖閿欒", JsonConvert.SerializeObject(new { url, responseBody }));
}
+
}
catch (Exception e)
{
- NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴杩斿洖閿欒", JsonConvert.SerializeObject(new { url, responseBody }));
+ NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴閾炬帴閿欒", JsonConvert.SerializeObject(new { url, e.Message, e.StackTrace }));
}
-
- }
- catch (Exception e)
- {
- NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴閾炬帴閿欒", JsonConvert.SerializeObject(new { url, e.Message, e.StackTrace }));
}
-
}
+ catch (Exception e)
+ {
+
+ NLogUtil.WriteAll(NLog.LogLevel.Error, LogType.PcWeb, "璋冪敤CYOA鍚庡彴閾炬帴閿欒", JsonConvert.SerializeObject(new { url, e.Message, e.StackTrace }));
+ }
+
}
}
}
diff --git a/CoreCms.Net.RedisMQ/WeChatPayShippingSubscribe.cs b/CoreCms.Net.RedisMQ/WeChatPayShippingSubscribe.cs
index ce0a1e9..3e834a2 100644
--- a/CoreCms.Net.RedisMQ/WeChatPayShippingSubscribe.cs
+++ b/CoreCms.Net.RedisMQ/WeChatPayShippingSubscribe.cs
@@ -204,6 +204,7 @@
(int)GlobalEnumVars.OrderReceiptType.SelfDelivery => (int)GlobalEnumVars.WeChatShippingLogisticsType.鐢ㄦ埛鑷彁,
(int)GlobalEnumVars.OrderReceiptType.IntraCityService => (int)GlobalEnumVars.WeChatShippingLogisticsType.鍚屽煄閰嶉��,
(int)GlobalEnumVars.OrderReceiptType.Logistics => (int)GlobalEnumVars.WeChatShippingLogisticsType.鐗╂祦閰嶉��,
+ (int)GlobalEnumVars.OrderReceiptType.DistributorDelivery=> (int)GlobalEnumVars.WeChatShippingLogisticsType.鍚屽煄閰嶉��,//缁忛攢鍟嗛厤閫佽涓哄悓鍩�
_ => request.LogisticsType
};
diff --git a/CoreCms.Net.Services/CYOAServices/CyinOAService.cs b/CoreCms.Net.Services/CYOAServices/CyinOAService.cs
index 09f18ef..bff2835 100644
--- a/CoreCms.Net.Services/CYOAServices/CyinOAService.cs
+++ b/CoreCms.Net.Services/CYOAServices/CyinOAService.cs
@@ -12,8 +12,10 @@
using EC_SeckillInfo;
using EnumsNET;
using Essensoft.Paylink.Alipay.Domain;
+using Microsoft.OpenApi.Validations;
using Nest;
using Newtonsoft.Json;
+using NPOI.HPSF;
using NPOI.SS.Formula.Functions;
using SqlSugar;
using SqlSugar.Extensions;
@@ -23,13 +25,16 @@
using System.Linq;
using System.Text;
using System.Threading.Tasks;
+using System.Xml.Linq;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinExpressDeliveryOpenMessageGetDeliveryListResponse.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinGetCurrentSelfMenuInfoResponse.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinQrcodeCreateRequest.Types.Action.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinTagsMembersGetBlackListResponse.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.CgibinUserInfoBatchGetRequest.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.ComponentTCBBatchCreateContainerServiceVersionRequest.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.ScanProductAddV2Request.Types.Product.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.SemanticSemproxySearchResponse.Types;
+using static SKIT.FlurlHttpClient.Wechat.Api.Models.WxaSecOrderUploadCombinedShippingInfoRequest.Types.SubOrder.Types;
using static SKIT.FlurlHttpClient.Wechat.Api.Models.WxaServiceMarketServiceGetServiceBuyerListResponse.Types.Buyer.Types;
namespace CoreCms.Net.Services.CYOAServices
@@ -37,18 +42,22 @@
/// <summary>
/// 宸濆嵃鐩稿叧鏈嶅姟
/// </summary>
- public class CyinOAService: ICyinOAService
+ public class CyinOAService : ICyinOAService
{
/// <summary>
/// 鏄惁鏄徃鏈簁ey
/// </summary>
const string IsCYDbDbKey = "IsCYDbDbKey:";
-
+ /// <summary>
+ /// 鍙告満璁㈠崟寮�濮嬪悗閿佸崟key
+ /// </summary>
+ const string LockFilshDeliverOderKey = "LockFilshDeliverOderKey:";
+ const string LockFilshDeliverOderString = "GOODLuck:";
/// <summary>
/// 鏄惁鎷ユ湁宸濆嵃鏁欒偛灞�璁㈠崟绠$悊
/// </summary>
const string IsSchoolID = "IsShoodsID:";
-
+ const string IsSchoolMangerID = "IsSchoolManger:";
const string IsDeliverManageKey = "IsDeliverManageKey:";
private readonly ISqlSugarClient _CyDbClient;
private readonly IUnitOfWork _UnitOfWork;
@@ -57,29 +66,34 @@
private readonly IRedisOperationRepository _redisOperationRepository;
private readonly string _UserMoble;
private string? _DriveName { get; set; }
-
-
- public CyinOAService( IUnitOfWork unitOfWork,IHttpContextUser contextUser,ICoreCmsUserServices coreCmsUserServices,
- IRedisOperationRepository redisOperationRepository,ICoreCmsUserServices coreCmsUser) {
-
+
+ /// <summary>
+ /// 瀛︽牎绠$悊鍛業D,鏈夊垯鏄紝娌℃湁鍒欎笉鏄�
+ /// </summary>
+ private Guid? _SchoolManagerKeyId { get; set; } = null;
+
+ public CyinOAService(IUnitOfWork unitOfWork, IHttpContextUser contextUser, ICoreCmsUserServices coreCmsUserServices,
+ IRedisOperationRepository redisOperationRepository, ICoreCmsUserServices coreCmsUser)
+ {
+
_UnitOfWork = unitOfWork;
_CyDbClient = unitOfWork.GetDbClient().GetConnection(AppSettingsConstVars.CYDbDbID);
_User = contextUser;
_coreCmsUserServices = coreCmsUserServices;
_redisOperationRepository = redisOperationRepository;
- _coreCmsUserServices= coreCmsUserServices;
+ _coreCmsUserServices = coreCmsUserServices;
- _UserMoble = _coreCmsUserServices.QueryById(_User.ID).mobile??"娌℃湁鎵惧埌鐢ㄦ埛";
+ _UserMoble = _coreCmsUserServices.QueryById(_User.ID).mobile ?? "娌℃湁鎵惧埌鐢ㄦ埛";
}
-
+
/// <summary>
/// 鏄惁鏄鏍℃柟
/// </summary>
/// <returns></returns>
- public async Task<bool > IsSchooler()
+ public async Task<bool> IsSchooler()
{
-
+
if (_User?.ID == null)
{
@@ -87,7 +101,7 @@
throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
}
-
+
var user = _coreCmsUserServices.QueryById(_User.ID);
if (user == null)
@@ -99,12 +113,12 @@
if (string.IsNullOrEmpty(isdrive))
{
//娌℃湁閿��
-
- var data = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(x => x.userMobile == user.mobile).FirstAsync();
+
+ var data = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(x => x.shipMobile == user.mobile&&x.isdelete==false).FirstAsync();
if (data != null)
{
@@ -127,7 +141,85 @@
{
return false;
}
-
+
+ }
+ public async Task<bool> IsSchoolManger()
+ {
+
+ if (_User?.ID == null)
+ {
+
+
+ throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+
+ }
+
+
+ var user = _coreCmsUserServices.QueryById(_User.ID);
+ if (user == null)
+ {
+
+ throw new Exception("鐧诲綍淇℃伅閿欒锛岃閲嶆柊鐧诲綍");
+ }
+ var isdrive = await _redisOperationRepository.Get(IsSchoolMangerID + user.mobile);
+
+ if (string.IsNullOrEmpty(isdrive))
+ {
+ //娌℃湁閿��
+
+
+
+
+
+ var data = await _CyDbClient.Queryable<OA_CustomerCommunications>().Where(x => x.CompanyPhone == user.mobile).FirstAsync();
+
+ if (data != null)
+ {
+ _SchoolManagerKeyId = data.Keyid;
+ isdrive = _SchoolManagerKeyId.ToString();
+
+ }
+ else
+ isdrive = "false";
+ await _redisOperationRepository.StringSetAsync(IsSchoolMangerID + user.mobile, isdrive, TimeSpan.FromMinutes(1));
+ }
+ else
+ {
+ Guid keyid;
+ if( Guid.TryParse(isdrive,out keyid))
+ {
+ _SchoolManagerKeyId = keyid;
+ }
+ else
+ {
+
+ var data = await _CyDbClient.Queryable<OA_CustomerCommunications>().Where(x => x.CompanyPhone == user.mobile).FirstAsync();
+
+ if (data != null)
+ {
+ _SchoolManagerKeyId = data.Keyid;
+ isdrive = _SchoolManagerKeyId.ToString();
+
+ }
+ else
+ isdrive = "false";
+ await _redisOperationRepository.StringSetAsync(IsSchoolMangerID + user.mobile, isdrive, TimeSpan.FromMinutes(1));
+ }
+ }
+
+ //db.DbFirst.IsCreateAttribute().CreateClassFile("c:\\Demo\\5", "EC_SeckillInfo"); ;
+ //var data= db.Queryable<EC_PrizeInfo>().ToList();
+ //ret.data= data;
+ if (isdrive != "false")
+ {
+
+ return true;
+
+ }
+ else
+ {
+ return false;
+ }
}
/// <summary>
/// 鏄惁鏄�佽揣绠$悊鍛�
@@ -182,11 +274,12 @@
return false;
}
}
+
/// <summary>
/// 鏄惁鏄徃鏈�
/// </summary>
/// <returns></returns>
- public async Task<bool > IsDrive()
+ public async Task<bool> IsDrive()
{
var ret = new WebApiCallBack();
if (_User?.ID == null)
@@ -204,13 +297,13 @@
var isdrive = await _redisOperationRepository.Get(IsCYDbDbKey + user.mobile);
if (string.IsNullOrEmpty(isdrive))
{
-
+
var FirmIds = AppSettingsConstVars.CyOsFirmIds;
var firmidlist = FirmIds?.Split(",")?.Select(x => new Guid(x));
- var data = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴" && x.MobieNum == user.mobile && x.BF_IsDriver==true).FirstAsync();
+ var data = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴" && x.MobieNum == user.mobile && x.BF_IsDriver == true).FirstAsync();
if (data != null)
{
@@ -219,7 +312,7 @@
}
else
{
- _DriveName =null;
+ _DriveName = null;
isdrive = "false";
}
@@ -231,7 +324,7 @@
//ret.data= data;
if (isdrive == "true")
{
-
+
return true;
@@ -240,39 +333,46 @@
{
return false;
}
-
+
}
#region 瀛︽牎绔垪琛�
- /// <summary>
- /// 鑾峰彇瀛︽牎璐﹀彿绔殑School
- /// </summary>
- /// <param name="entity"></param>
- /// <returns></returns>
- public async Task<WebApiCallBack> GetOderListOfSchool(FMPageByWhereOrder entity)
+
+ public async Task<WebApiCallBack> GetOderListOfSchoolManager(FMPageByWhereOrder entity)
{
- var rt = await IsSchooler();
+ var rt = await IsSchoolManger();
+ //var rt2 = await IsSchooler();
if (rt == false)
{
- throw new Exception("娌℃湁鏉冮檺璁块棶");
+
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
}
var user = await _coreCmsUserServices.QueryByIdAsync(_User.ID);
if (user == null)
{
- throw new Exception("娌℃湁鏉冮檺璁块棶");
+
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
}
var where = PredicateBuilder.True<CoreCmsPlanOrder>();
-
+ where = where.And(p => p.isdelete == false);
if (!string.IsNullOrWhiteSpace(entity.where))
{
var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
{
quxianId = "",
sheng = "",
- shi="",
- quxian="",
+ shi = "",
+ quxian = "",
pianqu = "",
shipAddress = "",
DeliverState = ""
@@ -280,10 +380,11 @@
});
if (!string.IsNullOrWhiteSpace(obj.sheng))
{
-
- where = where.And(p => p.sheng == obj.sheng);
-
+
+ where = where.And(p => p.sheng == obj.sheng);
+
+
}
if (!string.IsNullOrWhiteSpace(obj.shi))
{
@@ -291,12 +392,14 @@
where = where.And(p => p.shi == obj.shi);
+
}
if (!string.IsNullOrWhiteSpace(obj.quxian))
{
where = where.And(p => p.quxian == obj.quxian);
+
}
@@ -307,6 +410,7 @@
{
where = where.And(p => p.quxianId == quxianId);
+
}
}
@@ -315,7 +419,8 @@
var pianqu = obj.pianqu;
- where = where.And(p => pianqu.Contains(p.pianqu));
+ where = where.And(p => p.pianqu.Contains(pianqu));
+
}
if (!string.IsNullOrWhiteSpace(obj.shipAddress))
@@ -323,7 +428,8 @@
var shipAddress = obj.shipAddress;
- where = where.And(p => shipAddress.Contains(p.shipAddress));
+ where = where.And(p => p.shipAddress.Contains(shipAddress));
+
}
if (!string.IsNullOrWhiteSpace(obj.DeliverState))
@@ -332,23 +438,189 @@
if (Enum.TryParse(obj.DeliverState, out DeliverStateType result))
{
where = where.And(p => p.DeliverState == result);
+
}
}
-
+
}
- where = where.And(p => user.mobile == p.userMobile);
- where = where.And(n => n.isdelete == false);
+ //where = where.And(p => user.mobile == p.userMobile);
+ //whereManger = whereManger.And(p => p.DeliverState == result);
+ where = where.And(p => p.isdelete == false);
RefAsync<int> totalNumbe = 0;
+ //var listSchool = _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).OrderBy(p => p.quxianId).Select(p => new CoreCmsPlanOrderListDto(), true);
+ //var listSchoolManger = _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).OrderBy(p => p.quxianId).Select(p => new CoreCmsPlanOrderListDto(), true);
+ var list = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).
+ LeftJoin<EC_OrderBasic>((p, or) => p.orderkeyid == or.Keyid)
+ .LeftJoin<OA_CustomerCommunications>((p, or, cus) => or.BuyerId == cus.Keyid)
+ .Where((p, or, cus) => cus.Keyid == _SchoolManagerKeyId)
+ .OrderBy((p, or, cus) => p.quxianId).Select((p, or, cus) => p, true).MergeTable().Select(p => new CoreCmsPlanOrderListDto(), true).ToPageListAsync(entity.page, entity.limit, totalNumbe);
- var list = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).OrderBy(p => p.quxianId).Select(p => new CoreCmsPlanOrderListDto(), true).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+ //.QueryPageByDTOAsync(where, entity.page, entity.limit, true);
+ return new WebApiCallBack()
+ {
+ status = true,
+ data = new
+ {
+ list,
+ entity.page,
+ totalNumbe,
+ entity.limit,
+ entity.where,
+
+ }
+
+ };
+ }
+
+ /// <summary>
+ /// 鑾峰彇瀛︽牎璐﹀彿绔殑School
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ public async Task<WebApiCallBack> GetOderListOfSchool(FMPageByWhereOrder entity)
+ {
+
+ var rt = await IsSchooler();
+ var rt2 = await IsSchoolManger();
+ if (rt == false && rt2 == false)
+ {
+
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+ }
+ var user = await _coreCmsUserServices.QueryByIdAsync(_User.ID);
+ if (user == null)
+ {
+
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+ }
+
+ var where = PredicateBuilder.True<CoreCmsPlanOrder>();
+
+ where= where.And(p => p.isdelete == false);
+ if (!string.IsNullOrWhiteSpace(entity.where))
+ {
+
+ var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
+ {
+ quxianId = "",
+ sheng = "",
+ shi = "",
+ quxian = "",
+ pianqu = "",
+ shipAddress = "",
+ DeliverState = ""
+
+ });
+ if (!string.IsNullOrWhiteSpace(obj.sheng))
+ {
+
+
+ where = where.And(p => p.sheng == obj.sheng);
+
+
+ }
+ if (!string.IsNullOrWhiteSpace(obj.shi))
+ {
+
+
+ where = where.And(p => p.shi == obj.shi);
+
+
+ }
+ if (!string.IsNullOrWhiteSpace(obj.quxian))
+ {
+
+
+ where = where.And(p => p.quxian == obj.quxian);
+
+
+ }
+
+ if (!string.IsNullOrWhiteSpace(obj.quxianId))
+ {
+ var quxianId = obj.quxianId.ObjToInt(0);
+ if (quxianId >= 0)
+ {
+
+ where = where.And(p => p.quxianId == quxianId);
+
+ }
+ }
+
+ if (!string.IsNullOrWhiteSpace(obj.pianqu))
+ {
+ var pianqu = obj.pianqu;
+
+
+ where = where.And(p => p.pianqu.Contains(pianqu));
+
+
+ }
+ if (!string.IsNullOrWhiteSpace(obj.shipAddress))
+ {
+ var shipAddress = obj.shipAddress;
+
+
+ where = where.And(p => p.shipAddress.Contains(shipAddress));
+
+ }
+
+ if (!string.IsNullOrWhiteSpace(obj.DeliverState))
+ {
+
+ if (Enum.TryParse(obj.DeliverState, out DeliverStateType result))
+ {
+ where = where.And(p => p.DeliverState == result);
+
+ }
+
+
+
+ }
+
+
+
+
+
+
+ }
+ //where = where.And(p => user.mobile == p.userMobile);
+ //whereManger = whereManger.And(p => p.DeliverState == result);
+ where = where.And(p => p.isdelete == false);
+ RefAsync<int> totalNumbe = 0;
+ var listSchool = _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).Where(p => user.mobile == p.shipMobile).Select(p => new CoreCmsPlanOrderListDto(), true);
+ var listmager = _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).
+ LeftJoin<EC_OrderBasic>((p, or) => p.orderkeyid == or.Keyid)
+ .LeftJoin<OA_CustomerCommunications>((p, or, cus) => or.BuyerId == cus.Keyid)
+ .Where((p, or, cus) => cus.Keyid == _SchoolManagerKeyId)
+ .Select((p, or, cus) => p, true).Select(p => new CoreCmsPlanOrderListDto(), true);
+
+ List<CoreCmsPlanOrderListDto> list = new List<CoreCmsPlanOrderListDto>();
+ if (rt && rt2)
+ list = await _CyDbClient.Union(listSchool, listmager).OrderBy(p => p.quxianId).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+ else
+ if (rt)
+ list = await listSchool.OrderBy(p => p.quxianId).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+ else if (rt2)
+ list = await listmager.OrderBy(p => p.quxianId).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+
+ //var list = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(where).OrderBy(p => p.quxianId).Select(p => new CoreCmsPlanOrderListDto(), true).ToPageListAsync(entity.page, entity.limit, totalNumbe);
//.QueryPageByDTOAsync(where, entity.page, entity.limit, true);
return new WebApiCallBack()
@@ -379,20 +651,36 @@
{
var rt = await IsSchooler();
var rtb = await IsDrive();
+
+ var rt2 = await IsSchoolManger();
+ if (rt == false && rt2 == false && rt2 == false)
+ {
+
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+ }
if (rt == false && rtb == false)
{
- throw new Exception("娌℃湁鏉冮檺璁块棶");
+
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
}
- var list = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x=>x.items)
- .Includes(x=>x.DeliverOrderItems,o=>o.items)
+ var list = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.items)
+ .Includes(x => x.DeliverOrderItems, o => o.items)
.Where(x => x.id == entity.id)
- .Mapper(x=>
+ .Mapper(x =>
{
-
- x.deliverOrder = x.DeliverOrderItems.OrderByDescending(de=>de.CreateTime).FirstOrDefault();
+
+ x.deliverOrder = x.DeliverOrderItems.OrderByDescending(de => de.CreateTime).FirstOrDefault();
}).FirstAsync();
var countList = await CountLessCount(list.DeliverOrderItems);
@@ -415,25 +703,31 @@
status = true,
data = list,
};
- }
+ }
-
+
public async Task<WebApiCallBack> SetOderOfSchool(CoreCmsPlanOrderInfoDto planOrderInfoDto)
{
-
var rt = await IsSchooler();
- if (rt == false)
+ var rt2 = await IsSchoolManger();
+ if (rt == false && rt2 == false)
{
-
return new WebApiCallBack
{
status = false,
msg = "浣犳病鏈夋潈闄愭搷浣�"
};
}
+ if (string.IsNullOrEmpty(planOrderInfoDto.shipMobile) || !planOrderInfoDto.shipMobile.IsPhoneNumberValid())
+ return new WebApiCallBack
+ {
+ status = false,
+ msg="鑱旂郴浜虹數璇濆繀椤绘槸鎵嬫満鍙风爜"
+ };
+
var oldOder = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.items).Where(x => x.id == planOrderInfoDto.id).FirstAsync();
- if(oldOder.status==2)
+ if (oldOder.status == 2)
{
return new WebApiCallBack
{
@@ -441,6 +735,13 @@
msg = "宸茬粡閿佸崟"
};
}
+ if (oldOder.isdelete == true)
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "璁㈠崟宸插垹闄�"
+ };
+
decimal auturo = 0;
foreach (var item in oldOder.items)
{
@@ -451,6 +752,7 @@
}
oldOder.shipMobile = planOrderInfoDto.shipMobile;
+ oldOder.userMobile = planOrderInfoDto.shipMobile;
oldOder.shipName = planOrderInfoDto.shipName;
oldOder.orderAmount = auturo;
@@ -461,11 +763,11 @@
await _CyDbClient.Updateable(oldOder.items).ExecuteCommandAsync();
await _CyDbClient.AsTenant().CommitTranAsync();
}
- catch (Exception )
+ catch (Exception)
{
await _CyDbClient.AsTenant().RollbackTranAsync();
- throw ;
+ throw;
}
//await _CyDbClient.UpdateNav(oldOder).Include(x => x.items,new UpdateNavOptions
//{
@@ -473,7 +775,7 @@
//}).ExecuteCommandAsync();
- await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.CyDeliverOAjisuanjine,oldOder.orderkeyid?.ToString());
+ await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.CyDeliverOAjisuanjine, oldOder.orderkeyid?.ToString());
return new WebApiCallBack()
{
status = true,
@@ -485,28 +787,33 @@
{
var rt = await IsSchooler();
- if (rt == false)
+ var rt2 = await IsSchoolManger();
+ if (rt == false && rt2 == false)
{
- throw new Exception("娌℃湁鏉冮檺璁块棶");
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
}
var data = _CyDbClient.Queryable<CoreDeliverOrder>()
- .Where(x=>x.id==new Guid(entity.id))
+ .Where(x => x.id == new Guid(entity.id))
.Includes(x => x.items)
.Includes(x => x.tracks)
- .Includes(x=>x.Oreder,o=>o.items)
+ .Includes(x => x.Oreder, o => o.items)
.Includes(x => x.Oreder, o => o.DeliverOrderItems)
.Select(x => new CoreDeliverOrder()
- {
- DeliveryMoble = "",
+ {
+ DeliveryMoble = "",
-
- }, true).Mapper(x=>
- {
-
- }).FirstAsync();
-
+ }, true).Mapper(x =>
+ {
+
+ }).FirstAsync();
+
+
return new WebApiCallBack()
{
@@ -515,27 +822,28 @@
};
}
- public async Task <WebApiCallBack> SetDeliveryDataOfschool(SetDeliveryDataDto entity)
+ public async Task<WebApiCallBack> SetDeliveryDataOfschool(SetDeliveryDataDto entity)
{
- if(await IsSchooler()==false)
+ var rt = await IsSchooler();
+ var rt2 = await IsSchoolManger();
+ if (rt == false && rt2 == false)
{
- return new WebApiCallBack()
+ return new WebApiCallBack
{
- status = true,
- msg = "鏃犳潈闄�"
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
};
-
}
- var olddata= await _CyDbClient.Queryable<CoreCmsPlanOrder>()
- .Includes(x=>x.items)
- .Includes(x=>x.DeliverOrderItems,de=>de.items)
- . Where(x => x.id == entity.PlanOrderId)
- .Mapper(x=>x.deliverOrder= x.DeliverOrderItems.Where(y=>y.OrderState== CoreDeliverOrderType.UnStart).FirstOrDefault())
+ var olddata = await _CyDbClient.Queryable<CoreCmsPlanOrder>()
+ .Includes(x => x.items)
+ .Includes(x => x.DeliverOrderItems, de => de.items)
+ .Where(x => x.id == entity.PlanOrderId)
+ .Mapper(x => x.deliverOrder = x.DeliverOrderItems.Where(y => y.OrderState == CoreDeliverOrderType.UnStart).FirstOrDefault())
.FirstAsync();
- if(olddata==null)
+ if (olddata == null)
{
return new WebApiCallBack()
{
@@ -543,7 +851,7 @@
msg = "娌℃湁鎵惧埌鐩稿叧璁㈠崟"
};
}
- if(olddata.DeliverState == DeliverStateType.CompletedDelivery)
+ if (olddata.DeliverState == DeliverStateType.CompletedDelivery)
{
return new WebApiCallBack()
{
@@ -552,19 +860,19 @@
};
}
var user = await _coreCmsUserServices.QueryByIdAsync(_User.ID);
- await _CyDbClient.AsTenant().BeginTranAsync();
+ await _CyDbClient.AsTenant().BeginTranAsync();
try
{
if (entity.MakeTime != null)
{
- if(olddata.deliverOrder==null)
+ if (olddata.deliverOrder == null)
{
//娌℃湁閰嶉�佸崟 鏂板缓
olddata.deliverOrder = await CreatDeliverItem(olddata);
- olddata.deliverOrder.MakeTime=entity.MakeTime;
-
- await _CyDbClient.InsertNav(olddata.deliverOrder).Include(x => x.items).ExecuteCommandAsync();
-
+ olddata.deliverOrder.MakeTime = entity.MakeTime;
+
+ await _CyDbClient.InsertNav(olddata.deliverOrder).Include(x => x.items).ExecuteCommandAsync();
+
}
else
{
@@ -582,15 +890,15 @@
{
olddata.DeliverRemark = entity.DeliverRemark;
- olddata.upDataBy=_UserMoble;
- olddata.upDataTime= DateTime.Now;
+ olddata.upDataBy = _UserMoble;
+ olddata.upDataTime = DateTime.Now;
await _CyDbClient.Updateable(olddata).ExecuteCommandAsync();
}
await _CyDbClient.AsTenant().CommitTranAsync();
return new WebApiCallBack()
{
status = true,
-
+
};
}
catch (Exception)
@@ -598,17 +906,23 @@
await _CyDbClient.AsTenant().RollbackTranAsync();
throw;
}
-
-
+
+
}
public async Task<WebApiCallBack> GetDeliveryTracksOfSchool(FMStringId entity)
{
var rt = await IsSchooler();
- if (rt == false)
+ var rt2 = await IsSchoolManger();
+ if (rt == false && rt2 == false)
{
- throw new Exception("娌℃湁鏉冮檺璁块棶");
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
}
- var data = await _CyDbClient.Queryable<CoreDeliveryOrderTracks>().Where(x => x.OrderID == new Guid(entity.id)).ToListAsync();
+ var data = await _CyDbClient.Queryable<CoreDeliveryOrderTracks>().Where(x => x.OrderID == new Guid(entity.id)).OrderByDescending(x=>x.CreateTime)
+ .ToListAsync();
return new WebApiCallBack()
{
@@ -617,11 +931,21 @@
};
}
-
+
public async Task<WebApiCallBack> GetDriverPhoneOfSchool(FMStringId entity)
{
+ var rt = await IsSchooler();
+ var rt2 = await IsSchoolManger();
+ if (rt == false && rt2 == false)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+ }
if (!Guid.TryParse(entity.id, out Guid guid))
{
return new WebApiCallBack
@@ -736,18 +1060,20 @@
}
where = where.And(n => n.isdelete == false);
RefAsync<int> totalNumbe = 0;
- var dlist = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(n => n.DeliverState != DeliverStateType.CompletedDelivery)
+ var dlist = await _CyDbClient.Queryable<CoreCmsPlanOrder>()
+ //.Where(n => n.DeliverState != DeliverStateType.CompletedDelivery)
+ //.Where(n => n.isdelete ==false)
.Select((n) => new CoreCmsPlanOrder
{
IngDeliverOrderID = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
&& x.OrderState != CoreDeliverOrderType.Faile
&& x.OrderState != CoreDeliverOrderType.Completed
- && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).Select(x=>x.id),
+ && (x.DeliveryMoble != "" && x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).Select(x => x.id),
deliverOrder = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
&& x.OrderState != CoreDeliverOrderType.Faile
&& x.OrderState != CoreDeliverOrderType.Completed
- && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).First()
+ && (x.DeliveryMoble != "" && x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).First()
},
true
@@ -759,17 +1085,18 @@
MakeTime = x.deliverOrder?.MakeTime,
shipAddress = x.shipAddress,
isScheduled = x.deliverOrder != null ? "1" : "0",
+ x.DeliverState
}).ToList();
return new WebApiCallBack
{
status = true,
- data= new
+ data = new
{
totalNumbe,
data,
}
-
+
};
}
public async Task<WebApiCallBack> GetSendDeliveryOderListOfDeliveryManage(FMPageByWhereOrder entity)
@@ -793,9 +1120,14 @@
sheng = "",
shi = "",
quxian = "",
+ DeliveryMoble="",
});
+ if(!string.IsNullOrEmpty(obj.DeliveryMoble))
+ {
+ where = where.And(n => n.DeliveryMoble == obj.DeliveryMoble);
+ }
if (!string.IsNullOrWhiteSpace(obj.sheng))
{
@@ -857,28 +1189,39 @@
}
where = where.And(n => n.isdelete == false);
RefAsync<int> totalNumbe = 0;
- var dlist = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(n => n.DeliverState != DeliverStateType.CompletedDelivery)
+ var dlist = await _CyDbClient.Queryable<CoreCmsPlanOrder>()
+ //.Where(n => n.DeliverState != DeliverStateType.CompletedDelivery)
.Select((n) => new CoreCmsPlanOrder
{
-
+
deliverOrder = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
&& x.OrderState != CoreDeliverOrderType.Faile
&& x.OrderState != CoreDeliverOrderType.Completed
&& (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).First(),
- MakeTime= SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
+ MakeTime = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
&& x.OrderState != CoreDeliverOrderType.Faile
&& x.OrderState != CoreDeliverOrderType.Completed
- && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).Select(x=>x.MakeTime)
+ && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).Select(x => x.MakeTime),
+
+ DeliveryMoble = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id
+ && x.OrderState != CoreDeliverOrderType.Faile
+ && x.OrderState != CoreDeliverOrderType.Completed
+ && (x.DeliveryMoble != "" || x.DeliveryMoble != null)).OrderByDesc(x => x.CreateTime).Select(x => x.DeliveryMoble)
}
- ,true
+ , true
).MergeTable().Where(where).ToPageListAsync(entity.page, entity.limit, totalNumbe);
+ var deliveryList = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴" && x.BF_IsDriver == true).Select(x => new
+ {
+ deliveryMoble = x.MobieNum,
+ name = x.Name,
+ }).ToListAsync();
return new WebApiCallBack
{
status = true,
- data = new
+ data = new
{
totalNumbe,
data = dlist.Select(x => new
@@ -887,10 +1230,15 @@
x.shipAddress,
x.quxian,
x.pianqu,
- x.deliverOrder
+ x.deliverOrder,
+ x.DeliverState,
+ x.DeliveryMoble
- }).ToList()
+ }).ToList(),
+
+ deliveryList
+
}
};
}
@@ -903,15 +1251,15 @@
msg = "浣犳病鏈夋潈闄愭搷浣�"
};
- var data= await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x=>x.items).Includes(x=>x.DeliverOrderItems,itm=>itm.items)
- .Where(x=>x.isdelete==false&&x.id==entity.id)
- .FirstAsync();
- if(data==null)
+ var data = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.items).Includes(x => x.DeliverOrderItems, itm => itm.items)
+ .Where(x => x.isdelete == false && x.id == entity.id)
+ .FirstAsync();
+ if (data == null)
{
return new WebApiCallBack
{
status = false,
- msg = "璁㈠崟宸插け鏁堟垨鑰呬笉鍙洿鏀�"
+ msg = "璁㈠崟宸插畬鎴�"
};
};
@@ -936,17 +1284,17 @@
})
.ToList();
///鏈夊苟涓旀湭鎵ц閰嶉�佺殑璁㈠崟
- var UndoDeliver = DeliverOrderlist.Where(x => x.OrderState == CoreDeliverOrderType.UnStart).FirstOrDefault();
+ var UndoDeliver = data.DeliverOrderItems.Where(x => x.OrderState == CoreDeliverOrderType.UnStart).FirstOrDefault();
//閰嶉�佸崟鍒楄〃璇︽儏
var orderItm = new List<CoreCmsPlanOrderItemDto>();
-
+
foreach (var item in data.items)
{
var unDeliver = groupedItems.Where(x => x.ZYBName == item.name && x.ZYBSpecification == item.specification).FirstOrDefault()?.Number ?? 0;
- unDeliver = item.nums - unDeliver;
+ unDeliver = item.nums - unDeliver;
if (unDeliver < 0)
unDeliver = 0;
- int DeliveredCount = UndoDeliver?.items.Where(x=>x.ZYBSpecification== item.name&&x.ZYBName==item.name).FirstOrDefault()?.Number??
+ int DeliveredCount = UndoDeliver?.items.Where(x => x.ZYBSpecification == item.name && x.ZYBName == item.name).FirstOrDefault()?.Number ??
unDeliver;
orderItm.Add(new CoreCmsPlanOrderItemDto
{
@@ -954,6 +1302,7 @@
id = item.id,
name = item.name,
nums = item.nums,
+ Number = DeliveredCount,
price = item.price,
specification = item.specification,
isOld = item.isOld,
@@ -962,20 +1311,20 @@
});
}
- var deliveryList = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴" && x.BF_IsDriver == true).Select(x=>new
+ var deliveryList = await _CyDbClient.Queryable<OA_Staff>().Where(x => x.Status == "鍦ㄨ亴" && x.BF_IsDriver == true).Select(x => new
{
- deliveryMoble= x.MobieNum,
- name= x.Name,
+ deliveryMoble = x.MobieNum,
+ name = x.Name,
}).ToListAsync();
return new WebApiCallBack
{
status = true,
- data = new
+ data = new
{
- id =UndoDeliver?.id,
- OrderId = data.id,
+ id = UndoDeliver?.id,
+ OrderId = data.id,
//鍙告満鐢佃瘽
DeliveryMoble = UndoDeliver?.DeliveryMoble,
items = orderItm,
@@ -995,8 +1344,21 @@
status = false,
msg = "浣犳病鏈夋潈闄愭搷浣�"
};
-
- var planOrder= await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x=>x.items).Where(x => x.id == entity.OrderId).FirstAsync();
+ bool isallZone = true;
+ foreach (var item in entity.items)
+ {
+ if (item.Number != 0)
+ isallZone = false;
+ }
+ if (isallZone)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "閰嶉�佽揣鐗╀负0"
+ };
+ }
+ var planOrder = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.items).Where(x => x.id == entity.OrderId).FirstAsync();
if (planOrder == null)
{
return new WebApiCallBack
@@ -1006,13 +1368,13 @@
};
}
-
- if (entity.id!=null)
+
+ if (entity.id != null)
{
//鏄慨鏀�
- var DeliverOrder = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x=>x.items).Where(x => x.id == entity.id ).FirstAsync();
- if(DeliverOrder== null)
+ var DeliverOrder = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x => x.items).Where(x => x.id == entity.id).FirstAsync();
+ if (DeliverOrder == null)
{
return new WebApiCallBack
{
@@ -1020,35 +1382,35 @@
msg = "娌℃壘鍒拌鍗�",
};
}
- if(entity.MakeTime!=null)
+ if (entity.MakeTime != null)
- DeliverOrder.MakeTime = entity.MakeTime;
- if(entity.items!=null&&entity.items.Count>0)
+ DeliverOrder.MakeTime = entity.MakeTime;
+ if (entity.items != null && entity.items.Count > 0)
{
foreach (var item in DeliverOrder.items)
{
- var newitem= entity.items.Where(x=>x.name==item.ZYBName&&x.specification==item.ZYBSpecification).FirstOrDefault();
- if(newitem!=null)
+ var newitem = entity.items.Where(x => x.name == item.ZYBName && x.specification == item.ZYBSpecification).FirstOrDefault();
+ if (newitem != null)
{
- if (item.Number != newitem.nums)
+ if (item.Number != newitem.Number)
{
- item.Number = newitem.nums;
+ item.Number = newitem.Number ?? 0;
item.UpDataBy = _UserMoble;
item.UpdataTime = DateTime.Now;
}
-
-
+
+
}
}
}
- //DeliverOrder.items= entity.items;
- if(!string.IsNullOrEmpty( entity.DeliveryMoble))
+ //DeliverOrder.items= entity.items;
+ if (!string.IsNullOrEmpty(entity.DeliveryMoble))
DeliverOrder.DeliveryMoble = entity.DeliveryMoble;
- DeliverOrder.UpDataBy = _coreCmsUserServices.QueryById(_User.ID)?.mobile;
-
+ DeliverOrder.UpDataBy = _coreCmsUserServices.QueryById(_User.ID)?.mobile;
+
DeliverOrder.UpdataTime = DateTime.Now;
- await _CyDbClient.UpdateNav(DeliverOrder).Include(x => x.items).ExecuteCommandAsync();
+ await _CyDbClient.UpdateNav(DeliverOrder).Include(x => x.items).ExecuteCommandAsync();
@@ -1057,7 +1419,7 @@
{
- var olddeliver = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x => x.items).Where(x => x.OrderId==entity.OrderId&&x.OrderState== CoreDeliverOrderType.UnStart).FirstAsync();
+ var olddeliver = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x => x.items).Where(x => x.OrderId == entity.OrderId && x.OrderState == CoreDeliverOrderType.UnStart).FirstAsync();
if (olddeliver != null)
{
return new WebApiCallBack
@@ -1076,7 +1438,7 @@
DeliveryMoble = entity.DeliveryMoble,
id = Guid.NewGuid(),
OrderState = CoreDeliverOrderType.UnStart,
- items = new List<CoreDeliverOrderItem>()
+ items = new List<CoreDeliverOrderItem>()
};
if (entity.items != null && entity.items.Count > 0)
{
@@ -1087,25 +1449,175 @@
CreateBy = _UserMoble,
CreateTime = DateTime.Now,
id = Guid.NewGuid(),
- Number = item.nums,
- OrderID= DeliverOrder.id,
- ZYBName= item.name,
- ZYBSpecification= item.specification,
-
-
+ Number = item.Number ?? 0,
+ OrderID = DeliverOrder.id,
+ ZYBName = item.name,
+ ZYBSpecification = item.specification,
+
+
});
}
-
+
}
- await _CyDbClient.InsertNav(DeliverOrder).Include(x => x.items).ExecuteCommandAsync();
+ await _CyDbClient.InsertNav(DeliverOrder).Include(x => x.items).ExecuteCommandAsync();
}
return new WebApiCallBack()
{
status = true,
data = true
};
+
+ }
+
+ public async Task<WebApiCallBack> GetSchoolInventory(FMIntId entity)
+ {
+ var rt = await IsDeliverManage();
+ if (rt == false)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+ }
+ var data = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.items).Includes(x => x.DeliverOrderItems, de => de.items).Where(x => x.isdelete == false && x.id == entity.id).FirstAsync();
+ if (data == null)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "璁㈠崟宸插け鏁�"
+ };
+ }
+ var DataCountlist = await CountLessCount(data.DeliverOrderItems);
+ List<CoreCmsPlanOrderItemDto> datalist = new List<CoreCmsPlanOrderItemDto>();
+
+ foreach (var item in data.items)
+ {
+ var overCount = DataCountlist.Where(x => x.name == item.name && x.Specification == item.specification).Select(x => x.OverCount).FirstOrDefault(0);
+ datalist.Add(new CoreCmsPlanOrderItemDto()
+ {
+ amount = item.amount,
+ nums = item.nums,
+ name=item.name,
+ specification=item.specification,
+ price= item.price,
+
+ DeliveredCount = overCount,
+ unDeliveredCount = item.nums - overCount,
+ LessNumber = DataCountlist.Where(x => x.name == item.name && x.Specification == item.specification).Select(x => x.LessCount).FirstOrDefault(0),
+ Inventory=0
+
+
+ });
+
+
+ }
+ return new WebApiCallBack
+ {
+ status = true,
+ data = new
+ {
+ data.shipAddress,
+ data.shipMobile,
+ data.shipName,
+ data.shouhuoAddress,
+ data.status,
+ data.DeliverState,
+ data.DeliverRemark,
+ data.keYongAmount,
+ items = datalist,
+
+
+ }
+ };
+
+
+ }
+ public async Task<WebApiCallBack> MakeMultiDeliveryOderOfDeliveryManage(MakeMultiDeliveryOrderDto entity)
+ {
+
+
+ var oder = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(x => entity.ids.Contains(x.id) && x.isdelete == false).Select(x => new CoreCmsPlanOrder()
+ {
+ deliverOrder = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(y => y.OrderId == x.id && y.OrderState != CoreDeliverOrderType.Completed).First()
+ }
+ ).ToListAsync();
+ if (oder == null || oder.Count == 0)
+ return new WebApiCallBack()
+ {
+ status = true,
+ data = true
+
+ };
+ //妫�楠�
+ foreach (var item in oder)
+ {
+ if (item.deliverOrder != null && item.deliverOrder.OrderState != CoreDeliverOrderType.UnStart)
+ return new WebApiCallBack()
+ {
+ status = false,
+ msg = $"瀛︽牎锛歿item.shipAddress} 璁㈠崟宸茬粡鍦ㄩ�佽揣涓紝涓嶈兘瀹夋帓閫佽揣"
+ };
+ };
+
+
+ //瀹夋帓閫佽揣
+
+ await _CyDbClient.AsTenant().BeginTranAsync();
+ try
+ {
+ foreach (var item in oder)
+ {
+
+ if (item.deliverOrder != null && item.deliverOrder.OrderState == CoreDeliverOrderType.UnStart)
+ {
+ if (item.deliverOrder.MakeTime != entity.Time || item.deliverOrder.DeliveryMoble != entity.DeliveryMoble)
+
+ {
+ item.deliverOrder.MakeTime = entity.Time;
+ item.deliverOrder.DeliveryMoble = entity.DeliveryMoble;
+ item.deliverOrder.UpDataBy = _UserMoble;
+ item.deliverOrder.UpdataTime = DateTime.Now;
+ await _CyDbClient.Updateable(item.deliverOrder).ExecuteCommandAsync();
+ }
+ }
+ else if (item.deliverOrder == null)
+ {
+ var oderold = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.items).Includes(x => x.DeliverOrderItems, devs => devs.items).Where(x => x.id == item.id).FirstAsync();
+ //鍒涘缓鏂拌〃
+ var deliverOrder = await CreatDeliverItem(oderold);
+ deliverOrder.MakeTime = DateTime.Now;
+ deliverOrder.DeliveryMoble = entity.DeliveryMoble;
+
+ await _CyDbClient.InsertNav(deliverOrder).Include(x => x.items).ExecuteCommandAsync();
+ }
+
+
+
+ }
+ await _CyDbClient.AsTenant().CommitTranAsync();
+
+ return new WebApiCallBack
+ {
+ status = true,
+ data = true,
+ };
+ }
+ catch (Exception)
+ {
+ await _CyDbClient.AsTenant().RollbackTranAsync();
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "绯荤粺澶勭悊澶辫触"
+
+ };
+ }
+
+
}
@@ -1126,12 +1638,12 @@
var obj = JsonConvert.DeserializeAnonymousType(entity.where, new
{
quxianId = "",
- sheng="",
+ sheng = "",
pianqu = "",
- shipAddress = "",
+ shipAddress = "",
shi = "",
quxian = "",
- DeliverState=""
+ DeliverState = ""
@@ -1140,7 +1652,7 @@
{
var ad = obj.DeliverState.ToInt32OrDefault(0);
- where = where.And(n => n.DeliverState == (DeliverStateType)ad );
+ where = where.And(n => n.DeliverState == (DeliverStateType)ad);
}
if (!string.IsNullOrWhiteSpace(obj.sheng))
@@ -1150,7 +1662,7 @@
where = where.And(n => n.sheng == obj.sheng);
}
-
+
if (!string.IsNullOrWhiteSpace(obj.shi))
{
@@ -1212,14 +1724,14 @@
deliverOrder = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(x => x.OrderId == n.id && (x.OrderState == CoreDeliverOrderType.UnStart || x.OrderState == CoreDeliverOrderType.Start)
&& x.DeliveryMoble == user.mobile).First()
- }, true).MergeTable().Where(x=>x.IngDeliverOrderID != null).ToPageListAsync( entity.page,entity.limit, totalNumbe);
+ }, true).MergeTable().Where(x => x.IngDeliverOrderID != null).ToPageListAsync(entity.page, entity.limit, totalNumbe);
return new WebApiCallBack
{
status = true,
- data = new
+ data = new
{
totalNumbe,
- data= lisdata
+ data = lisdata
}
};
}
@@ -1244,16 +1756,16 @@
shi = "",
quxian = "",
OrderState = "",
- StartTimeZone="",
- EndTimeStartZone= "",
-
+ StartTimeZone = "",
+ EndTimeStartZone = "",
+
});
if (!string.IsNullOrWhiteSpace(obj.OrderState))
{
var ad = obj.OrderState.ToInt32OrDefault(0);
- where = where.And(n => n.OrderState == (CoreDeliverOrderType)ad);
+ where = where.And(n => n.OrderState == (CoreDeliverOrderType)ad);
}
if (!string.IsNullOrWhiteSpace(obj.sheng))
@@ -1268,7 +1780,7 @@
{
- where = where.And(n => n.Oreder.shi == obj.shi);
+ where = where.And(n => n.Oreder.shi == obj.shi);
}
if (!string.IsNullOrWhiteSpace(obj.quxian))
@@ -1278,7 +1790,7 @@
where = where.And(n => n.Oreder.quxian == obj.quxian);
}
-
+
if (!string.IsNullOrEmpty(obj.pianqu))
@@ -1295,7 +1807,7 @@
where = where.And(n => n.Oreder.shipAddress.Contains(obj.shipAddress));
- }
+ }
if (!string.IsNullOrEmpty(obj.EndTimeStartZone))
@@ -1303,7 +1815,7 @@
var date = obj.EndTimeStartZone.ParseDateTimeRange();
if (date.StartDate != null && date.EndDate != null)
- where = where.And(n => n.OverTime<date.EndDate&&n.OverTime>date.EndDate);
+ where = where.And(n => n.OverTime < date.EndDate && n.OverTime > date.EndDate);
}
@@ -1318,8 +1830,9 @@
}
where = where.And(n => n.DeliveryMoble == _UserMoble);
+ where = where.And(n => n.OrderState == CoreDeliverOrderType.Completed);
RefAsync<int> totalNumbe = 0;
- var data= await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(n=>n.Oreder).Where(where).OrderByDescending(n=>n.StartTime).ToPageListAsync( entity.page,entity.limit, totalNumbe);
+ var data = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(n => n.Oreder).Where(where).Where(x=>x.Oreder.isdelete==false).OrderByDescending(n => n.StartTime).ToPageListAsync(entity.page, entity.limit, totalNumbe);
//var datalist= await _CyDbClient.Queryable<CoreCmsPlanOrder>().Includes(x => x.DeliverOrderItems).Where(where).Select(x => new CoreCmsPlanOrder
//{
// IngDeliverOrderID = SqlFunc.Subqueryable<CoreDeliverOrder>().Where(ide => ide.DeliveryMoble == _UserMoble && ide.OrderId == x.id).Select(ide => ide.id)
@@ -1331,14 +1844,17 @@
return new WebApiCallBack()
{
status = true,
- data = new
+ data = new
{
- list= data,
+ list = data,
totalNumbe
}
};
}
+
+
+
public async Task<WebApiCallBack> GetDeliverInfoOfDrver(FMStringId entity)
{
@@ -1353,11 +1869,11 @@
};
}
-
- var data= await _CyDbClient.Queryable<CoreDeliverOrder>()
- .Where(x => x.id == guid && x.OrderState != CoreDeliverOrderType.Faile)
- .Includes(x => x.items).Includes(x=>x.Oreder,or=>or.items).FirstAsync();
- if(data==null)
+
+ var data = await _CyDbClient.Queryable<CoreDeliverOrder>()
+ .Where(x => x.id == guid && x.OrderState != CoreDeliverOrderType.Faile)
+ .Includes(x => x.items).Includes(x => x.Oreder, or => or.items).FirstAsync();
+ if (data == null)
{
return new WebApiCallBack
{
@@ -1367,12 +1883,23 @@
}
var DeliverOrderlist = await _CyDbClient.Queryable<CoreDeliverOrder>().Where(x => x.OrderId == data.OrderId).ToListAsync();
var lessdata = await CountLessCount(DeliverOrderlist);
+ var finish = await _redisOperationRepository.Get(LockFilshDeliverOderKey + data.id);
+ var CanFinishOrder = true;
+ if (data.OrderState != CoreDeliverOrderType.Start)
+ {
+ CanFinishOrder = false;
+ }
+ else
+ CanFinishOrder = true;
+ if (finish == LockFilshDeliverOderString)
+ CanFinishOrder = false;
var ret = new DeliveryOrderDto()
{
MakeTime = data.MakeTime,
DeliveryMoble = data.DeliveryMoble,
OrderState = data.OrderState,
+ Remarke= data.Remarke,
PlanOrdInfo = new CoreCmsPlanOrderInfoDto()
{
pianqu = data.Oreder.pianqu,
@@ -1381,15 +1908,18 @@
shipAddress = data.Oreder.shipAddress,
shouhuoAddress = data.Oreder.shipAddress,
DeliverRemark = data.Oreder.DeliverRemark,
- shipName= data.Oreder.shipName,
- sheng= data.Oreder.sheng,
- shi= data.Oreder.shi,
- quxian= data.Oreder.quxian,
- DeliveryOderID=data.id,
+ shipName = data.Oreder.shipName,
+ sheng = data.Oreder.sheng,
+ shi = data.Oreder.shi,
+ quxian = data.Oreder.quxian,
+ DeliveryOderID = data.id,
+
+
},
+ CanFinishOrder=CanFinishOrder,
items = new List<CoreCmsPlanOrderItemDto>()
};
@@ -1405,7 +1935,7 @@
DeliveredCount = count,
Number = thisNumber?.Number ?? count,
unDeliveredCount = item.nums > count ? item.nums - count : 0,
- LessNumber= thisNumber.LessNumber,
+ LessNumber = thisNumber.LessNumber,
});
@@ -1432,7 +1962,7 @@
}
var data = await _CyDbClient.Queryable<CoreDeliverOrder>()
- .Where(x => x.id == guid && x.OrderState == CoreDeliverOrderType.UnStart )
+ .Where(x => x.id == guid && x.OrderState == CoreDeliverOrderType.UnStart)
.FirstAsync();
if (data == null)
return new WebApiCallBack
@@ -1442,16 +1972,17 @@
};
data.OrderState = CoreDeliverOrderType.Start;
data.UpDataBy = _UserMoble;
- data.UpdataTime = DateTime.Now;
+ data.UpdataTime = DateTime.Now;
data.StartTime = DateTime.Now;
- await _CyDbClient.Updateable(data).ExecuteCommandAsync();
+ await _CyDbClient.Updateable(data).ExecuteCommandAsync();
+ _redisOperationRepository.StringSet(LockFilshDeliverOderKey + data.id, LockFilshDeliverOderString, TimeSpan.FromMinutes(5));
return new WebApiCallBack()
{
status = true
};
}
-
+
public async Task<WebApiCallBack> SetDeliverOrdeOfDrver(DeliveryOrderDto entity)
{
@@ -1461,8 +1992,23 @@
status = false,
msg = "娌℃湁鏉冮檺鎿嶄綔"
};
- var data= await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x=>x.items).Includes(x=>x.Oreder).Where(x => x.id == entity.id && x.OrderState != CoreDeliverOrderType.Faile && x.DeliveryMoble==_UserMoble).FirstAsync();
- if(data==null)
+ bool isallZone = true;
+ foreach (var item in entity.items)
+ {
+ if (item.Number != 0)
+ isallZone = false;
+ }
+ if (isallZone)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "閰嶉�佽揣鐗╀负0"
+ };
+ }
+
+ var data = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x => x.items).Includes(x => x.Oreder).Where(x => x.id == entity.id && x.OrderState != CoreDeliverOrderType.Faile && x.DeliveryMoble == _UserMoble).FirstAsync();
+ if (data == null)
{
return new WebApiCallBack()
{
@@ -1470,41 +2016,50 @@
msg = "娌℃湁鏉冮檺鎴栬�呯姸鎬佸凡缁忛攣瀹氫笉鍙洿鏀�"
};
}
- var deliverlist = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x=>x.items).Where(x => x.OrderId == data.OrderId).ToListAsync();
+ var deliverlist = await _CyDbClient.Queryable<CoreDeliverOrder>().Includes(x => x.items).Where(x => x.OrderId == data.OrderId).ToListAsync();
var countlist = await CountLessCount(deliverlist);
+ //鍙告満涓嶅彲鏀�
+ //if (!string.IsNullOrEmpty(data.Oreder?.DeliverRemark))
+ //{
+ // if (data.Oreder.DeliverRemark != data.Oreder?.DeliverRemark)
+ // {
+ // data.Oreder.DeliverRemark = data.Oreder?.DeliverRemark;
- if(!string.IsNullOrEmpty( data.Oreder?.DeliverRemark))
+ // data.Oreder.upDataTime = DateTime.Now;
+ // data.Oreder.upDataBy = _UserMoble;
+ // }
+ //}
+ if (entity.Remarke != data.Remarke)
{
- if (data.Oreder.DeliverRemark != data.Oreder?.DeliverRemark)
- {
- data.Oreder.DeliverRemark = data.Oreder?.DeliverRemark;
- data.Oreder.upDataTime = DateTime.Now;
- data.Oreder.upDataBy = _UserMoble;
- }
+ data.Remarke = entity.Remarke;
+ data.UpDataBy = _UserMoble;
+ data.UpdataTime = DateTime.Now;
}
- foreach (var item in data.items)
+ foreach (var item in data.items)
{
var it = entity.items.Where(x => x.name == item.ZYBName && x.specification == item.ZYBSpecification).FirstOrDefault();
if (it?.LessNumber != null)
- if (item.LessNumber!=it.LessNumber)
- {
- item.LessNumber = it.LessNumber??0;
- item.UpDataBy = _UserMoble;
- item.UpdataTime = DateTime.Now;
+ if (item.LessNumber != it.LessNumber)
+ {
+ item.LessNumber = it.LessNumber ?? 0;
+ item.UpDataBy = _UserMoble;
+ item.UpdataTime = DateTime.Now;
-
- }
- // 閫佽揣鏁伴噺鏄惁鑳借秴杩囬瀹氭暟閲忥紵
+
+ }
+ // 閫佽揣鏁伴噺鏄惁鑳借秴杩囬瀹氭暟閲忥紵
//item.Number- countlist.Where(x=>x.name==item.ZYBName&&x.Specification==item.ZYBSpecification).Select(x=>x.OverCount).FirstOrDefault(0)
- if(it?.nums!=null)
- if (item.Number!=it.Number )
- {
- item.Number = it.Number??0;
- item.UpDataBy = _UserMoble;
- item.UpdataTime = DateTime.Now;
- }
+ if (it?.nums != null)
+ if (item.Number != it.Number)
+ {
+ item.Number = it.Number ?? 0;
+ item.UpDataBy = _UserMoble;
+ item.UpdataTime = DateTime.Now;
+ }
+
+
}
- await _CyDbClient.UpdateNav(data).Include(x => x.Oreder).Include(x => x.items).ExecuteCommandAsync();
+ await _CyDbClient.UpdateNav(data).Include(x => x.Oreder).Include(x => x.items).ExecuteCommandAsync();
return new WebApiCallBack
{
@@ -1533,7 +2088,7 @@
};
var data = await _CyDbClient.Queryable<CoreDeliverOrder>()
- .Where(x => x.id == guid && x.OrderState == CoreDeliverOrderType.Start)
+ .Where(x => x.id == guid && x.OrderState == CoreDeliverOrderType.Start)
.FirstAsync();
if (data == null)
return new WebApiCallBack
@@ -1541,10 +2096,20 @@
status = false,
msg = "娌℃湁鏁版嵁锛屾垨鑰呮槸娌℃湁鏉冮檺鍙搷浣�"
};
+ var lockflg = await _redisOperationRepository.Get(LockFilshDeliverOderKey + data.id.ToString());
+ if (lockflg != null&&lockflg== LockFilshDeliverOderString)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "寮�濮嬮厤閫佸悗5鍒嗛挓涔嬪唴涓嶈兘瀹屾垚璁㈠崟鎿嶄綔"
+ };
+ }
+
var order = await _CyDbClient.Queryable<CoreCmsPlanOrder>().Where(x => x.id == data.OrderId).Includes(x => x.items)
.Includes(x => x.DeliverOrderItems, deo => deo.items).FirstAsync();
- if(order == null)
+ if (order == null)
{
return new WebApiCallBack
{
@@ -1553,7 +2118,7 @@
};
}
var countlist = await CountLessCount(order.DeliverOrderItems);
- await _CyDbClient.AsTenant().BeginTranAsync();
+ await _CyDbClient.AsTenant().BeginTranAsync();
try
{
if (countlist != null)
@@ -1611,22 +2176,22 @@
await _CyDbClient.AsTenant().RollbackTranAsync();
throw;
}
-
+
}
public async Task<WebApiCallBack> SetTarcks(TracksDto entity)
{
- if( ! await IsDrive())
+ if (!await IsDrive())
{
return new WebApiCallBack()
{
- status= false,
-
- msg= "闈炲徃鏈虹涓嶉泦鍧愭爣鏁版嵁",
+ status = false,
+
+ msg = "闈炲徃鏈虹涓嶉泦鍧愭爣鏁版嵁",
};
}
- entity.Moble = _UserMoble;
+ entity.Moble = _UserMoble;
await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.CyDeliverOrderTarcks, JsonConvert.SerializeObject(entity));
return new WebApiCallBack()
{
@@ -1640,13 +2205,13 @@
public async Task<List<Sys_CitySite>> GetZoneList(Sys_CitySite cyte = null)
{
if (cyte == null)
- return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 1 && x.IsDisplay == true && x.ProvinceId == 0&&x.CityId==0).OrderBy(x => x.OrderNum).ToListAsync();
+ return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 1 && x.IsDisplay == true && x.ProvinceId == 0 && x.CityId == 0).OrderBy(x => x.OrderNum).ToListAsync();
if (cyte.CityLevel == 3)
return new List<Sys_CitySite>();
- if(cyte.CityLevel==2)
+ if (cyte.CityLevel == 2)
//鍖�
- return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 3 && x.IsDisplay == true && x.ProvinceId == cyte.ProvinceId && x.CityId == cyte.Keyid).OrderBy(x => x.OrderNum).ToListAsync();
- if (cyte.CityLevel == 1)
+ return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 3 && x.IsDisplay == true && x.ProvinceId == cyte.ProvinceId && x.CityId == cyte.Keyid).OrderBy(x => x.OrderNum).ToListAsync();
+ if (cyte.CityLevel == 1)
//鏌ュ競绾�
return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.CityLevel == 2 && x.IsDisplay == true && x.ProvinceId == cyte.Keyid && x.CityId == 0).OrderBy(x => x.OrderNum).ToListAsync();
return new List<Sys_CitySite>();
@@ -1654,7 +2219,7 @@
public async Task<List<Sys_CitySite>> GetZoneListALL()
{
- return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.IsDisplay == true ).ToListAsync();
+ return await _CyDbClient.Queryable<Sys_CitySite>().Where(x => x.IsDisplay == true).ToListAsync();
}
#endregion
@@ -1665,13 +2230,13 @@
/// </summary>
/// <param name="order"></param>
/// <returns></returns>
- private async Task< CoreDeliverOrder> CreatDeliverItem( CoreCmsPlanOrder order)
+ private async Task<CoreDeliverOrder> CreatDeliverItem(CoreCmsPlanOrder order)
{
- if(order.items==null)
- order.items= await _CyDbClient.Queryable<CoreCmsPlanOrderItem>().Where(x=>x.orderId==order.id).ToListAsync();
- if(order.DeliverOrderItems == null)
- order.DeliverOrderItems= await _CyDbClient.Queryable<CoreDeliverOrder>().Where(x=>x.OrderId==order.id).Includes(x=>x.items).ToListAsync();
-
+ if (order.items == null)
+ order.items = await _CyDbClient.Queryable<CoreCmsPlanOrderItem>().Where(x => x.orderId == order.id).ToListAsync();
+ if (order.DeliverOrderItems == null)
+ order.DeliverOrderItems = await _CyDbClient.Queryable<CoreDeliverOrder>().Where(x => x.OrderId == order.id).Includes(x => x.items).ToListAsync();
+
var countlist = await CountLessCount(order.DeliverOrderItems);
var DeliverOrder = new CoreDeliverOrder()
{
@@ -1679,14 +2244,15 @@
CreateTime = DateTime.Now,
OrderId = order.id,
id = Guid.NewGuid(),
+ OrderState= CoreDeliverOrderType.UnStart,
};
- var ret= new List<CoreDeliverOrderItem>();
+ var ret = new List<CoreDeliverOrderItem>();
foreach (var item in order.items)
{
- var Number = item.nums -= countlist.Where(x => x.name == item.name && x.Specification == item.specification).Select(x => x.OverCount + x.IngCount).FirstOrDefault(0);
- if(Number<0)
+ var Number = item.nums - countlist.Where(x => x.name == item.name && x.Specification == item.specification).Select(x => x.OverCount ).FirstOrDefault(0);
+ if (Number < 0)
Number = 0;
ret.Add(new CoreDeliverOrderItem()
@@ -1697,11 +2263,11 @@
ZYBName = item.name,
ZYBSpecification = item.specification,
id = Guid.NewGuid(),
- OrderID= DeliverOrder.id,
+ OrderID = DeliverOrder.id,
});
}
- DeliverOrder.items= ret;
+ DeliverOrder.items = ret;
return DeliverOrder;
}
/// <summary>
@@ -1709,22 +2275,22 @@
/// </summary>
/// <param name=""></param>
/// <returns></returns>
- private async Task< List<SendCountDto> > CountLessCount(List<CoreDeliverOrder> datain)
+ private async Task<List<SendCountDto>> CountLessCount(List<CoreDeliverOrder> datain)
{
var OverCountlistdata = new List<CoreDeliverOrderItem>();
//缁熻宸茬粡瀹岀粨鐨勫崟
- foreach (var item in datain.Where(x=>x.OrderState== CoreDeliverOrderType.Completed).ToList())
+ foreach (var item in datain.Where(x => x.OrderState == CoreDeliverOrderType.Completed).ToList())
{
//鍏堢粺璁″凡缁忓畬缁撶殑閰嶉�佸崟
- if(item.items==null||item.items.Count==0)
+ if (item.items == null || item.items.Count == 0)
{
- item.items= await _CyDbClient.Queryable<CoreDeliverOrderItem>().Where(x=>x.OrderID==item.id).ToListAsync();
+ item.items = await _CyDbClient.Queryable<CoreDeliverOrderItem>().Where(x => x.OrderID == item.id).ToListAsync();
}
OverCountlistdata.AddRange(item.items);
}
- var overlist= OverCountlistdata.GroupBy(x => new
+ var overlist = OverCountlistdata.GroupBy(x => new
{
x.ZYBName,
x.ZYBSpecification
@@ -1732,13 +2298,14 @@
{
name = x.Key.ZYBName,
Specification = x.Key.ZYBSpecification,
- num = x.Sum(x => x.Number)
+ num = x.Sum(x => x.Number),
+ lessCount = x.Sum(x => x.LessNumber)
}).ToList();
-
+
//缁熻鏈畬鎴愮殑鍗�
var ingCountlistdata = new List<CoreDeliverOrderItem>();
- foreach (var item in datain.Where(x => x.OrderState == CoreDeliverOrderType.UnStart||x.OrderState== CoreDeliverOrderType.Start).ToList())
+ foreach (var item in datain.Where(x => x.OrderState == CoreDeliverOrderType.UnStart || x.OrderState == CoreDeliverOrderType.Start).ToList())
{
//鍏堢粺璁″凡缁忓畬缁撶殑閰嶉�佸崟
if (item.items == null || item.items.Count == 0)
@@ -1748,7 +2315,7 @@
ingCountlistdata.AddRange(item.items);
}
- var inglist= ingCountlistdata.GroupBy(x => new
+ var inglist = ingCountlistdata.GroupBy(x => new
{
x.ZYBName,
x.ZYBSpecification
@@ -1756,36 +2323,377 @@
{
name = x.Key.ZYBName,
Specification = x.Key.ZYBSpecification,
- num = x.Sum(x => x.Number)
+ num = x.Sum(x => x.Number),
+ lessCount = x.Sum(x => x.LessNumber)
}).ToList();
- var retlist = new List<SendCountDto>();
- foreach (var item in overlist)
+ var retlist = new List<SendCountDto>();
+ var countlist = overlist;
+ //杩欎竴鍙ユ槸闃叉娌℃湁宸插畬鎴愯鍗曢�犳垚鐨勭┖杞
+ if (countlist.Count == 0)
+ countlist = inglist;
+ foreach (var item in countlist)
{
retlist.Add(new SendCountDto
{
name = item.name,
Specification = item.Specification,
- OverCount = item.num,
- IngCount = inglist.Where(x => x.name == item.name && x.Specification == item.Specification).Select(x => x.num).FirstOrDefault(0)
+ OverCount = overlist.Where(x => x.name == item.name && x.Specification == item.Specification).Select(x => x.num).FirstOrDefault(0),
+ IngCount = inglist.Where(x => x.name == item.name && x.Specification == item.Specification).Select(x => x.num).FirstOrDefault(0),
+ LessCount = overlist.Where(x => x.name == item.name && x.Specification == item.Specification).Select(x => x.lessCount).FirstOrDefault(0)
});
}
-
+
return retlist;
}
-
+
+ /// <summary>
+ /// 瑙f瀽xml鍥剧墖
+ /// </summary>
+ /// <param name="xmlstr"></param>
+ /// <returns></returns>
+ private List<InquiryWorkBookModel> ParseXml( string xmlstr)
+ {
+ // 瑙f瀽 XML 瀛楃涓�
+ XDocument doc = XDocument.Parse(xmlstr);
+
+ // 鎻愬彇 InquiryWorkBookList 涓殑鏁版嵁
+ var inquiryWorkBookList = doc.Descendants("InquiryWorkBookModel");
+
+ // 杞崲涓� List<InquiryWorkBookModel>
+ List<InquiryWorkBookModel> inquiryWorkBookModels = new List<InquiryWorkBookModel>();
+
+ foreach (var item in inquiryWorkBookList)
+ {
+ var model = new InquiryWorkBookModel
+ {
+ WorkBookName = item.Element("WorkBookName")?.Value ?? "",
+ WorkBookNameTxt = item.Element("WorkBookNameTxt")?.Value ?? "",
+ WorkBookSize = item.Element("WorkBookSize")?.Value ?? "",
+ WorkBookSizeTxt = item.Element("WorkBookSizeTxt")?.Value ?? "",
+ WorkBookCount = item.Element("WorkBookCount")?.Value ?? "",
+ ysUnit = item.Element("ysUnit")?.Value ?? "",
+ ysUnitTxt = item.Element("ysUnitTxt")?.Value ?? "",
+ WorkBookPrice = item.Element("WorkBookPrice")?.Value ?? "",
+ WorkBookMoney = item.Element("WorkBookMoney")?.Value ?? "",
+ WorkBookFengMian = item.Element("WorkBookFengMian")?.Value ?? "",
+ WorkBookFengMianTxt = item.Element("WorkBookFengMianTxt")?.Value ?? "",
+ FengMianYaoqiu = item.Element("FengMianYaoqiu")?.Value ?? "",
+ FengMianYaoqiuTxt = item.Element("FengMianYaoqiuTxt")?.Value ?? "",
+ WorkBookNeiXing = item.Element("WorkBookNeiXing")?.Value ?? "",
+ WorkBookNeiXingTxt = item.Element("WorkBookNeiXingTxt")?.Value ?? "",
+ NeiXingYaoqiu = item.Element("NeiXingYaoqiu")?.Value ?? "",
+ NeiXingYaoqiuTxt = item.Element("NeiXingYaoqiuTxt")?.Value ?? "",
+ WorkBookpageNum = item.Element("WorkBookpageNum")?.Value ?? "",
+ fengmian = item.Element("fengmian")?.Value ?? "",
+ neiye = item.Element("neiye")?.Value ?? ""
+ };
+
+ inquiryWorkBookModels.Add(model);
+ }
+ return inquiryWorkBookModels;
+ }
+
+
+
#endregion
+
+ #region 瀛︽牎绠$悊绔�
+ /// <summary>
+ /// 鑾峰彇鏂板缓璁㈠崟瀛︽牎璁㈠崟鍒楄〃
+ /// </summary>
+ /// <param name="Oderid"></param>
+ /// <returns></returns>
+ /// <exception cref="NotImplementedException"></exception>
+ public async Task<WebApiCallBack> CreatSchoolOfSchoolManage(CoreCmsPlanOrderInfoDto entity)
+ {
+
+ if (!await IsDeliverManage())
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+
+ if(entity.orderkeyid==null||entity.orderkeyid==0)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "娌℃湁瀵瑰簲璁㈠崟"
+ };
+ }
+ if(string.IsNullOrEmpty(entity.shipAddress))
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "瀛︽牎鍦板潃蹇呭~"
+ };
+ }
+ if (string.IsNullOrEmpty(entity.shipMobile)&&(!entity.shipMobile.IsPhoneNumberValid()))
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "瀛︽牎鑱旂郴浜虹數璇濆繀濉笖蹇呴』鏄數璇濆彿鐮�"
+ };
+ }
+ if (string.IsNullOrEmpty(entity.shipName))
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "鑱旂郴浜哄繀濉�"
+ };
+ }
+ if (string.IsNullOrEmpty(entity.pianqu))
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "鐗囧尯蹇呭~"
+ };
+ }
+ var Oder = await _CyDbClient.Queryable<EC_OrderBasic>().Where(x => x.Keyid == entity.orderkeyid&&x.OrderState>0).FirstAsync();
+ if(Oder==null)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = $"璁㈠崟澶辨晥鎴栬�呭凡缁忓畬缁�"
+ };
+ }
+ var Oderxml= await _CyDbClient.Queryable<EC_OrderPrintParameter>().Where(x => x.OrderId == entity.orderkeyid).Select(x => x.PrintParameter).FirstAsync();
+ if(string.IsNullOrEmpty(Oderxml))
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "璁㈠崟閿欒(0)"
+ };
+ }
+ var custinfo = await _CyDbClient.Queryable<OA_CustomerCommunications>().Where(x => x.CompanyPhone == _UserMoble).FirstAsync();
+ if(custinfo ==null)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "鎿嶄綔鐢ㄦ埛娌℃湁缁戝畾鐪佸競鍖�"
+ };
+ }
+
+ var xmlist= ParseXml(Oderxml);
+
+ if ( entity.items.Count>0)
+ {
+ var data = new CoreCmsPlanOrder
+ {
+ orderkeyid = entity.orderkeyid,
+ items = new List<CoreCmsPlanOrderItem>(),
+ createBy = _UserMoble,
+ createTime = DateTime.Now,
+ huaFeiAmount = 0,
+ DeliverState = DeliverStateType.NoDelivery,
+ keYongAmount = 0,
+ pianqu = entity.pianqu,
+ quxianId = entity.quxianId,
+ sheng = custinfo.Province,
+ quxian = custinfo.County,
+ shengId = entity.shengId,
+ shi = custinfo.City,
+ shiId = entity.shiId,
+ shipAddress = entity.shipAddress,
+ shipMobile = entity.shipMobile,
+ shipName = entity.shipName,
+ shouhuoAddress = entity.shipAddress,
+ status = 1,
+ isdelete = false,
+ userMobile = entity.shipMobile,
+ FirmId = Oder.SellerId.ToString()
+
+
+
+
+ };
+ foreach (var item in entity.items)
+ {
+ var inxml = xmlist.Where(x => x.WorkBookNameTxt == item.name && x.WorkBookSizeTxt == item.specification).FirstOrDefault();
+ decimal price = 0m;
+ decimal.TryParse(inxml.WorkBookPrice, out price);
+
+
+ data.items.Add(new CoreCmsPlanOrderItem
+ {
+ isOld=false,
+ amount = item.nums*price,
+ createBy = _UserMoble,
+ createTime=DateTime.Now,
+ fengmian=inxml.fengmian,
+ neiye=inxml.neiye,
+ price=price,
+ name=item.name,
+ specification=item.specification,
+ nums=item.nums,
+
+
+ });
+ }
+
+ data.orderAmount= data.items.Sum(x => x.amount);
+ data.oldOrderAmount = data.items.Sum(x => x.amount);
+ await _CyDbClient.InsertNav(data).Include(x => x.items).ExecuteCommandAsync();
+
+ await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.CyDeliverOAjisuanjine, entity.orderkeyid?.ToString());
+ return new WebApiCallBack
+ {
+ status = true,
+ data = true,
+ };
+
+ }
+ else
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "娌℃湁浣滀笟鏈鎯呰〃"
+ };
+ }
+
+
+ }
+
+ public async Task<WebApiCallBack> GetCreatSchoolOfSchoolManage()
+ {
+
+ if (!await IsSchoolManger())
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+ if(_SchoolManagerKeyId==null)
+
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+
+ var listmager = await _CyDbClient.Queryable<CoreCmsPlanOrder>().
+ LeftJoin<EC_OrderBasic>((p, or) => p.orderkeyid == or.Keyid)
+ .LeftJoin<OA_CustomerCommunications>((p, or, cus) => or.BuyerId == cus.Keyid)
+ .Where((p, or, cus) => cus.Keyid == _SchoolManagerKeyId)
+ .Select((p, or, cus) => p, true).ToListAsync();
+ if(listmager == null||listmager.Count==0)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "鏈壘鎷ユ湁璁㈠崟"
+ };
+ }
+ var ListZoneKeyID = listmager.GroupBy(x => x.orderkeyid).Select(x => new
+ {
+ keyid = x.Key.Value,
+ count = x.Count(),
+ }).ToList();
+
+ if(ListZoneKeyID.Count==0)
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "鏈壘鎷ユ湁璁㈠崟"
+ };
+ }
+ //璁㈠崟璇︽儏鍒楄〃
+ var ZoneOderList = await _CyDbClient.Queryable<EC_OrderBasic>().In(ListZoneKeyID.Select(y=>y.keyid).ToList()).Select(x => new zongoderinfo
+ {
+ Keyid = x.Keyid,
+ DocumentName= x.DocumentName,
+ WorkBooksxmlstr= SqlFunc.Subqueryable<EC_OrderPrintParameter>().Where(pa=>pa.OrderId==x.Keyid).Select(pa=>pa.PrintParameter)
+
+ }).Mapper(x=>
+ {
+ x.WorkBooks= ParseXml(x.WorkBooksxmlstr);
+ x.WorkBooksxmlstr = null;
+ }).ToListAsync();
+
+
+
+ return new WebApiCallBack
+ {
+ status = true,
+ data = ZoneOderList,
+
+ };
+
+
+
+
+ }
+
+ public async Task<WebApiCallBack> DelSchoolOfSchoolManage(FMIntId entity)
+ {
+
+ if (!await IsSchoolManger())
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "浣犳病鏈夋潈闄愭搷浣�"
+ };
+ if(entity.id==0)
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "id鏃犳晥"
+ };
+
+ var data= await _CyDbClient.Queryable<CoreCmsPlanOrder, EC_OrderBasic>((core, order) => new JoinQueryInfos(
+ JoinType.Left, core.orderkeyid == order.Keyid
+ )
+
+
+ ).Where((core, order) => order.BuyerId == _SchoolManagerKeyId&&core.id==entity.id).Select((core, order)=>core).FirstAsync();
+ if(data!=null)
+ {
+ data.isdelete = true;
+ data.upDataBy = _UserMoble;
+ data.upDataTime = data.upDataTime;
+ await _CyDbClient.Updateable(data).ExecuteCommandAsync();
+ await _redisOperationRepository.ListLeftPushAsync(RedisMessageQueueKey.CyDeliverOAjisuanjine, data.orderkeyid?.ToString());
+ return new WebApiCallBack
+ {
+ status = true,
+ data =true
+ };
+
+ }
+ else
+ {
+ return new WebApiCallBack
+ {
+ status = false,
+ msg = "娌℃湁鏉冮檺鍒犻櫎璇ヨ鍗�"
+ };
+ }
+
+
+ }
+ #endregion
}
- class SendCountDto
+ class SendCountDto
{
/// <summary>
/// 鍚嶇О
/// </summary>
- public string name { get; set; }
+ public string name { get; set; }
/// <summary>
/// 寮�鏈�
/// </summary>
@@ -1797,8 +2705,47 @@
/// <summary>
/// 宸茶缃垨鑰呮湭瀹屾垚
/// </summary>
- public int IngCount { get; set; }
+ public int IngCount { get; set; }
+ /// <summary>
+ /// 鑺傜害鏁伴噺
+ /// </summary>
+ public int LessCount { get; set; }
}
+ /// <summary>
+ /// 璁㈠崟鍙傛暟鍒楄〃
+ /// </summary>
+ public class zongoderinfo
+ {
+ public int Keyid { get; set; }
+ public string DocumentName { get; set; }
+ public List<InquiryWorkBookModel> WorkBooks { get; set; }
+ public string WorkBooksxmlstr { get; set; }
+
+ }
+
+ public class InquiryWorkBookModel
+ {
+ public string WorkBookName { get; set; }
+ public string WorkBookNameTxt { get; set; }
+ public string WorkBookSize { get; set; }
+ public string WorkBookSizeTxt { get; set; }
+ public string WorkBookCount { get; set; }
+ public string ysUnit { get; set; }
+ public string ysUnitTxt { get; set; }
+ public string WorkBookPrice { get; set; }
+ public string WorkBookMoney { get; set; }
+ public string WorkBookFengMian { get; set; }
+ public string WorkBookFengMianTxt { get; set; }
+ public string FengMianYaoqiu { get; set; }
+ public string FengMianYaoqiuTxt { get; set; }
+ public string WorkBookNeiXing { get; set; }
+ public string WorkBookNeiXingTxt { get; set; }
+ public string NeiXingYaoqiu { get; set; }
+ public string NeiXingYaoqiuTxt { get; set; }
+ public string WorkBookpageNum { get; set; }
+ public string fengmian { get; set; }
+ public string neiye { get; set; }
+ }
}
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs
index 62b7d35..48032c7 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDeliverMangerController.cs
@@ -52,7 +52,7 @@
}
/// <summary>
- /// 鑾峰彇閰嶉�佺鐞嗚鍗�
+ /// 閫佽揣瀹夋帓
/// </summary>
/// <param name="entity"></param>
/// <returns></returns>
@@ -72,6 +72,16 @@
public async Task<WebApiCallBack> GetDeliveryOderInfoe(FMIntId entity)
{
return await _cyinOAService.GetDeliveryOderInfoOfDeliveryManage(entity);
+ }
+ /// <summary>
+ /// 瀛︽牎鐩樼偣
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<WebApiCallBack> GetShcoolInventory(FMIntId entity)
+ {
+ return await _cyinOAService.GetSchoolInventory(entity);
}
/// <summary>
@@ -98,5 +108,16 @@
}
return await _cyinOAService.SetDeliveryOderOfDeliveryManage(entity);
}
+ /// <summary>
+ /// 鎵归噺璁剧疆閰嶉�佸崟
+ /// </summary>
+ /// <param name="entity"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<WebApiCallBack> MakeMultiDeliveryOder(MakeMultiDeliveryOrderDto entity)
+ {
+
+ return await _cyinOAService.MakeMultiDeliveryOderOfDeliveryManage(entity);
+ }
}
}
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs
index ffe5286..ac30a01 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CyDriverController.cs
@@ -145,11 +145,8 @@
public async Task<WebApiCallBack> FinishDeliverOrder(FMStringId entity)
{
- return new WebApiCallBack
- {
- status = true,
- data = await _cyinOAService.FinishDeliverOrdeOfDrver(entity)
- };
+ return await _cyinOAService.FinishDeliverOrdeOfDrver(entity);
+
}
diff --git a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs
index 3c703ff..f403157 100644
--- a/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs
+++ b/CoreCms.Net.Web.WebApi/Controllers/CyinOsAPI/CySchoolController.cs
@@ -34,10 +34,34 @@
public async Task<WebApiCallBack> GetIsShooder()
{
+ var data = await _cyinOAService.IsSchooler();
+ if (data == true)
+ return new WebApiCallBack
+ {
+ status = true,
+ data = data,
+ };
+
return new WebApiCallBack
{
status = true,
- data = await _cyinOAService.IsSchooler()
+ data = await _cyinOAService.IsSchoolManger()
+ };
+
+ }
+
+ /// <summary>
+ /// 鏄惁鏄鏍℃暀鑲插眬涓嬪崟
+ /// </summary>
+ /// <returns></returns>
+ [HttpGet]
+ public async Task<WebApiCallBack> IsSchoolManger()
+ {
+
+ return new WebApiCallBack
+ {
+ status = true,
+ data = await _cyinOAService.IsSchoolManger()
};
}
@@ -185,6 +209,39 @@
}).ToList()
};
}
+ /// <summary>
+ /// 鑾峰彇鍒涘缓璁㈠崟鐩稿叧鍙傛暟
+ /// </summary>
+ /// <returns></returns>
+ [HttpGet]
+ public async Task<WebApiCallBack> GetCreatOderParam()
+ {
+ return await _cyinOAService.GetCreatSchoolOfSchoolManage();
+
+ }
+ /// <summary>
+ /// 鍒涘缓璁㈠崟
+ /// </summary>
+ /// <param name="en"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<WebApiCallBack> CreatSchoolOder(CoreCmsPlanOrderInfoDto en)
+ {
+ return await _cyinOAService.CreatSchoolOfSchoolManage(en);
+
+ }
+
+ /// <summary>
+ /// 鍒犻櫎璁㈠崟
+ /// </summary>
+ /// <param name="en"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<WebApiCallBack> DelSchoolOder(FMIntId en)
+ {
+ return await _cyinOAService.DelSchoolOfSchoolManage(en);
+
+ }
}
}
diff --git a/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user b/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
index 72ef19d..c49e508 100644
--- a/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
+++ b/CoreCms.Net.Web.WebApi/Properties/PublishProfiles/FolderProfile.pubxml.user
@@ -5,7 +5,7 @@
<Project>
<PropertyGroup>
<_PublishTargetUrl>D:\鐧惧垎鐧惧叺娉昞API</_PublishTargetUrl>
- <History>True|2024-11-12T01:19:24.2854122Z||;True|2024-11-08T08:59:03.7975322+08:00||;True|2024-11-07T10:49:34.2710419+08:00||;True|2024-11-07T09:10:55.4973420+08:00||;True|2024-11-06T13:12:02.1421513+08:00||;True|2024-11-06T12:25:13.6289735+08:00||;True|2024-11-06T09:05:25.0195410+08:00||;True|2024-11-05T15:57:49.9141760+08:00||;True|2024-11-05T13:20:20.2196550+08:00||;True|2024-11-04T11:14:20.0184333+08:00||;False|2024-11-04T11:13:31.2038940+08:00||;True|2024-11-01T11:09:18.4938189+08:00||;False|2024-11-01T11:08:48.5298972+08:00||;True|2024-11-01T09:16:11.5683384+08:00||;True|2024-03-22T16:31:04.2218156+08:00||;</History>
+ <History>True|2024-11-27T00:59:58.9356363Z||;True|2024-11-22T13:15:11.8552617+08:00||;True|2024-11-21T09:59:12.6413208+08:00||;True|2024-11-20T09:00:43.9977878+08:00||;True|2024-11-19T12:57:11.1723885+08:00||;True|2024-11-14T15:48:37.2147562+08:00||;True|2024-11-14T15:36:23.1725803+08:00||;True|2024-11-14T15:25:54.9253406+08:00||;True|2024-11-14T13:32:56.5401650+08:00||;True|2024-11-13T17:33:36.1938552+08:00||;True|2024-11-13T15:31:29.3869845+08:00||;True|2024-11-13T15:27:11.3974109+08:00||;True|2024-11-13T15:14:39.2933051+08:00||;True|2024-11-13T14:24:52.8582465+08:00||;True|2024-11-13T09:53:23.5894948+08:00||;True|2024-11-12T14:47:59.7284833+08:00||;True|2024-11-12T09:19:24.2854122+08:00||;True|2024-11-08T08:59:03.7975322+08:00||;True|2024-11-07T10:49:34.2710419+08:00||;True|2024-11-07T09:10:55.4973420+08:00||;True|2024-11-06T13:12:02.1421513+08:00||;True|2024-11-06T12:25:13.6289735+08:00||;True|2024-11-06T09:05:25.0195410+08:00||;True|2024-11-05T15:57:49.9141760+08:00||;True|2024-11-05T13:20:20.2196550+08:00||;True|2024-11-04T11:14:20.0184333+08:00||;False|2024-11-04T11:13:31.2038940+08:00||;True|2024-11-01T11:09:18.4938189+08:00||;False|2024-11-01T11:08:48.5298972+08:00||;True|2024-11-01T09:16:11.5683384+08:00||;True|2024-03-22T16:31:04.2218156+08:00||;</History>
<LastFailureDetails />
</PropertyGroup>
</Project>
\ No newline at end of file
--
Gitblit v1.9.1