移动系统liao
2025-03-07 8c92db325f7c801d2df095763a17673fa6c92085
物流配送第一点
8个文件已修改
14个文件已添加
3133 ■■■■■ 已修改文件
cylsg/ECTESTOA/OAServices.cs 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoCaiWuController.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoJingLiController.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/CyOS/CyOSSDriver.cs 293 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/CyOS/CyOSSettingController.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/CyOS/CyOSStaffController.cs 261 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/CyOS/CyOsDeliverManage.cs 523 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Application/applicationsettings.json 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/EC_DriverRecord.cs 111 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/EC_OrderBasic.cs 242 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/EC_OrderExtend.cs 305 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/EC_OrderLiuyang.cs 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/EC_OrderOperate.cs 60 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/EC_OrderPrintParameter.cs 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/OA_CarManage.cs 130 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/OA_CorporateClients.cs 361 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/OA_CustomerCommunications.cs 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/OA_DeliverPlan.cs 266 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/OA_DeliverTixing.cs 109 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/OA_attachment.cs 74 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/cylsg.Model/ECTEModel/OaWorkPlanAttachment.cs 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
cylsg/ECTESTOA/OAServices.cs
@@ -71,7 +71,9 @@
                ret = await _OAsqlSugarClient.Queryable<OaStaff>().Includes(x => x.Department).Where(x => x.MobieNum == user.ItCode && x.FirmId == firmId).Select(x => new ECTESTOAPermissions
                {
                    DepartmentName = x.Department.Name,
                     DepartId=x.DepartmentId,
                     DepartId=x.DepartmentId
                },true
                ).FirstAsync();
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoCaiWuController.cs
@@ -17,6 +17,7 @@
    /// 财务报销控制器
    /// </summary>
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public  class CyOSBaoXiaoCaiWuController: IDynamicApiController
    {
        private static readonly SemaphoreSlim _semaphore = new SemaphoreSlim(1);
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoJingLiController.cs
@@ -17,6 +17,7 @@
    /// 川印报销经理API
    /// </summary>
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public class CyOSBaoXiaoJingLiController: IDynamicApiController
    {
        private readonly IOAServices _OAServices;
cylsg/cylsg.Application/CyOS/CyOSBaoXiaoZHuGuanController.cs
@@ -15,6 +15,7 @@
    /// 报销主管相关控制器
    /// </summary>
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public class CyOSBaoXiaoZHuGuanController: IDynamicApiController
    {
        private readonly IOAServices _OAServices;
cylsg/cylsg.Application/CyOS/CyOSSDriver.cs
New file
@@ -0,0 +1,293 @@
using cylsg.Model.ECTEModel;
using cylsg.Model.utilityViewModel;
using ECTESTOA;
using EzCoreNet.Redis;
using Furion.LinqBuilder;
using Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Text.RegularExpressions;
using System.Threading.Tasks;
namespace cylsg.Application.CyOS
{
    /// <summary>
    /// 司机相关
    /// </summary>
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public class CyOSSDriver: IDynamicApiController
    {
        private readonly ISqlSugarClient _client;
        private readonly IOAServices _oAServices;
        private readonly IEzCoreNetRedisService _eZCoreNetRedisService;
        private ECTESTOAPermissions Permissions;
        public CyOSSDriver(ISqlSugarClient client, IOAServices oAServices, IEzCoreNetRedisService netRedisService)
        {
            _client = client.AsTenant().GetConnection("ECTESTOADB");
            _oAServices = oAServices;
            _eZCoreNetRedisService = netRedisService;
        }
        /// <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.DriverId == Permissions.KeyId);//只看自己
            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 _client.Queryable<OA_DeliverPlan>().Includes(x=>x.SentStaff)
                .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>
        /// 获取DeliverPlan详情
        /// </summary>
        /// <param name="Param"></param>
        /// <returns></returns>
        public async Task<OA_DeliverPlan> GetDeliverPlanInfo(Guid KeyId)
        {
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            return await _client.Queryable<OA_DeliverPlan>().Includes(x=>x.Attachments.Where(y=>y.AttachmentType==3).ToList()).Includes(x=>x.Manager).Includes(x=>x.SentStaff)
                .Where(x => x.DriverId == Permissions.KeyId && x.Keyid == KeyId&&x.ShifouDelivery!=2).FirstAsync();
        }
        /// <summary>
        /// 开始配送
        /// </summary>
        /// <param name="KeyId"></param>
        /// <returns></returns>
        public async Task<int > StartDeliverPlan(Guid KeyId)
        {
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
             var a= await _client.Queryable<OA_DeliverPlan>().Where(x => x.DriverId == Permissions.KeyId && x.Keyid == KeyId && x.ShifouDelivery != 2).FirstAsync();
            if(a==null)
                throw Oops.Oh("没有权限");
            if(a.Deliveredstatus!= DeliveredType.Undeliver)
            {
                throw Oops.Oh("已经开始或者结束了");
            }
            a.Deliveredstatus = DeliveredType.Deliver;
            a.Updater = Permissions.MemberId;
            a.LastUpdateTime = DateTime.Now;
           return await _client.Updateable(a).ExecuteCommandAsync();
        }
        /// <summary>
        /// 完成订单
        /// </summary>
        /// <param name="Param"></param>
        /// <returns></returns>
        public async Task<bool> FinishDeliverPlan(OA_DeliverPlan Param)
        {
            if(Param.Keyid==null)
                throw Oops.Oh("ID错误");
            if((Param.Deliveredstatus != DeliveredType.Delivered)&&(Param.Deliveredstatus != DeliveredType.Reject))
                throw Oops.Oh("接受状态错误");
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            var a = await _client.Queryable<OA_DeliverPlan>().Where(x => x.DriverId == Permissions.KeyId && x.Keyid == Param.Keyid && x.ShifouDelivery != 2).FirstAsync();
            if (a == null)
                throw Oops.Oh("没有权限");
            if (a.Deliveredstatus != DeliveredType.Deliver)
            {
                throw Oops.Oh("订单状态结束");
            }
            foreach (var item in Param.Attachments)
            {
                if(string.IsNullOrWhiteSpace(item.PlanAttachment))
                {
                    throw Oops.Oh("有附件地址为空");
                }
                // URL 正则表达式
                string urlPattern = @"^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$";
                if(! Regex.IsMatch(item.PlanAttachment, urlPattern))
                {
                    throw Oops.Oh("请输入正确的附件地址");
                }
                if (item.Keyid>0)
                {
                    item.OA_Id = a.Keyid;
                    item.AttachmentType = 3;
                }
                else
                {
                    item.OA_Id=a.Keyid;
                    item.AttachmentType = 3;
                    item.CreateTime = DateTime.Now;
                    item.Operator = Permissions.Name;
                }
            }
            a.Deliveredstatus = DeliveredType.Deliver;
            a.Updater = Permissions.MemberId;
            a.LastUpdateTime = DateTime.Now;
            if(Param.Deliveredstatus== DeliveredType.Delivered)
            a.DeliveredTime = DateTime.Now;
            a.Wentifankui = Param.Wentifankui;
            a.Deliveredstatus= Param.Deliveredstatus;
            a.Attachments = Param.Attachments;
            return await _client.UpdateNav(a).Include(x=>x.Attachments,new SqlSugar.UpdateNavOptions()
                {
                   OneToManyInsertOrUpdate = true,//配置启用 插入、更新或删除模式
                }).ExecuteCommandAsync();
        }
        /// <summary>
        /// 上班打卡 上下班打卡都调用一个字段
        /// </summary>
        /// <returns></returns>
        [HttpPost]
        public async Task<bool > Clock(OA_DriverRecord Param)
        {
            if (Param.ClockType == DriverClockType.Unknown)
                throw Oops.Oh("类型不可为未知");
            Param.Id =  Guid.NewGuid();
            if (Param.Attachments!=null)
            foreach (var item in Param.Attachments)
            {
                    if (string.IsNullOrWhiteSpace(item.PlanAttachment))
                    {
                        throw Oops.Oh("有附件地址为空");
                    }
                    // URL 正则表达式
                    string urlPattern = @"^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$";
                    if (!Regex.IsMatch(item.PlanAttachment, urlPattern))
                    {
                        throw Oops.Oh("请输入正确的附件地址");
                    }
                    item.AttachmentType =4;
                    item.CreateTime = DateTime.Now;
                    item.Operator = Permissions.Name;
                }
             if(Param.CarConditionAttachments!=null)
                foreach (var item in Param.CarConditionAttachments)
                {
                    if (string.IsNullOrWhiteSpace(item.PlanAttachment))
                    {
                        throw Oops.Oh("有附件地址为空");
                    }
                    // URL 正则表达式
                    string urlPattern = @"^(https?|ftp):\/\/[^\s/$.?#].[^\s]*$";
                    if (!Regex.IsMatch(item.PlanAttachment, urlPattern))
                    {
                        throw Oops.Oh("请输入正确的附件地址");
                    }
                    item.AttachmentType = 5;
                    item.CreateTime = DateTime.Now;
                    item.Operator = Permissions.Name;
                }
            Param.CreatTime = DateTime.Now;
            Param.CreaterID = Permissions.MemberId;
            Param.Creater = Permissions.Name;
           return await  _client.InsertNav(Param).Include(x => x.Attachments).Include(x => x.Attachments).ExecuteCommandAsync();
        }
        /// <summary>
        /// 判断是否具有权限
        /// </summary>
        /// <returns></returns>
        private async Task<bool> CheckRols()
        {
            var pr = await _oAServices.GetOAPermissions();
            Permissions = pr;
            if (pr != null && pr.MemberId != null)
            {
                if (pr.BF_IsDriver == true)
                    return true;
                else
                    return false;
            }
            else
                return false;
        }
    }
}
cylsg/cylsg.Application/CyOS/CyOSSettingController.cs
@@ -1,6 +1,7 @@
using cylsg.Model.ECTEModel;
using ECTESTOA;
using EzCoreNet.Redis;
using Models;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -12,6 +13,8 @@
    /// <summary>
    /// 川印通用信息获取
    /// </summary>
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public class CYOSSettingController: IDynamicApiController
    {
@@ -45,6 +48,7 @@
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task<List<OaSubjectSet>> getKeMuList()
        {
            return await _client.Queryable<OaSubjectSet>().Where(x => x.Status == true && x.FirmId == _oAServices.firmId&& x.SubjectType=="贷").Select(x => new OaSubjectSet
@@ -59,9 +63,86 @@
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        [AllowAnonymous]
        public  string GetShowID()
        {
          return   _eZCoreNetRedisService.GetYYYMMddAnd4sn();
        }
        /// <summary>
        /// 获取客户列表
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        [AllowAnonymous]
        public async Task<object> GeCorporateClients()
        {
             return  await _client.Queryable<OA_CorporateClients>()
                .LeftJoin<OA_CustomerCommunications>((Co,Cu)=>Co.Keyid==Cu.Keyid)
                .Where((Co, Cu) => Co.Shifouwanjie != 1 && Co.FirmId == _oAServices.firmId).Select((Co, Cu) => new
            {
                 Co.Keyid,
                    Co.CompanyName,
                  adder=Cu.Province+Cu.City+Cu.County+Cu.DetailedAddress,
                  Cu.CompanyPhone,
                  Cu.BusinessManagers,
            }).MergeTable().OrderBy(Co => Co.CompanyName).WithCache(1800).ToListAsync();
        }
        /// <summary>
        /// 获取司机列表
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        public async Task<List<OaStaff>> Getdrivers()
        {
            return await _client.Queryable<OaStaff>().Where(x => x.Status == "在职" && x.FirmId == _oAServices.firmId && x.BF_IsDriver).Select(x => new OaStaff
            {
                Name = x.Name,
                MemberId = x.MemberId,
                Keyid = x.Keyid,
            }).WithCache(1800).ToListAsync();
        }
        /// <summary>
        /// 获取7天内司机列表
        /// </summary>
        /// <returns></returns>
        [HttpGet]
        [AllowAnonymous]
        public async Task<List<OaStaff>> GetDriversOfWithin7days()
        {
            var list = await _client.Queryable<OA_DeliverPlan>().Where(x => SqlFunc.ToDate(x.DeliverTime) < DateTime.Now.AddDays(8).Date && SqlFunc.ToDate(x.DeliverTime) >= DateTime.Now.Date).GroupBy(x => x.DriverId).Select(x => x.DriverId).ToListAsync();
            return await _client.Queryable<OaStaff>().In(list).Where(x => x.Status == "在职" && x.FirmId == _oAServices.firmId && x.BF_IsDriver).Select(x => new OaStaff
            {
                Name = x.Name,
                MemberId = x.MemberId,
                Keyid = x.Keyid,
            }).WithCache(1800).ToListAsync();
            ////      return await _client.Queryable<OA_DeliverPlan>()
            ////.LeftJoin<OaStaff>((dp, os) => dp.DriverId == os.Keyid)
            ////.Where((dp, os) => SqlFunc.ToDate(dp.DeliverTime) < DateTime.Now.AddDays(8).Date
            ////    && SqlFunc.ToDate(dp.DeliverTime) >= DateTime.Now.Date
            ////    && os.Status == "在职"
            ////    && os.FirmId == _oAServices.firmId
            ////    )
            ////.GroupBy((dp, os) => dp.DriverId)
            ////.Select((dp, os) => new OaStaff
            ////{
            ////    Name = SqlFunc.AggregateMax(os.Name),
            ////    MemberId = SqlFunc.AggregateMax(os.MemberId),
            ////    Keyid = SqlFunc.AggregateMax(os.Keyid),
            ////})
            ////.WithCache(1800)
            ////.ToListAsync();
             }
    }
}
cylsg/cylsg.Application/CyOS/CyOSStaffController.cs
@@ -7,6 +7,8 @@
using ECTESTOA;
using EzCoreNet.Redis;
using Furion.LinqBuilder;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Models;
using System;
using System.Collections.Generic;
using System.Linq;
@@ -22,6 +24,7 @@
    /// 川印普通员工控制器
    /// </summary>
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public class CyOSStaffController : IDynamicApiController
    {
        private readonly IOAServices _OAServices;
@@ -302,7 +305,7 @@
        }
        /// <summary>
        /// 获取详情
        /// 获取财务申请单详情
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
@@ -343,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>
        /// 判断是否具有权限
@@ -427,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; }
    }
}
cylsg/cylsg.Application/CyOS/CyOsDeliverManage.cs
New file
@@ -0,0 +1,523 @@
using cylsg.Model.ECTEModel;
using cylsg.Model.utilityViewModel;
using cylsg.utility.Extend;
using ECTESTOA;
using EzCoreNet.Redis;
using Furion.LinqBuilder;
using Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Linq.Expressions;
using System.Text;
using System.Threading.Tasks;
namespace cylsg.Application.CyOS
{
    /// <summary>
    /// 川印配送控制器
    /// </summary>
    [Authorize]
    [ApiDescriptionSettings("CYOA")]
    public class CyOsDeliverManage : IDynamicApiController
    {
        private readonly ISqlSugarClient _client;
        private readonly IOAServices _oAServices;
        private readonly IEzCoreNetRedisService _eZCoreNetRedisService;
        private ECTESTOAPermissions Permissions;
        public CyOsDeliverManage(ISqlSugarClient client, IOAServices oAServices, IEzCoreNetRedisService netRedisService)
        {
            _client = client.AsTenant().GetConnection("ECTESTOADB");
            _oAServices = oAServices;
            _eZCoreNetRedisService = netRedisService;
        }
        [HttpGet]
        [AllowAnonymous]
        public async Task<string> testc()
        {
            return await CreatDeliverPlanSn();
        }
        /// <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);
            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);
            }
            //报销状态
            if (Param.DeliverState != null)
            {
                SearchList = SearchList.And(x => x.Chulistatus == Param.DeliverState);
            }
            //强制增加员工过滤
            RefAsync<int> totle = 0;
            var data = await _client.Queryable<OA_DeliverTixing>().Includes(x => x.SentStaff)
                .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="KeiId"></param>
        /// <returns></returns>
        public async Task<OA_DeliverTixing> GetAppointmentDeliverInfo(int KeiId)
        {
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            var data = await _client.Queryable<OA_DeliverTixing>().Includes(x => x.SentStaff).Where(x => x.Keyid == KeiId && x.FirmId == _oAServices.firmId).FirstAsync();
            return data;
        }
        /// <summary>
        /// 受理
        /// </summary>
        /// <param name="Param"></param>
        /// <returns></returns>
        public async Task<int> AcceptAppointmentDeliver(int KeiId)
        {
            if (!(KeiId > 0))
                throw Oops.Oh("Keyid不能为空");
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            var data = await _client.Queryable<OA_DeliverTixing>().Where(x => x.Keyid == KeiId && x.FirmId == _oAServices.firmId).FirstAsync();
            if (data == null)
                throw Oops.Oh("没找到数据");
            if (data.Chulistatus != AppointmentDeliverState.unAccept)
                throw Oops.Oh("订单已处理");
            data.Chulistatus = AppointmentDeliverState.Accept;
            data.LastUpdateTime = DateTime.Now;
            data.Updater = Permissions.MemberId;
            return await _client.Updateable(data).ExecuteCommandAsync();
        }
        /// <summary>
        /// 创建配送单
        /// </summary>
        /// <param name="Param"> 只需要传递</param>
        /// <returns></returns>
        [HttpPost]
        public async Task<int> CreatDeliverPlan(OA_DeliverPlan Param)
        {
            OA_CarManage car = null;
            if (Param.DriverId != null)
                car = await _client.Queryable<OA_CarManage>().Where(x => x.StaffID == Param.DriverId && x.MemberID == _oAServices.firmId).FirstAsync();
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            OA_CorporateClients cor = null;
            if (Param.BuyerId != null)
                cor = await _client.Queryable<OA_CorporateClients>().Where(x => x.Keyid == Param.BuyerId).FirstAsync();
            OA_DeliverPlan DeliverPlan = new OA_DeliverPlan()
            {
                Keyid = Guid.NewGuid(),
                FirmId = _oAServices.firmId,
                BuyerId = Param.BuyerId ?? Guid.Empty,
                DeliverTime = Param.DeliverTime,
                CarId = car == null ? 0 : car.Keyid,
                Wentifankui = "",
                Xingzhengzhuize = "",
                Yichangchuli = "",
                Zhuyishixiang = "",
                Gongzuokaoping = "",
                Transferstatus = 1,
                Sort = 1,
                Creater = Param.Creater ?? Permissions.MemberId,
                CreateTime = DateTime.Now,
                DriverId = Param.DriverId,
                SellerOrderId = await CreatDeliverPlanSn(),
                Dianhua = Param.Dianhua,
                Dizhi = Param.Dizhi,
                Remark = Param.Remark,
                BusinessManagerId = cor == null ? 0 : cor.BusinessManagerId,
                Biddingcompany = cor == null ? 0 : (cor.Biddingcompany ?? 0),
                ShifouDelivery = 1,
                Lianxiren = Param.Lianxiren,
                Deliveredstatus = (int)DeliveredType.Undeliver,
                CompanyName = Param.CompanyName,
            }; return await _client.Insertable(DeliverPlan).ExecuteCommandAsync();
        }
        /// <summary>
        /// 获取送货单
        /// </summary>
        /// <param name="Param"></param>
        /// <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.DeliverTime > Param.TimeStart);
            }
            if (Param.TimeEnd != null)
            {
                SearchList = SearchList.And(x => x.DeliverTime < 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 _client.Queryable<OA_DeliverPlan>().Includes(x => x.Driver).Includes(x => x.SentStaff)
                .Where(SearchList).OrderBy(x => x.Dizhi).OrderBy(x => 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="Param"></param>
        /// <returns></returns>
        public async Task<bool> UpDataDeliverPlans(OA_DeliverPlan Param)
        {
            if (Param.Keyid == null)
                throw Oops.Oh("ID错误");
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            var data = await _client.Queryable<OA_DeliverPlan>().Where(x => x.ShifouDelivery != 2 && x.Keyid == Param.Keyid).FirstAsync();
            data.LastUpdateTime = DateTime.Now;
            data.Updater = Permissions.MemberId;
            if (data.DriverId != Param.DriverId)
            {
                data.DriverId = Param.DriverId;
                var car = await _client.Queryable<OA_CarManage>().Where(x => x.StaffID == Param.DriverId && x.MemberID == _oAServices.firmId).FirstAsync();
                data.CarId = car == null ? 0 : car.Keyid;
            }
            data.DeliverTime = Param.DeliverTime;
            data.Remark = Param.Remark;
            data.CompanyName = Param.CompanyName;
            data.Dizhi = Param.Dizhi;
            data.Lianxiren = Param.Lianxiren;
            data.Dianhua = Param.Dianhua;
            data.Sort = Param.Sort;
            if (Param.Attachments != null)
                foreach (var item in Param.Attachments)
                {
                    if (item.Keyid > 0)
                    {
                    }
                    else
                    {
                        item.OA_Id = data.Keyid;
                        item.CreateTime = DateTime.Now;
                        item.Operator = Permissions.Name;
                    }
                }
            data.Attachments = Param.Attachments;
            return await _client.UpdateNav(data).Include(x => x.Attachments, new UpdateNavOptions()
            {
                OneToManyInsertOrUpdate = true,
            }).ExecuteCommandAsync();
        }
        /// <summary>
        /// 修改订单
        /// </summary>
        /// <param name="Param"></param>
        /// <returns></returns>
        public async Task<bool> SortDeliverPlans(SortPlanIn Param)
        {
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            var Active = await _client.Queryable<OA_DeliverPlan>().Where(x => x.Keyid == Param.ActiveKeyId).FirstAsync();
            if (Active == null)
                throw Oops.Oh("当前无法排序");
            var ActiveList = await _client.Queryable<OA_DeliverPlan>().Where(x => x.CreateTime < Active.CreateTime.Value.AddDays(1).Date && x.CreateTime > Active.CreateTime.Value.Date).ToListAsync();
            return true;
        }
        /// <summary>
        /// 获取送货单详情
        /// </summary>
        /// <param name="KeyId"></param>
        /// <returns></returns>
        public async Task<OA_DeliverPlan> GetDeliverPlanInfo(Guid KeyId)
        {
            if (!await CheckRols())
            {
                throw Oops.Oh("没有权限");
            }
            return await _client.Queryable<OA_DeliverPlan>().Includes(x => x.SentStaff).Includes(x => x.Attachments).Includes(x => x.Driver).Includes(x => x.Manager)
                .Where(x => x.Keyid == KeyId && x.ShifouDelivery != 2).FirstAsync();
        }
        /// <summary>
        /// 判断是否具有权限
        /// </summary>
        /// <returns></returns>
        private async Task<bool> CheckRols()
        {
            var pr = await _oAServices.GetOAPermissions();
            Permissions = pr;
            if (pr != null && pr.MemberId != null)
            {
                if (pr.BF_IsDeliverManage == true)
                    return true;
                else
                    return false;
            }
            else
                return false;
        }
        /// <summary>
        /// 生成sn号
        /// </summary>
        /// <returns></returns>
        private async Task<string> CreatDeliverPlanSn()
        {
            // var sn = await _client.Queryable<OA_DeliverPlan>().Where(x => x.CreateTime >= DateTime.Now.Date && x.CreateTime < DateTime.Now.AddDays(1).Date).OrderByDescending(x => x.SellerOrderId).Select(x => x.SellerOrderId).FirstAsync();
            var sn = await _client.Queryable<OA_DeliverPlan>().Where(x => x.CreateTime.Value.Date == DateTime.Now.Date).OrderByDescending(x => x.SellerOrderId).Select(x => x.SellerOrderId).FirstAsync();
            if (sn != null)
            {
                try
                {
                    var datasn = sn.Length > 3
    ? sn.Substring(sn.Length - 3)
    : sn; ;
                    int data = datasn.toInt();
                    data += 1;
                    var str = DateTime.Now.ToString("yyyyMMdd");
                    return DateTime.Now.ToString("yyyyMMdd") + data.ToString("D3");
                }
                catch (Exception)
                {
                    return DateTime.Now.ToString("yyyyMMdd") + 1.ToString("D3");
                }
            }
            return DateTime.Now.ToString("yyyymmdd") + 1.ToString("D3");
        }
    }
    public class ApoointmentDeliverSearchParam
    {
        /// <summary>
        /// 起始时间
        /// </summary>
        public DateTime? TimeStart { get; set; }
        /// <summary>
        /// 结束时间
        /// </summary>
        public DateTime? TimeEnd { get; set; }
        /// <summary>
        /// 内容
        /// </summary>
        public string Content { get; set; }
        /// <summary>
        /// 员工ID
        /// </summary>
        public Guid? MemberId { get; set; }
        /// <summary>
        /// 受理状态
        /// </summary>
        public AppointmentDeliverState? DeliverState { get; set; }
        /// <summary>
        /// 页面参数
        /// </summary>
        public PageModel page { get; set; }
    }
    public class DeliverPlanSearchParam
    {
        /// <summary>
        /// 起始时间
        /// </summary>
        public DateTime? TimeStart { get; set; }
        /// <summary>
        /// 结束时间
        /// </summary>
        public DateTime? TimeEnd { get; set; }
        /// <summary>
        /// 司机KeyID
        /// </summary>
        public int? DeliverKeyID { get; set; }
        /// <summary>
        /// 客户名称
        /// </summary>
        public string CorporateClient { get; set; }
        /// <summary>
        /// 配送状态
        /// </summary>
        public DeliveredType? DeliveredState { get; set; }
        /// <summary>
        /// 页面参数
        /// </summary>
        public PageModel page { get; set; }
    }
    /// <summary>
    /// 拖动时最后变量
    /// </summary>
    public class SortPlanIn()
    {
        /// <summary>
        /// 拖动的KeyID
        /// </summary>
        public Guid ActiveKeyId { get; set; }
        /// <summary>
        /// 下一层的项的KeyID
        /// </summary>
        public Guid LowerKeyId { get; set; }
        /// <summary>
        /// 上一层的邻居的KeyId
        /// </summary>
        public Guid SuperiorKeyId { get; set; }
        /// <summary>
        /// 拖动方向
        /// </summary>
        public DirectionalType Directional { get; set; }
    }
    public enum DirectionalType
    {
        /// <summary>
        /// 向上拖动
        /// </summary>
        Up,
        /// <summary>
        /// 向下拖动
        /// </summary>
        Down,
    }
}
cylsg/cylsg.Application/applicationsettings.json
@@ -18,6 +18,22 @@
          "Name": "Apache-2.0"
        }
      },
      {
        "Group": "CYOA",
        "Title": "川印OA",
        "Description": "川印OA",
        "Version": "1.0.0",
        "Order": 10,
        "Contact": {
          "Name": "",
          "Email": "monksoul@outlook.com"
        },
        "License": {
          "Name": "Apache-2.0"
        }
      }
    ]
  },
cylsg/cylsg.Model/ECTEModel/EC_DriverRecord.cs
New file
@@ -0,0 +1,111 @@
using Models;
using SqlSugar;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace cylsg.Model.ECTEModel
{
    /// <summary>
    /// 川印司机打卡类
    /// </summary>
    public  class OA_DriverRecord
    {
        /// <summary>
        /// id   Key
        /// </summary>
        public Guid? Id { get; set; }
        /// <summary>
        /// 里程表 公里
        /// </summary>
        public int Mileage { get; set; } = 0;
        /// <summary>
        /// 车况
        /// </summary>
        public string? CarCondition { get; set; }
        /// <summary>
        /// 备注
        /// </summary>
        public string? Remark { get; set; }
        /// <summary>
        /// 未装货情况
        /// </summary>
        public string ? EmptyCause { get; set; }
        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatTime { get; set; }
        /// <summary>
        ///  创建人的memberId
        /// </summary>
        public  Guid?  CreaterID { get; set; }
        /// <summary>
        /// 车辆ID
        /// </summary>
        public  int CarID { get; set; }
        /// <summary>
        /// 创建人对象
        /// </summary>
        public OaStaff? Staff { get; set; }
        /// <summary>
        /// 车辆
        /// </summary>
        public OA_CarManage Car { get; set; }
        /// <summary>
        ///  创建人
        /// </summary>
        public string? Creater { get; set; }
        /// <summary>
        /// 附件列表  4
        /// </summary>
        [Navigate(NavigateType.OneToMany,  nameof(OA_attachment.OA_Id), nameof(Id), "AttachmentType=4")]
        public List<OA_attachment> Attachments { get; set; }
        /// <summary>
        /// 车辆检测照片列表  5
        /// </summary>
        [Navigate(NavigateType.OneToMany, nameof(OA_attachment.OA_Id), nameof(Id), "AttachmentType=5")]
        public List<OA_attachment> CarConditionAttachments { get; set; }
        /// <summary>
        /// 打卡类型
        /// </summary>
        public DriverClockType ClockType { get; set; } = DriverClockType.Unknown;
    }
    /// <summary>
    /// 打卡类型
    /// </summary>
    public enum DriverClockType
    {
        /// <summary>
        /// 未知类型
        /// </summary>
        Unknown,
        /// <summary>
        /// 上班打卡
        /// </summary>
        ClockIn,
        /// <summary>
        /// 下班打卡
        /// </summary>
        Clockout
    }
}
cylsg/cylsg.Model/ECTEModel/EC_OrderBasic.cs
New file
@@ -0,0 +1,242 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 订单主表
    ///</summary>
    [SugarTable("EC_OrderBasic")]
    public class EC_OrderBasic
    {
        /// <summary>
        /// 备  注:唯一编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true,IsIdentity = true) ]
        public int Keyid  { get; set;  }
        /// <summary>
        /// 备  注:卖家订单号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SellerOrderId" ) ]
        public string? SellerOrderId  { get; set;  }
        /// <summary>
        /// 备  注:询价、需求、特价、新增、外协
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OrderTypeId" ) ]
        public int OrderTypeId  { get; set;  }
        /// <summary>
        /// 备  注:印刷类别
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="PrintTypeId" ) ]
        public int PrintTypeId  { get; set;  }
        /// <summary>
        /// 备  注:卖家名称
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SellerName" ) ]
        public string? SellerName  { get; set;  }
        /// <summary>
        /// 备  注:买家名称
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BuyerName" ) ]
        public string? BuyerName  { get; set;  }
        /// <summary>
        /// 备  注:印件名称
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DocumentName" ) ]
        public string? DocumentName  { get; set;  }
        /// <summary>
        /// 备  注:交货时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DeliveryTime" ) ]
        public DateTime? DeliveryTime  { get; set;  }
        /// <summary>
        /// 备  注:关联卖家
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SellerId" ) ]
        public Guid SellerId  { get; set;  }
        /// <summary>
        /// 备  注:关联买家
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BuyerId" ) ]
        public Guid BuyerId  { get; set;  }
        /// <summary>
        /// 备  注:单价
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="UnitPrice" ) ]
        public decimal? UnitPrice  { get; set;  }
        /// <summary>
        /// 备  注:金额
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SumPrice" ) ]
        public decimal SumPrice  { get; set;  }
        /// <summary>
        /// 备  注:订单状态
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OrderState" ) ]
        public int OrderState  { get; set;  }
        /// <summary>
        /// 备  注:支付状态
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="PayState" ) ]
        public int PayState  { get; set;  }
        /// <summary>
        /// 备  注:制单时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CreateTime" ) ]
        public DateTime CreateTime  { get; set;  }
        /// <summary>
        /// 备  注:制单人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Creater" ) ]
        public string Creater  { get; set;  } = null!;
        /// <summary>
        /// 备  注:最后修改时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime LastUpdateTime  { get; set;  }
        /// <summary>
        /// 备  注:操作人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Operator" ) ]
        public string Operator  { get; set;  } = null!;
        /// <summary>
        /// 备  注:备注
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="TheoryCompleteDate" ) ]
        public DateTime? TheoryCompleteDate  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CompledState" ) ]
        public bool? CompledState  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CompledTime" ) ]
        public DateTime? CompledTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CompledOperator" ) ]
        public string? CompledOperator  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CompledRemarks" ) ]
        public string? CompledRemarks  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="IsDeferPay" ) ]
        public bool? IsDeferPay  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="IsPrint" ) ]
        public bool? IsPrint  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OutId" ) ]
        public int? OutId  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="IsPrintbiaoqian" ) ]
        public bool? IsPrintbiaoqian  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SuodanState" ) ]
        public bool? SuodanState  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SuodanTime" ) ]
        public DateTime? SuodanTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SuodanOperator" ) ]
        public string? SuodanOperator  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LiuyangStatus" ) ]
        public int? LiuyangStatus  { get; set;  }
    }
}
cylsg/cylsg.Model/ECTEModel/EC_OrderExtend.cs
New file
@@ -0,0 +1,305 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 订单扩展表
    ///</summary>
    [SugarTable("EC_OrderExtend")]
    public class EC_OrderExtend
    {
        /// <summary>
        /// 备  注:订单唯一编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true) ]
        public int Keyid  { get; set;  }
        /// <summary>
        /// 备  注:文件编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="FileId" ) ]
        public int? FileId  { get; set;  }
        /// <summary>
        /// 备  注:校稿方式编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ProofreadWayId" ) ]
        public int? ProofreadWayId  { get; set;  }
        /// <summary>
        /// 备  注:校稿状态
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ProofreadState" ) ]
        public int? ProofreadState  { get; set;  }
        /// <summary>
        /// 备  注:校稿文件
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ProofreadFileId" ) ]
        public int? ProofreadFileId  { get; set;  }
        /// <summary>
        /// 备  注:印刷数量
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="PrintNum" ) ]
        public int? PrintNum  { get; set;  }
        /// <summary>
        /// 备  注:紧急程度编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ExigencyCaseId" ) ]
        public int ExigencyCaseId  { get; set;  }
        /// <summary>
        /// 备  注:业务经理编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BusinessManagerId" ) ]
        public int? BusinessManagerId  { get; set;  }
        /// <summary>
        /// 备  注:客户经理编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CustomerManagerId" ) ]
        public int? CustomerManagerId  { get; set;  }
        /// <summary>
        /// 备  注:客户级别
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CustomerLevelId" ) ]
        public int? CustomerLevelId  { get; set;  }
        /// <summary>
        /// 备  注:联系人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Contacts" ) ]
        public string? Contacts  { get; set;  }
        /// <summary>
        /// 备  注:联系电话
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ContactPhone" ) ]
        public string? ContactPhone  { get; set;  }
        /// <summary>
        /// 备  注:不含税价、普通发票、增值税票
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="InvoiceId" ) ]
        public int? InvoiceId  { get; set;  }
        /// <summary>
        /// 备  注:剩余印刷数量
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SurplusPrintNum" ) ]
        public int? SurplusPrintNum  { get; set;  }
        /// <summary>
        /// 备  注:最后修改时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime? LastUpdateTime  { get; set;  }
        /// <summary>
        /// 备  注:操作人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Operate" ) ]
        public string Operate  { get; set;  } = null!;
        /// <summary>
        /// 备  注:备注
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string Remark  { get; set;  } = null!;
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BookNum" ) ]
        public string? BookNum  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BookPrice" ) ]
        public string? BookPrice  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="NumPerBag" ) ]
        public string? NumPerBag  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BagNum" ) ]
        public string? BagNum  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DelayTime" ) ]
        public DateTime? DelayTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Productionprogress" ) ]
        public string? Productionprogress  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="PrintPackDeliveryRequir" ) ]
        public string? PrintPackDeliveryRequir  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Kaipiaoshenqing" ) ]
        public int? Kaipiaoshenqing  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="KaipiaoshenqingTime" ) ]
        public DateTime? KaipiaoshenqingTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="KaipiaoshenqingCreater" ) ]
        public Guid? KaipiaoshenqingCreater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Quchudingdan" ) ]
        public int? Quchudingdan  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="QuchudingdanTime" ) ]
        public DateTime? QuchudingdanTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="QuchudingdanCreater" ) ]
        public Guid? QuchudingdanCreater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Kehuqianshou" ) ]
        public int? Kehuqianshou  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="KehuqianshouTime" ) ]
        public DateTime? KehuqianshouTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="KehuqianshouCreater" ) ]
        public Guid? KehuqianshouCreater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="KaipiaoquerenTime" ) ]
        public DateTime? KaipiaoquerenTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="KaipiaoquerenCreater" ) ]
        public Guid? KaipiaoquerenCreater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="shifouDelivery" ) ]
        public int? ShifouDelivery  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DeliveryOrderId" ) ]
        public Guid? DeliveryOrderId  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="KaipiaoshenqingId" ) ]
        public Guid? KaipiaoshenqingId  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="printunit" ) ]
        public int? Printunit  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="IsPrintfengqian" ) ]
        public bool? IsPrintfengqian  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Duiyinghetongbianhao" ) ]
        public string? Duiyinghetongbianhao  { get; set;  }
    }
}
cylsg/cylsg.Model/ECTEModel/EC_OrderLiuyang.cs
New file
@@ -0,0 +1,81 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    ///
    ///</summary>
    [SugarTable("EC_OrderLiuyang")]
    public class EC_OrderLiuyang
    {
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true) ]
        public Guid Keyid  { get; set;  }
        /// <summary>
        /// 备  注:订单id
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="orderid" ) ]
        public int Orderid  { get; set;  }
        /// <summary>
        /// 备  注:文件名
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="FileName" ) ]
        public string? FileName  { get; set;  }
        /// <summary>
        /// 备  注:文件路径
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="FilePath" ) ]
        public string? FilePath  { get; set;  }
        /// <summary>
        /// 备  注:备注
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Creater" ) ]
        public Guid? Creater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CreateTime" ) ]
        public DateTime? CreateTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Updater" ) ]
        public Guid? Updater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime? LastUpdateTime  { get; set;  }
    }
}
cylsg/cylsg.Model/ECTEModel/EC_OrderOperate.cs
New file
@@ -0,0 +1,60 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 完工、送货、校稿、打印、下载、受理、生产
    ///</summary>
    [SugarTable("EC_OrderOperate")]
    public class EC_OrderOperate
    {
        /// <summary>
        /// 备  注:操作编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true,IsIdentity = true) ]
        public int Keyid  { get; set;  }
        /// <summary>
        /// 备  注:操作订单
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OrderId" ) ]
        public int OrderId  { get; set;  }
        /// <summary>
        /// 备  注:操作类型
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OperateType" ) ]
        public int OperateType  { get; set;  }
        /// <summary>
        /// 备  注:最后修改时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime LastUpdateTime  { get; set;  }
        /// <summary>
        /// 备  注:操作人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Operator" ) ]
        public string? Operator  { get; set;  }
        /// <summary>
        /// 备  注:备注
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
    }
}
cylsg/cylsg.Model/ECTEModel/EC_OrderPrintParameter.cs
New file
@@ -0,0 +1,32 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 订单印刷参数表
    ///</summary>
    [SugarTable("EC_OrderPrintParameter")]
    public class EC_OrderPrintParameter
    {
        /// <summary>
        /// 备  注:订单唯一编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OrderId" ) ]
        public int OrderId  { get; set;  }
        /// <summary>
        /// 备  注:印刷参数
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="PrintParameter" ) ]
        public string PrintParameter  { get; set;  } = null!;
    }
}
cylsg/cylsg.Model/ECTEModel/OA_CarManage.cs
New file
@@ -0,0 +1,130 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 车辆管理
    ///</summary>
    [SugarTable("OA_CarManage")]
    public class OA_CarManage
    {
        /// <summary>
        /// 备  注:主键--标识ID
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true,IsIdentity = true) ]
        public int Keyid  { get; set;  }
        /// <summary>
        /// 备  注:会员ID
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="MemberID" ) ]
        public Guid? MemberID  { get; set;  }
        /// <summary>
        /// 备  注:车牌号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CarNumber" ) ]
        public string? CarNumber  { get; set;  }
        /// <summary>
        /// 备  注:车辆类型
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CarType" ) ]
        public string? CarType  { get; set;  }
        /// <summary>
        /// 备  注:起始里程
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="StartMileage" ) ]
        public int? StartMileage  { get; set;  }
        /// <summary>
        /// 备  注:当前里程
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="NowMileage" ) ]
        public int? NowMileage  { get; set;  }
        /// <summary>
        /// 备  注:车辆状况
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CarCondition" ) ]
        public int? CarCondition  { get; set;  }
        /// <summary>
        /// 备  注:操作时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime? LastUpdateTime  { get; set;  }
        /// <summary>
        /// 备  注:更新人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Operator" ) ]
        public string? Operator  { get; set;  }
        /// <summary>
        /// 备  注:排序
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OrderNum" ) ]
        public int? OrderNum  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="StaffID" ) ]
        public int? StaffID  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="InsuranceCompany" ) ]
        public string? InsuranceCompany  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="InsuranceEndTime" ) ]
        public DateTime? InsuranceEndTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="MaintenanceNextTime" ) ]
        public DateTime? MaintenanceNextTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ExaminedNextTime" ) ]
        public DateTime? ExaminedNextTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="InsuranceContent" ) ]
        public string? InsuranceContent  { get; set;  }
    }
}
cylsg/cylsg.Model/ECTEModel/OA_CorporateClients.cs
New file
@@ -0,0 +1,361 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 办公系统合作客户
    ///</summary>
    [SugarTable("OA_CorporateClients")]
    public class OA_CorporateClients
    {
        /// <summary>
        /// 备  注:数据编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true) ]
        public Guid Keyid  { get; set;  }
        /// <summary>
        /// 备  注:关联厂商
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="FirmId" ) ]
        public Guid FirmId  { get; set;  }
        /// <summary>
        /// 备  注:客户编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CustomerId" ) ]
        public int? CustomerId  { get; set;  }
        /// <summary>
        /// 备  注:公司全称
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CompanyName" ) ]
        public string? CompanyName  { get; set;  }
        /// <summary>
        /// 备  注:客户行业编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CustomerIndustriesId" ) ]
        public int? CustomerIndustriesId  { get; set;  }
        /// <summary>
        /// 备  注:客户类型编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CustomerTypeId" ) ]
        public int? CustomerTypeId  { get; set;  }
        /// <summary>
        /// 备  注:信息来源编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SourcesInfoId" ) ]
        public int? SourcesInfoId  { get; set;  }
        /// <summary>
        /// 备  注:重要程度编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DegreeImportanId" ) ]
        public int? DegreeImportanId  { get; set;  }
        /// <summary>
        /// 备  注:客户经理编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="AccountManagerId" ) ]
        public int? AccountManagerId  { get; set;  }
        /// <summary>
        /// 备  注:业务经理编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BusinessManagerId" ) ]
        public int? BusinessManagerId  { get; set;  }
        /// <summary>
        /// 备  注:建立时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CreateTime" ) ]
        public DateTime? CreateTime  { get; set;  }
        /// <summary>
        /// 备  注:信誉编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CreditId" ) ]
        public int? CreditId  { get; set;  }
        /// <summary>
        /// 备  注:登录手机
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LoginPhone" ) ]
        public string? LoginPhone  { get; set;  }
        /// <summary>
        /// 备  注:企业网站
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CorporateWebsite" ) ]
        public string? CorporateWebsite  { get; set;  }
        /// <summary>
        /// 备  注:业务分析量编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BusinessAnalysisId" ) ]
        public int? BusinessAnalysisId  { get; set;  }
        /// <summary>
        /// 备  注:授信额度
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Credit" ) ]
        public decimal? Credit  { get; set;  }
        /// <summary>
        /// 备  注:允许登录企业网站
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="IsLoginCorporateWeb" ) ]
        public bool? IsLoginCorporateWeb  { get; set;  }
        /// <summary>
        /// 备  注:开户行
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Bank" ) ]
        public string? Bank  { get; set;  }
        /// <summary>
        /// 备  注:税号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="TaxID" ) ]
        public string? TaxID  { get; set;  }
        /// <summary>
        /// 备  注:账号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="AccountID" ) ]
        public string? AccountID  { get; set;  }
        /// <summary>
        /// 备  注:下单数量
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OrderCount" ) ]
        public int? OrderCount  { get; set;  }
        /// <summary>
        /// 备  注:下单产值
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OrderMoney" ) ]
        public decimal? OrderMoney  { get; set;  }
        /// <summary>
        /// 备  注:最后下单时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastOrderTime" ) ]
        public DateTime? LastOrderTime  { get; set;  }
        /// <summary>
        /// 备  注:预付款
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Prepayments" ) ]
        public decimal? Prepayments  { get; set;  }
        /// <summary>
        /// 备  注:是否外协
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="IsOutsourcing" ) ]
        public bool? IsOutsourcing  { get; set;  }
        /// <summary>
        /// 备  注:外协厂商名称
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OutVendorName" ) ]
        public string? OutVendorName  { get; set;  }
        /// <summary>
        /// 备  注:优先级
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="IsPriority" ) ]
        public bool? IsPriority  { get; set;  }
        /// <summary>
        /// 备  注:累计预付款
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CumulativePrepayments" ) ]
        public decimal? CumulativePrepayments  { get; set;  }
        /// <summary>
        /// 备  注:最后修改时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime? LastUpdateTime  { get; set;  }
        /// <summary>
        /// 备  注:操作人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Operator" ) ]
        public string? Operator  { get; set;  }
        /// <summary>
        /// 备  注:备注
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
        /// <summary>
        /// 备  注:询价编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="InquiryId" ) ]
        public Guid? InquiryId  { get; set;  }
        /// <summary>
        /// 备  注:客户会员编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="MemberId" ) ]
        public Guid? MemberId  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LoginPwd" ) ]
        public string? LoginPwd  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OutRate" ) ]
        public double? OutRate  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Paytime" ) ]
        public int? Paytime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Paydays" ) ]
        public int? Paydays  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Biddingcompany" ) ]
        public int? Biddingcompany  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Contracttype" ) ]
        public int? Contracttype  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Contractmoney" ) ]
        public decimal? Contractmoney  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ExpireTime" ) ]
        public DateTime? ExpireTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Jigoudaima" ) ]
        public string? Jigoudaima  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Piaoju" ) ]
        public int? Piaoju  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Expiretype" ) ]
        public int? Expiretype  { get; set;  }
        /// <summary>
        /// 备  注: 是否完结
        /// 默认值: 1完结  2未完结    只要不是1 都是有效
        ///</summary>
        [SugarColumn(ColumnName="Shifouwanjie" ) ]
        public int? Shifouwanjie  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Note" ) ]
        public string? Note  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Kaipiaoziliao" ) ]
        public string? Kaipiaoziliao  { get; set;  }
        /// <summary>
        /// 备  注:需要例行维护
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="NeedWiHu" ) ]
        public bool? NeedWiHu  { get; set;  }
        /// <summary>
        /// 备  注:需要节假日维护
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="JieJiaRiWiHu" ) ]
        public bool? JieJiaRiWiHu  { get; set;  }
    }
}
cylsg/cylsg.Model/ECTEModel/OA_CustomerCommunications.cs
New file
@@ -0,0 +1,179 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 办公系统合作客户通讯表
    ///</summary>
    [SugarTable("OA_CustomerCommunications")]
    public class OA_CustomerCommunications
    {
        /// <summary>
        /// 备  注:合作客户唯一编号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true) ]
        public Guid Keyid  { get; set;  }
        /// <summary>
        /// 备  注:省
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Province" ) ]
        public string Province  { get; set;  } = null!;
        /// <summary>
        /// 备  注:市
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="City" ) ]
        public string City  { get; set;  } = null!;
        /// <summary>
        /// 备  注:区
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="County" ) ]
        public string County  { get; set;  } = null!;
        /// <summary>
        /// 备  注:详细地址
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DetailedAddress" ) ]
        public string DetailedAddress  { get; set;  } = null!;
        /// <summary>
        /// 备  注:邮编
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Postcode" ) ]
        public string? Postcode  { get; set;  }
        /// <summary>
        /// 备  注:电话
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CompanyPhone" ) ]
        public string? CompanyPhone  { get; set;  }
        /// <summary>
        /// 备  注:短信
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Mobile" ) ]
        public string? Mobile  { get; set;  }
        /// <summary>
        /// 备  注:email
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Email" ) ]
        public string? Email  { get; set;  }
        /// <summary>
        /// 备  注:QQ
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="QQ" ) ]
        public string? QQ  { get; set;  }
        /// <summary>
        /// 备  注:传真
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Fax" ) ]
        public string? Fax  { get; set;  }
        /// <summary>
        /// 备  注:法人代表
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LegalRepresentative" ) ]
        public string? LegalRepresentative  { get; set;  }
        /// <summary>
        /// 备  注:代表手机
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LegalMobile" ) ]
        public string? LegalMobile  { get; set;  }
        /// <summary>
        /// 备  注:代表QQ
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LegalQQ" ) ]
        public string? LegalQQ  { get; set;  }
        /// <summary>
        /// 备  注:业务经办人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BusinessManagers" ) ]
        public string? BusinessManagers  { get; set;  }
        /// <summary>
        /// 备  注:经办人手机
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ManagersMobile" ) ]
        public string? ManagersMobile  { get; set;  }
        /// <summary>
        /// 备  注:经办人QQ
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ManagersQQ" ) ]
        public string? ManagersQQ  { get; set;  }
        /// <summary>
        /// 备  注:财务负责人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="FinancialOfficers" ) ]
        public string? FinancialOfficers  { get; set;  }
        /// <summary>
        /// 备  注:负责人手机
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OfficersMobile" ) ]
        public string? OfficersMobile  { get; set;  }
        /// <summary>
        /// 备  注:负责人QQ
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OfficersQQ" ) ]
        public string? OfficersQQ  { get; set;  }
        /// <summary>
        /// 备  注:最后修改时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime LastUpdateTime  { get; set;  }
        /// <summary>
        /// 备  注:操作人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Operator" ) ]
        public string Operator  { get; set;  } = null!;
        /// <summary>
        /// 备  注:备注
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
    }
}
cylsg/cylsg.Model/ECTEModel/OA_DeliverPlan.cs
New file
@@ -0,0 +1,266 @@
using System;
using System.Collections.Generic;
using System.Linq;
using cylsg.Model.ECTEModel;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 司机配送单表
    ///</summary>
    [SugarTable("OA_DeliverPlan")]
    public class OA_DeliverPlan
    {
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true) ]
        public Guid? Keyid  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="FirmId" ) ]
        public Guid? FirmId  { get; set;  }
        /// <summary>
        /// 备  注:客户id
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BuyerId" ) ]
        public Guid? BuyerId  { get; set;  }
        /// <summary>
        /// 备  注:实际到达时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DeliveredTime" ) ]
        public DateTime? DeliveredTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DeliverTime" ) ]
        public DateTime? DeliverTime  { get; set;  }
        /// <summary>
        /// 备  注:注意事项
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Zhuyishixiang" ) ]
        public string? Zhuyishixiang  { get; set;  }
        /// <summary>
        /// 备  注:工作考评
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Gongzuokaoping" ) ]
        public string? Gongzuokaoping  { get; set;  }
        /// <summary>
        /// 备  注:汽车id
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CarId" ) ]
        public int? CarId  { get; set;  }
        /// <summary>
        /// 备  注:司机id
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="DriverId" ) ]
        public int? DriverId  { get; set;  }
        /// <summary>
        /// 司机
        /// </summary>
        [Navigate(NavigateType.OneToOne, nameof(DriverId), nameof(OaStaff.Keyid))]
        public OaStaff? Driver { get; set; }
        /// <summary>
        /// 备  注:移交状态 运输状态 2移交 1 未移交
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Transferstatus" ) ]
        public int? Transferstatus  { get; set;  }
        /// <summary>
        /// 备  注:移交时间
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="TransfersTime" ) ]
        public DateTime? TransfersTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Sort" ) ]
        public int? Sort  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Creater" ) ]
        public Guid? Creater  { get; set;  }
        /// <summary>
        /// 员工
        /// </summary>
        [Navigate(NavigateType.OneToOne, nameof(Creater), nameof(OaStaff.MemberId))]
        public OaStaff? SentStaff { get; set; }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CreateTime" ) ]
        public DateTime? CreateTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Updater" ) ]
        public Guid? Updater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime? LastUpdateTime  { get; set;  }
        /// <summary>
        /// 备  注:意见反馈
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="wentifankui" ) ]
        public string? Wentifankui  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Yichangchuli" ) ]
        public string? Yichangchuli  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Xingzhengzhuize" ) ]
        public string? Xingzhengzhuize  { get; set;  }
        /// <summary>
        /// 备  注:送货单号
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="SellerOrderId" ) ]
        public string? SellerOrderId  { get; set;  }
        /// <summary>
        /// 备  注:电话
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Dianhua" ) ]
        public string? Dianhua  { get; set;  }
        /// <summary>
        /// 备  注:地址
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Dizhi" ) ]
        public string? Dizhi  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="BusinessManagerId" ) ]
        public int? BusinessManagerId  { get; set;  }
        /// <summary>
        /// 客户经理
        /// </summary>
        [Navigate(NavigateType.OneToOne, nameof(BusinessManagerId), nameof(OaStaff.Keyid))]
        public OaStaff? Manager { get; set; }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Biddingcompany" ) ]
        public int? Biddingcompany  { get; set;  }
        /// <summary>
        /// 备  注:  2忽略
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="shifouDelivery" ) ]
        public int? ShifouDelivery  { get; set;  }
        /// <summary>
        /// 备  注:联系人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Lianxiren" ) ]
        public string? Lianxiren  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值: 新增的,不关联公司
        ///</summary>
        [SugarColumn(ColumnName="CompanyName" ) ]
        public string? CompanyName  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值: 新增的,不关联公司
        ///</summary>
        public DeliveredType? Deliveredstatus { get; set; } = DeliveredType.Undeliver;
        /// <summary>
        /// 附件列表  3
        /// </summary>
        [Navigate(NavigateType.OneToMany,  nameof(OA_attachment.OA_Id), nameof(Keyid), "AttachmentType=3")]
        public  List<OA_attachment> Attachments { get; set; }
    }
    /// <summary>
    /// 送达状态
    /// </summary>
    public enum DeliveredType
    {
        /// <summary>
        /// 未配送
        /// </summary>
        Undeliver = 0,
        /// <summary>
        /// 送货中
        /// </summary>
        Deliver =1,
        /// <summary>
        /// 送达
        /// </summary>
        Delivered =2,
        /// <summary>
        ///  拒收
        /// </summary>
        Reject = 3
    }
}
cylsg/cylsg.Model/ECTEModel/OA_DeliverTixing.cs
New file
@@ -0,0 +1,109 @@
using System;
using System.Collections.Generic;
using System.Linq;
using cylsg.Model.ECTEModel;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 预约提醒
    ///</summary>
    [SugarTable("OA_DeliverTixing")]
    public class OA_DeliverTixing
    {
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true,IsIdentity = true) ]
        public int? Keyid  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="FirmId" ) ]
        public Guid? FirmId  { get; set;  }
        /// <summary>
        /// 员工
        /// </summary>
        [Navigate(NavigateType.OneToOne, nameof(FirmId), nameof(OaStaff.MemberId))]
        public OaStaff? SentStaff { get; set; }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Remark" ) ]
        public string? Remark  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Chulistatus" ) ]
        public AppointmentDeliverState? Chulistatus  { get; set;  } = AppointmentDeliverState.unAccept;
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ChuliRen" ) ]
        public Guid? ChuliRen  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="ChuliTime" ) ]
        public DateTime? ChuliTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Creater" ) ]
        public Guid? Creater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CreateTime" ) ]
        public DateTime? CreateTime  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Updater" ) ]
        public Guid? Updater  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="LastUpdateTime" ) ]
        public DateTime? LastUpdateTime  { get; set;  }
    }
    /// <summary>
    /// 预约消息状态
    /// </summary>
    public enum AppointmentDeliverState
    {
        /// <summary>
        /// 未受理
        /// </summary>
        unAccept,
        /// <summary>
        /// 受理
        /// </summary>
        Accept=2
    }
}
cylsg/cylsg.Model/ECTEModel/OA_attachment.cs
New file
@@ -0,0 +1,74 @@
using System;
using System.Collections.Generic;
using System.Linq;
using SqlSugar;
namespace Models
{
    /// <summary>
    /// 通用附件
    ///</summary>
    [SugarTable("OA_attachment")]
    public class OA_attachment
    {
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Keyid" ,IsPrimaryKey = true,IsIdentity = true) ]
        public int Keyid  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="OA_Id" ) ]
        public Guid? OA_Id  { get; set;  }
        /// <summary>
        /// 备  注: 完整路径
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="PlanAttachment" ) ]
        public string? PlanAttachment  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:  3
        ///</summary>
        [SugarColumn(ColumnName="AttachmentType" ) ]
        public int? AttachmentType  { get; set;  }
        /// <summary>
        /// 备  注: 文件名
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="AttachmentName" ) ]
        public string? AttachmentName  { get; set;  }
        /// <summary>
        /// 备  注:后缀名
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="AttachmentHouzhui" ) ]
        public string? AttachmentHouzhui  { get; set;  }
        /// <summary>
        /// 备  注:
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="CreateTime" ) ]
        public DateTime CreateTime  { get; set;  }
        /// <summary>
        /// 备  注:操作人
        /// 默认值:
        ///</summary>
        [SugarColumn(ColumnName="Operator" ) ]
        public string Operator  { get; set;  } = null!;
    }
}
cylsg/cylsg.Model/ECTEModel/OaWorkPlanAttachment.cs
@@ -34,7 +34,7 @@
            public string? PlanAttachment { get; set; }
        /// <summary>
        /// 附件类型   1是发票 2 是附件
        /// 附件类型   1是发票 2 是附件 3是送货来源
        /// </summary>
        [SugarColumn(ColumnName = "AttachmentType")]
            public int? AttachmentType { get; set; }