From 8c92db325f7c801d2df095763a17673fa6c92085 Mon Sep 17 00:00:00 2001
From: 移动系统liao <liaoxujun@qq.com>
Date: 星期五, 07 三月 2025 18:56:09 +0800
Subject: [PATCH] 物流配送第一点
---
cylsg/cylsg.Application/CyOS/CyOSStaffController.cs | 324 ++++++++++++++++++++++++++++++++++++++++++++++++++----
1 files changed, 300 insertions(+), 24 deletions(-)
diff --git a/cylsg/cylsg.Application/CyOS/CyOSStaffController.cs b/cylsg/cylsg.Application/CyOS/CyOSStaffController.cs
index 0c322a4..f710ad4 100644
--- a/cylsg/cylsg.Application/CyOS/CyOSStaffController.cs
+++ b/cylsg/cylsg.Application/CyOS/CyOSStaffController.cs
@@ -5,7 +5,10 @@
using cylsg.utility.Extend;
using Cylsg.Filter;
using ECTESTOA;
+using EzCoreNet.Redis;
using Furion.LinqBuilder;
+using Microsoft.CodeAnalysis.CSharp.Syntax;
+using Models;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -21,16 +24,19 @@
/// 宸濆嵃鏅�氬憳宸ユ帶鍒跺櫒
/// </summary>
[Authorize]
+ [ApiDescriptionSettings("CYOA")]
public class CyOSStaffController : IDynamicApiController
{
private readonly IOAServices _OAServices;
private readonly ISqlSugarClient _SugarClient;
+ private readonly IEzCoreNetRedisService _ezCoreNetRedisService;
private ECTESTOAPermissions Permissions;
- public CyOSStaffController(IOAServices oaServices, ISqlSugarClient sugarClient)
+ public CyOSStaffController(IOAServices oaServices, ISqlSugarClient sugarClient,IEzCoreNetRedisService netRedisService)
{
_OAServices = oaServices;
_SugarClient = sugarClient.AsTenant().GetConnection("ECTESTOADB");
+ _ezCoreNetRedisService = netRedisService;
}
/// <summary>
@@ -39,6 +45,7 @@
[HttpPost]
public async Task<WorekPlandto> getplanelist(SearchOaWorekPlan param)
{
+
if(! await CheckRols())
{
throw Oops.Oh("娌℃湁鏉冮檺");
@@ -48,6 +55,7 @@
SearchList = SearchList.And(x => x.MemberId == _OAServices.firmId);
SearchList = SearchList.And(x => x.PlanType == 3);
SearchList = SearchList.And(x => x.PlanDataType == 17);
+
if (!string.IsNullOrEmpty(param.StaffName))
{
SearchList = SearchList.And(x => x.SentStaff.Name.Contains(param.StaffName));
@@ -159,6 +167,10 @@
}
}
+ if (pram.ApprovalStatus != PlanStatusType.Uncommitted)
+ pram.EvaluationContent = _ezCoreNetRedisService.GetYYYMMddAnd4sn();
+ else
+ pram.EvaluationContent = "";
pram.PlanType = 3;//鍥哄畾涓�3
pram.MemberId = _OAServices.firmId;
pram.SentStaffId = Permissions.MemberId;
@@ -174,22 +186,20 @@
pram.PlanRemark = "";
pram.PlanPeople = Permissions.Name;
pram.PlanComplany = "";
- pram.PlanStatus = PlanStatusType.unApproval;
+ if(pram.PlanStatus!= PlanStatusType.Uncommitted)
+ {
+ pram.PlanStatus = PlanStatusType.unApproval;
+ }
+
+
pram.ApprovalStaffId = Guid.Empty;
pram.ApprovalTime=DateTime.Now;
- pram.ApprovalContent = "";
- pram.EvaluationContent = "";
+ pram.ApprovalContent = "";
pram.EvaluationStaffId = Guid.Empty;
pram.EvaluationTime = DateTime.Now;
pram.RewardMoney = 0;
pram.RewardType = 1;
-
-
-
-
-
-
-
+ pram.Keyid = null;
await _SugarClient.InsertNav(pram).Include(x=>x.WorkPlanAttachments).ExecuteCommandAsync();
return true;
@@ -230,18 +240,21 @@
var data= await _SugarClient.Queryable<OaWorkPlan>().Includes(x=>x.WorkPlanAttachments).Includes(x=>x.OaWorkPlanShenpis).Where(x=>x.Keyid==pram.Keyid&&x.SentStaffId==Permissions.MemberId).FirstAsync();
if(data==null)
throw Oops.Oh("娌℃湁鏉冮檺");
- if(data.ApprovalStatus!= PlanStatusType.unApproval||data.OaWorkPlanShenpis.Count>0)
+ if (data.ApprovalStatus != PlanStatusType.Uncommitted)
{
- if(data.HoubufapiaoStatus == HoubufapiaoStatusType.HouBuFaPiao&&data.HoubufapiaoStatus== HoubufapiaoStatusType.HouBuFaPiao)
+ if (data.ApprovalStatus != PlanStatusType.unApproval || data.OaWorkPlanShenpis.Count > 0)
{
- //鍚庤ˉ鍙戠エ锛屽彧鑳戒慨鏀瑰彂绁ㄥ拰闄勪欢
- await _SugarClient.UpdateNav(data).Include(x => x.WorkPlanAttachments).ExecuteCommandAsync();
- return true;
- }
- else
+ if (data.HoubufapiaoStatus == HoubufapiaoStatusType.HouBuFaPiao && data.HoubufapiaoStatus == HoubufapiaoStatusType.HouBuFaPiao)
+ {
+ //鍚庤ˉ鍙戠エ锛屽彧鑳戒慨鏀瑰彂绁ㄥ拰闄勪欢
+ await _SugarClient.UpdateNav(data).Include(x => x.WorkPlanAttachments).ExecuteCommandAsync();
+ return true;
+ }
+ else
- throw Oops.Oh("宸茬粡杩涘叆瀹℃壒娴佺▼涓嶅彲淇敼");
-
+ throw Oops.Oh("宸茬粡杩涘叆瀹℃壒娴佺▼涓嶅彲淇敼");
+
+ }
}
if (data.RewardResult != pram.RewardResult)
@@ -265,7 +278,15 @@
}
}
-
+
+ if(data.ApprovalStatus== PlanStatusType.Uncommitted&&pram.ApprovalStatus== PlanStatusType.unApproval)
+ {
+ //閲嶆柊鎻愪氦蹇呴』淇敼鏂扮殑鍗曞彿
+ data.EvaluationContent = _ezCoreNetRedisService.GetYYYMMddAnd4sn();
+ data.ApprovalStatus = pram.ApprovalStatus;
+ }
+
+
data.PlanMoney=pram.PlanMoney;
//鎽樿
data.PlanContent =pram.PlanContent;
@@ -284,7 +305,7 @@
}
/// <summary>
- /// 鑾峰彇璇︽儏
+ /// 鑾峰彇璐㈠姟鐢宠鍗曡鎯�
/// </summary>
/// <param name="id"></param>
/// <returns></returns>
@@ -295,12 +316,11 @@
{
throw Oops.Oh("娌℃湁鏉冮檺");
}
- return await _SugarClient.Queryable<OaWorkPlan>().Includes(x=>x.SentStaff).Includes(x=>x.Depart).Includes(x=>x.WorkPlanAttachments).Where(x => x.Keyid == id).FirstAsync();
+ return await _SugarClient.Queryable<OaWorkPlan>().Includes(x=>x.SentStaff).Includes(x => x.OaWorkPlanShenpis,y=>y.ApprovalStaff).Includes(x=>x.Depart).Includes(x=>x.WorkPlanAttachments).Where(x => x.Keyid == id).FirstAsync();
}
/// <summary>
/// 鍒犻櫎
/// </summary>
- /// <param name="pram"></param>
/// <returns></returns>
[HttpDelete]
public async Task<bool> DelOderAsync(int id )
@@ -326,6 +346,228 @@
return true;
}
+
+ /// <summary>
+ /// 鑾峰彇棰勭害閰嶉�佷俊鎭�
+ /// </summary>
+ /// <param name="Param"></param>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<AppointmentDeliverRet> GetListAppointmentDeliverList(ApoointmentDeliverSearchParam Param)
+ {
+
+ if (!await CheckRols())
+ {
+ throw Oops.Oh("娌℃湁鏉冮檺");
+ }
+
+ Expression<Func<OA_DeliverTixing, bool>> SearchList = (x) => true;
+ SearchList = SearchList.And(x => x.FirmId == _OAServices.firmId);
+ SearchList = SearchList.And(x => x.Creater == Permissions.MemberId);
+ if (!string.IsNullOrEmpty(Param.Content))
+ {
+ SearchList = SearchList.And(x => x.Remark.Contains(Param.Content));
+ }
+ if (Param.MemberId != null)
+ {
+ SearchList = SearchList.And(x => x.FirmId == Param.MemberId);
+ }
+ if (Param.TimeStart !=null)
+ {
+ SearchList = SearchList.And(x => x.CreateTime> Param.TimeStart);
+ }
+ if (Param.TimeEnd != null)
+ {
+ SearchList = SearchList.And(x => x.CreateTime < Param.TimeEnd.Value.AddDays(1));
+ }
+
+
+
+ if (Param.DeliverState != null)
+ {
+ SearchList = SearchList.And(x => x.Chulistatus == Param.DeliverState);
+ }
+ //寮哄埗澧炲姞鍛樺伐杩囨护
+ RefAsync<int> totle = 0;
+ var data = await _SugarClient.Queryable<OA_DeliverTixing>()
+ .Where(SearchList).OrderByDescending(x => x.ChuliTime).ToPageListAsync(Param.page.PageIndex, Param.page.PageSize, totle);
+
+ Param.page.TotalCount = totle;
+
+ return new AppointmentDeliverRet
+
+ {
+ Data = data,
+ page= Param.page,
+
+ };
+ }
+
+
+ /// <summary>
+ /// 鍒涘缓涓�涓绾﹂厤閫�
+ /// </summary>
+ /// <param name="Param"></param>
+ /// <returns></returns>
+ [LimitFilter(LimiType = Limttype.User,timespan =5,ResponseMeg ="璇峰嬁鍦�5鍐呴噸澶嶈姹�",InCount =1)]
+ public async Task<int> CreatAppointmentDeliver(OA_DeliverTixing Param)
+ {
+ if( string.IsNullOrEmpty(Param.Remark))
+ throw Oops.Oh("鍐呭蹇呭~");
+
+ if (!await CheckRols())
+ {
+ throw Oops.Oh("娌℃湁鏉冮檺");
+ }
+
+ Param.FirmId = _OAServices.firmId;
+ Param.CreateTime = DateTime.Now;
+ Param.Creater = Permissions.MemberId;
+ Param.Chulistatus = AppointmentDeliverState.unAccept;
+
+ return await _SugarClient.Insertable(Param).ExecuteCommandAsync();
+ }
+
+ /// <summary>
+ /// 淇敼棰勭害鎻愰啋
+ /// </summary>
+ /// <param name="Param"></param>
+ /// <returns></returns>
+ public async Task<int> UpDataAppointmentDeliver(OA_DeliverTixing Param)
+ {
+ if( Param.Chulistatus== AppointmentDeliverState.Accept)
+ throw Oops.Oh("鐘舵�佷笉鍙慨鏀逛负鍙楃悊鐘舵��");
+ if (!(Param.Keyid>0))
+ throw Oops.Oh("Keyid涓嶈兘涓虹┖");
+ if (string.IsNullOrEmpty(Param.Remark))
+ throw Oops.Oh("鍐呭蹇呭~");
+
+ if (!await CheckRols())
+ {
+ throw Oops.Oh("娌℃湁鏉冮檺");
+ }
+ var data= await _SugarClient.Queryable<OA_DeliverTixing>().Where(x => x.Keyid == Param.Keyid&&x.FirmId==_OAServices.firmId&&x.Creater==Permissions.MemberId).FirstAsync();
+ if (data == null)
+ throw Oops.Oh("娌℃壘鍒版暟鎹�");
+ if(data.Chulistatus == AppointmentDeliverState.Accept)
+ throw Oops.Oh("宸插彈鐞嗙姸鎬佷笉鍙慨鏀�");
+ if (data.Remark!=Param.Remark)
+ {
+ data.Remark = Param.Remark;
+ data.LastUpdateTime = DateTime.Now;
+ data.Updater = Permissions.MemberId;
+ return await _SugarClient.Updateable(data).ExecuteCommandAsync();
+ }
+ return 1;
+
+
+ }
+ /// <summary>
+ /// 鍒犻櫎棰勭害鎻愰啋
+ /// </summary>
+ /// <param name="Param"></param>
+ /// <returns></returns>
+ public async Task<int> DelAppointmentDeliver(OA_DeliverTixing Param)
+ {
+ if (!(Param.Keyid > 0))
+ throw Oops.Oh("Keyid涓嶈兘涓虹┖");
+
+
+ if (!await CheckRols())
+ {
+ throw Oops.Oh("娌℃湁鏉冮檺");
+ }
+ var data = await _SugarClient.Queryable<OA_DeliverTixing>().Where(x => x.Keyid == Param.Keyid && x.Creater == Permissions.MemberId&&x.FirmId==_OAServices.firmId).FirstAsync();
+ if (data == null)
+ throw Oops.Oh("娌℃壘鍒版暟鎹垨鑰呮病鏈夋潈闄�");
+ if( data.Chulistatus!= AppointmentDeliverState.unAccept)
+ throw Oops.Oh("宸插彈鐞嗙姸鎬佷笉鍙垹闄�");
+
+ return await _SugarClient.Deleteable(data).ExecuteCommandAsync();
+
+
+ }
+
+ /// <summary>
+ /// 鑾峰彇閫佽揣鍗�
+ /// </summary>
+ /// <returns></returns>
+ [HttpPost]
+ public async Task<DeliverOderPageRet> GetDeliverPlans(DeliverPlanSearchParam Param)
+ {
+ if (!await CheckRols())
+ {
+ throw Oops.Oh("娌℃湁鏉冮檺");
+ }
+
+ Expression<Func<OA_DeliverPlan, bool>> SearchList = (x) => true;
+ SearchList = SearchList.And(x => x.FirmId == _OAServices.firmId);
+ SearchList = SearchList.And(x => x.Creater == Permissions.MemberId);//鍙湅鑷繁
+ SearchList = SearchList.And(x => x.ShifouDelivery !=2);//杩囨护鏈夋晥
+ if (Param.DeliverKeyID!=null)
+ {
+ SearchList = SearchList.And(x => x.DriverId == Param.DeliverKeyID);
+ }
+ //瀹㈡埛鍚嶇О
+ if (!string.IsNullOrEmpty(Param.CorporateClient))
+ {
+ SearchList = SearchList.And(x => x.CompanyName.Contains(Param.CorporateClient));
+ }
+ if (Param.TimeStart != null)
+ {
+ SearchList = SearchList.And(x => x.CreateTime > Param.TimeStart);
+ }
+ if (Param.TimeEnd != null)
+ {
+ SearchList = SearchList.And(x => x.CreateTime < Param.TimeEnd.Value.AddDays(1));
+ }
+ if (Param.DeliveredState != null)
+ {
+ if (Param.DeliveredState != DeliveredType.Delivered)
+ {
+ SearchList = SearchList.And(x => x.Deliveredstatus != DeliveredType.Delivered);
+ }
+ else
+ {
+ SearchList = SearchList.And(x => x.Deliveredstatus == DeliveredType.Delivered);
+ }
+ }
+
+ //寮哄埗澧炲姞鍛樺伐杩囨护
+ RefAsync<int> totle = 0;
+ var data = await _SugarClient.Queryable<OA_DeliverPlan>().Includes(x => x.Driver)
+ .Where(SearchList).OrderByDescending(x => x.CreateTime.Value.Date).OrderBy(x=>SqlFunc.Asc(x.Sort)).ToPageListAsync(Param.page.PageIndex, Param.page.PageSize, totle);
+
+ Param.page.TotalCount = totle;
+
+
+ return new DeliverOderPageRet
+
+ {
+ Data = data,
+ page = Param.page,
+
+ };
+
+
+ }
+
+ /// <summary>
+ /// 鑾峰彇閫佽揣鍗曡鎯�
+ /// </summary>
+ /// <param name="KeyId"></param>
+ /// <returns></returns>
+ public async Task<OA_DeliverPlan> GetDeliverPlanInfo(Guid KeyId)
+ {
+
+ if (!await CheckRols())
+ {
+ throw Oops.Oh("娌℃湁鏉冮檺");
+ }
+ return await _SugarClient.Queryable<OA_DeliverPlan>().Includes(x => x.Attachments).Includes(x=>x.Driver).Includes(x=>x.Manager)
+ .Where(x => x.Creater == Permissions.MemberId && x.Keyid == KeyId && x.ShifouDelivery != 2).FirstAsync();
+
+ }
/// <summary>
/// 鍒ゆ柇鏄惁鍏锋湁鏉冮檺
@@ -410,4 +652,38 @@
public decimal TotalMoney { get; set; } = 0;
}
+
+ /// <summary>
+ /// 閰嶉�侀绾�
+ /// </summary>
+ public class AppointmentDeliverRet
+ {
+ /// <summary>
+ /// 鏁版嵁鍒楄〃
+ /// </summary>
+ public List<OA_DeliverTixing> Data { get; set; }
+
+ /// <summary>
+ /// 椤甸潰鍙傛暟
+ /// </summary>
+ public PageModel page { get; set; }
+
+ }
+
+
+ /// <summary>
+ /// 閰嶉�佸崟鏁版嵁杩斿洖
+ /// </summary>
+ public class DeliverOderPageRet
+ {
+ /// <summary>
+ /// 鏁版嵁鍒楄〃
+ /// </summary>
+ public List<OA_DeliverPlan> Data { get; set; }
+
+ /// <summary>
+ /// 椤甸潰鍙傛暟
+ /// </summary>
+ public PageModel page { get; set; }
+ }
}
--
Gitblit v1.9.1