| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933 | 
							- using Aspose.Cells;
 
- using NPOI.POIFS.Crypt;
 
- using OASystem.Domain.AesEncryption;
 
- using OASystem.Domain.Entities.Customer;
 
- using OASystem.Domain.Entities.Financial;
 
- using OASystem.Domain.Entities.Groups;
 
- using System.Collections;
 
- using System.Data;
 
- using System.Dynamic;
 
- using System.Linq;
 
- using static OASystem.API.OAMethodLib.GeneralMethod;
 
- using static OASystem.API.OAMethodLib.JWTHelper;
 
- namespace OASystem.API.Controllers
 
- {
 
-     /// <summary>
 
-     /// 系统设置
 
-     /// </summary>
 
-     //[Authorize]
 
-     [Route("api/[controller]/[action]")]
 
-     public class SystemController : ControllerBase
 
-     {
 
-         private readonly CompanyRepository _syscomRep;
 
-         private readonly DepartmentRepository _sysDepRep;
 
-         private readonly UsersRepository _userRep;
 
-         private readonly IMapper _mapper;
 
-         private readonly IConfiguration _config;
 
-         private readonly SqlSugarClient _sqlSugar;
 
-         private readonly MessageRepository _messageRep;
 
-         private readonly SetDataRepository _setDataRepository;
 
-         private readonly SystemMenuPermissionRepository _SystemMenuPermissionRepository;
 
-         private readonly CompanyRepository _CompanyRepository;
 
-         private readonly PageFunctionPermissionRepository _PageFunctionPermissionRepository;
 
-         private readonly SystemMenuAndFunctionRepository _SystemMenuAndFunctionRepository;
 
-         private readonly JobPostAuthorityRepository _JobPostAuthorityRepository;
 
-         private readonly JobPostRepository _jobRep;
 
-         private readonly SetDataTypeRepository _setDataTypeRep;
 
-         private readonly UserAuthorityRepository _UserAuthorityRepository;
 
-         private readonly List<int> _operationTypeList = new() { 1, 2, 3, 4, 5 }; //操作通知所属类型
 
-         private readonly List<int> _taskTypeList = new() { 6 };//任务通知 TaskNotification
 
-         private readonly ApprovalProcessRepository _approvalProcessRep;
 
-         public SystemController(
 
-             CompanyRepository syscom,
 
-             DepartmentRepository sysDepRep,
 
-             UsersRepository userRep,
 
-             IMapper mapper, IConfiguration config,
 
-             SqlSugarClient sqlSugar,
 
-             SetDataRepository setDataRepository,
 
-             CompanyRepository companyRepository,
 
-             SystemMenuPermissionRepository systemMenuPermissionRepository,
 
-             PageFunctionPermissionRepository pageFunctionPermissionRepository,
 
-             SystemMenuAndFunctionRepository systemMenuAndFunctionRepository,
 
-             JobPostAuthorityRepository jobPostAuthorityRepository,
 
-             JobPostRepository jobRep,
 
-             UserAuthorityRepository userAuthorityRepository,
 
-             MessageRepository messageRep,
 
-             SetDataTypeRepository setDataTypeRep,
 
-             ApprovalProcessRepository approvalProcessRep
 
-             )
 
-         {
 
-             _syscomRep = syscom;
 
-             _sysDepRep = sysDepRep;
 
-             _messageRep = messageRep;
 
-             _userRep = userRep;
 
-             _mapper = mapper;
 
-             _sqlSugar = sqlSugar;
 
-             _setDataRepository = setDataRepository;
 
-             _CompanyRepository = companyRepository;
 
-             _SystemMenuPermissionRepository = systemMenuPermissionRepository;
 
-             _PageFunctionPermissionRepository = pageFunctionPermissionRepository;
 
-             _SystemMenuAndFunctionRepository = systemMenuAndFunctionRepository;
 
-             _JobPostAuthorityRepository = jobPostAuthorityRepository;
 
-             _UserAuthorityRepository = userAuthorityRepository;
 
-             _jobRep = jobRep;
 
-             _setDataTypeRep = setDataTypeRep;
 
-             _config = config;
 
-             _approvalProcessRep = approvalProcessRep;
 
-         }
 
-         #region 消息
 
-         /// <summary>
 
-         /// 获取消息列表-整合版
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PsotMsgPageList(MsgDto dto)
 
-         {
 
-             var msgData = await _messageRep.GetMsgList(dto);
 
-             return msgData.Code != 0 ? Ok(JsonView(false, msgData.Msg)) : Ok(JsonView(msgData.Data));
 
-         }
 
-         #region 消息列表 - 分开
 
-         /// <summary>
 
-         /// 系统消息
 
-         /// 消息类型  2024-03-06 14:37
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PotsMsgTypeData(MsgTypeDto dto)
 
-         {
 
-             if (dto.PortType < 1 || dto.PortType > 3) 
 
-                 return Ok(JsonView(false, MsgTips.Port));
 
-             if (dto.UserId < 1) 
 
-                 return Ok(JsonView(false, "请输入有效的UserId参数。"));
 
-             var msgData = await _messageRep.PotsMsgTypeData(dto);
 
-             return msgData.Code != 0 ? Ok(JsonView(400, msgData.Msg, new string[] { })) : Ok(JsonView(true, msgData.Msg, msgData.Data));
 
-         }
 
-         /// <summary>
 
-         /// 系统消息
 
-         /// 消息List  2024-03-06 14:54
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PotsMessagePageList(PotsMessagePageListDto dto)
 
-         {
 
-             #region 参数验证
 
-             if (dto.PortType < 1 || dto.PortType > 3)
 
-                 return Ok(JsonView(false, MsgTips.Port));
 
-             var typeData = await _sqlSugar.Queryable<Sys_SetData>().Where(it => it.STid == 77).Select(it => it.Id).ToListAsync();
 
-             if (typeData.Count < 0) 
 
-                 return Ok(JsonView(false, "消息类型不存在"));
 
-             if (!typeData.Contains(dto.Type)) 
 
-                 return Ok(JsonView(false, "请输入有效的Type参数。1021 团组操作通知 1020 任务操作通知 "));
 
-             if (dto.UserId < 1) 
 
-                 return Ok(JsonView(false, "请输入有效的UserId参数。"));
 
-             if (dto.ReadStatus < 1 || dto.ReadStatus > 3) 
 
-                 return Ok(JsonView(false, "请输入有效的ReadStatus参数。1 全部(包含已读/未读) 2 未读 3 已读"));
 
-             #endregion
 
-             //userId
 
-             string msgSqlWhere = $" And smra.ReadableUId = {dto.UserId}";
 
-             //消息类型
 
-             string typeStr = "";
 
-             List<NotificationTypeView> messageTypeViews = AppSettingsHelper.Get<NotificationTypeView>("MessageNotificationType");
 
-             if (dto.Type == 1020) //任务操作通知 
 
-             {
 
-                 typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 1020).FirstOrDefault().MsgTypeIds.ToList());
 
-             }
 
-             else if (dto.Type == 1021)//团组操作通知
 
-             {
 
-                 typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 1021).FirstOrDefault().MsgTypeIds.ToList());
 
-             }
 
-             else if (dto.Type == 1022)//公告通知
 
-             {
 
-                 typeStr = String.Join(",", messageTypeViews.Where(it => it.TypeId == 1022).FirstOrDefault().MsgTypeIds.ToList());
 
-             }
 
-             if (!string.IsNullOrEmpty(typeStr))
 
-             {
 
-                 msgSqlWhere += $" And sm.Type In ({typeStr})";
 
-             }
 
-             //是否已读处理 1 全部(包含已读/未读) 2 未读 3 已读
 
-             msgSqlWhere += dto.ReadStatus switch
 
-             {
 
-                 2 => " And smra.IsRead = 0",
 
-                 3 => " And smra.IsRead = 1",
 
-                 _ => ""
 
-             };
 
-             string msgSql = string.Format(@"Select * From(
 
-                                                 Select row_number() over(order by sm.ReleaseTime Desc) as RowNumber,
 
-                                                     sm.Id,sm.Type,sm.Title,sm.Content,sd.DepName issuerDep,su.CnName issuerUser, 
 
-                                                     sm.ReleaseTime,smra.ReadableUId,smra.IsRead,sm.DiId,sm.Param
 
-                                                 From Sys_Message sm 
 
-                                                 Inner Join Sys_MessageReadAuth smra On sm.Id = smra.MsgId
 
-                                                 Inner Join Sys_Users su On sm.IssuerId = su.Id
 
-                                                 Inner Join Sys_Department sd On su.DepId = sd.Id
 
-                                                 Inner Join Sys_Users suAuth On smra.ReadableUId = suAuth.Id
 
-                                                 Where sm.IsDel = 0
 
-                                                 And smra.IsDel = 0 {0}
 
-                                             ) Temp", msgSqlWhere);
 
-             try
 
-             {
 
-                 RefAsync<int> totalCount = 0;
 
-                 var data = await _sqlSugar.SqlQueryable<MessageListView>(msgSql).ToPageListAsync(dto.PageIndex, dto.PageSize, totalCount);
 
-                 return Ok(JsonView(true, "操作成功!", data, totalCount));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, ex.Message));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 系统消息
 
-         /// 获取消息未读条数
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PotsMessageUnreadTotalCount(PotsMessageUnreadTotalCountDto dto)
 
-         {
 
-             #region 参数验证
 
-             if (dto.UserId < 1)
 
-                 return Ok(JsonView(false, "请输入有效的UserId参数。"));
 
-             #endregion
 
-             try
 
-             {
 
-                 #region 限制人员登录
 
-                 var userInfo = await _sqlSugar
 
-                     .Queryable<Sys_Users>()
 
-                     .Where((u) => u.Id == dto.UserId)
 
-                     .Select((u) => new
 
-                     {
 
-                         CnName = u.CnName
 
-                     })
 
-                     .FirstAsync();
 
-                 var noLoginAuth = _config.GetSection("NoLoginAuth").Get<List<string>>();
 
-                 if (noLoginAuth.Any())
 
-                 {
 
-                     if (noLoginAuth.Contains(userInfo.CnName)) return Ok(JsonView(204, "NO ACCESS!!", ""));
 
-                 }
 
-                 //其他市场部人员 限制登录时间段
 
-                 //var currentDateTime = DateTime.Now;
 
-                 //var startTime = DateTime.Parse(_config["ApiAccessTime:StartTime"]);
 
-                 //var endTime = DateTime.Parse(_config["ApiAccessTime:EndTime"]);
 
-                 //if (currentDateTime < startTime && currentDateTime > endTime) return Ok(JsonView(204, "NO ACCESS!!", ""));
 
-                 #endregion
 
-                 int messageUnReadCount = await _messageRep.GetUnReadCount(dto.UserId);
 
-                 int announcementUnReadCount = await _messageRep.GetAnnouncementUnReadCount(dto.UserId);
 
-                 
 
-                 return Ok(JsonView(true, "操作成功!", new { messageUnReadCount = messageUnReadCount, announcementUnReadCount = announcementUnReadCount }));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, ex.Message));
 
-             }
 
-         }
 
-         #endregion
 
-         /// <summary>
 
-         /// 获取消息详细信息
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PostMsgInfo(MsgInfoDto dto)
 
-         {
 
-             if (dto.PortType < 1 || dto.PortType > 3)
 
-                 return Ok(JsonView(false, MsgTips.Port));
 
-             var msgData = await _messageRep.GetMsgInfo(dto);
 
-             return msgData.Code != 0 ? Ok(JsonView(false, msgData.Msg)) : Ok(JsonView(true, "操作成功!", msgData.Data));
 
-         }
 
-         /// <summary>
 
-         /// 消息设置已读
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> SetMessageRead(MsgSetReadDto dto)
 
-         {
 
-             var msgData = await _messageRep.SetMsgRead(dto);
 
-             return msgData.Code != 0 ? Ok(JsonView(false, msgData.Msg)) : Ok(JsonView(true));
 
-         }
 
-         /// <summary>
 
-         /// 消息 删除
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DeleMsg(MsgDeleteDto dto)
 
-         {
 
-             var msgData = await _messageRep.DelMsg(dto);
 
-             return msgData.Code != 0 ? Ok(JsonView(false, msgData.Msg)) : Ok(JsonView(true));
 
-         }
 
-         #endregion
 
-         #region 数据类型资料
 
-         /// <summary>
 
-         /// 根据类型查询数据
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> QuerySetData(SetDataDto dto)
 
-         {
 
-             try
 
-             {
 
-                 if (dto.DataType == 0)
 
-                 {
 
-                     return Ok(JsonView(false, "请传类型Id!"));
 
-                 }
 
-                 var setData = _setDataRepository.QueryDto<Sys_SetData, SetDataView>(s => s.STid == dto.DataType && s.IsDel == 0).ToList();
 
-                 if (setData.Count == 0)
 
-                 {
 
-                     return Ok(JsonView(false, "暂无数据!"));
 
-                 }
 
-                 return Ok(JsonView(true, "查询成功!", setData));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 根据类型查询数据(Array)
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public IActionResult QuerySetDataInitByArr(QuerySetDataInitByArr Dto)
 
-         {
 
-             if (Dto.DataTypeArr == null || !Dto.DataTypeArr.Any())
 
-             {
 
-                 return Ok(JsonView(false, "请传入有效的类型数组!"));
 
-             }
 
-             var DbQuery = _setDataRepository.QueryDto<Sys_SetData, SetDataView>(s => Dto.DataTypeArr.Contains(s.STid)).ToList();
 
-             var GroupResult = DbQuery.GroupBy(x => x.STid).Select(x => new
 
-             {
 
-                 key = x.Key,
 
-                 Arr = x.ToList()
 
-             });
 
-             return Ok(JsonView(true, "查询成功!", GroupResult));
 
-         }
 
-         /// <summary>
 
-         /// 数据类型表查询
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> QuerySetDataType(SetDataTypeDto dto)
 
-         {
 
-             try
 
-             {
 
-                 Result setDataType = await _setDataTypeRep.QuerySetDataType(dto);
 
-                 if (setDataType.Code == 0)
 
-                 {
 
-                     return Ok(JsonView(true, "查询成功", setDataType.Data));
 
-                 }
 
-                 else
 
-                 {
 
-                     return Ok(JsonView(false, setDataType.Msg));
 
-                 }
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 数据类型表操作(Status:1.新增,2.修改)
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> OperationSetDataType(OperationSetDataTypeDto dto)
 
-         {
 
-             if (dto == null || string.IsNullOrEmpty(dto.Name))
 
-             {
 
-                 return Ok(JsonView(false, "请检查类型名称是否填写!"));
 
-             }
 
-             try
 
-             {
 
-                 Result result = await _setDataTypeRep.OperationSetDataType(dto);
 
-                 if (result.Code != 0)
 
-                 {
 
-                     return Ok(JsonView(false, result.Msg));
 
-                 }
 
-                 return Ok(JsonView(true, result.Msg));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 数据类型表操作删除
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DelSetDataType(DelSetDataTypeDto dto)
 
-         {
 
-             if (dto == null || dto.Id <= 0)
 
-                 return Ok(JsonView(false, "请传入有效的Id参数!"));
 
-             if (dto == null || dto.DeleteUserId <= 0)
 
-                 return Ok(JsonView(false, "请传入有效的DeleteUserId参数!"));
 
-             try
 
-             {
 
-                 var res = await _setDataTypeRep.SoftDeleteByIdAsync<Sys_SetDataType>(dto.Id.ToString(), dto.DeleteUserId);
 
-                 if (!res)
 
-                 {
 
-                     return Ok(JsonView(false, "删除失败"));
 
-                 }
 
-                 return Ok(JsonView(true, "删除成功!"));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-             }
 
-         }
 
-         #endregion
 
-         #region 数据类型板块
 
-         /// <summary>
 
-         /// 数据类型板块表查询
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> QuerySetDataInfo(SetDataIDto dto)
 
-         {
 
-             try
 
-             {
 
-                 Result setData = await _setDataRepository.QuerySetData(dto);
 
-                 if (setData.Code == 0)
 
-                 {
 
-                     return Ok(JsonView(true, "查询成功", setData.Data));
 
-                 }
 
-                 else
 
-                 {
 
-                     return Ok(JsonView(false, setData.Msg));
 
-                 }
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 数据类型板块表操作(Status:1.新增,2.修改)
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> OperationSetData(OperationSetDataDto dto)
 
-         {
 
-             if (string.IsNullOrEmpty(dto.Name)) return Ok(JsonView(false, "请检查板块名称是否填写!"));
 
-             Result result = await _setDataRepository.OperationSetData(dto);
 
-             if (result.Code != 0)
 
-             {
 
-                 return Ok(JsonView(false, result.Msg));
 
-             }
 
-             return Ok(JsonView(true, result.Msg));
 
-         }
 
-         /// <summary>
 
-         /// 数据类型表操作删除
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DelSetData(DelSetDataDto dto)
 
-         {
 
-             try
 
-             {
 
-                 var res = await _setDataRepository.SoftDeleteByIdAsync<Sys_SetData>(dto.Id.ToString(), dto.DeleteUserId);
 
-                 if (!res)
 
-                 {
 
-                     return Ok(JsonView(false, "删除失败"));
 
-                 }
 
-                 return Ok(JsonView(true, "删除成功!"));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         #endregion
 
-         #region 企业操作
 
-         /// <summary>
 
-         /// 查询企业数据
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> getCompanyList(DtoBase dto)
 
-         {
 
-             if (dto.PortType == 1)
 
-             {
 
-                 var CompanyDataResult = _CompanyRepository.GetCompanyData();
 
-                 if (CompanyDataResult.Code != 0)
 
-                 {
 
-                     return Ok(JsonView(CompanyDataResult.Msg));
 
-                 }
 
-                 List<CompanyView> companyListView = _mapper.Map<List<CompanyView>>(CompanyDataResult.Data);
 
-                 for (int i = 0; i < companyListView.Count; i++)
 
-                 {
 
-                     if (companyListView[i].ParentCompanyId != 0)
 
-                     {
 
-                         companyListView[i].ParentCompanyName = companyListView.Find(x => x.Id == companyListView[i].ParentCompanyId).CompanyName;
 
-                     }
 
-                     if (companyListView[i].ContactUserId != 0)
 
-                     {
 
-                         var user = _userRep.QueryDto<Sys_Users, UserInfoWebView>(x => x.Id == companyListView[i].ContactUserId).ToList();
 
-                         if (user.Count != 0)
 
-                         {
 
-                             companyListView[i].ContactUserName = user[0].CnName;
 
-                         }
 
-                     }
 
-                 }
 
-                 return Ok(JsonView(true, "查询成功!", companyListView));
 
-             }
 
-             else if (dto.PortType == 2)
 
-             {
 
-                 var CompanyDataResult = _CompanyRepository.GetCompanyData();
 
-                 if (CompanyDataResult.Code != 0)
 
-                 {
 
-                     return Ok(JsonView(CompanyDataResult.Msg));
 
-                 }
 
-                 return Ok(JsonView(true, "查询成功!", CompanyDataResult.Data));
 
-             }
 
-             else if (dto.PortType == 3)
 
-             {
 
-                 return Ok(JsonView(false, "暂无数据!"));
 
-             }
 
-             else
 
-             {
 
-                 return Ok(JsonView(false, "暂无数据!"));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 添加企业数据
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> AddCompany(AddCompanyDto dto)
 
-         {
 
-             if (string.IsNullOrWhiteSpace(dto.CompanyName) || dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.CompanyCode))
 
-             {
 
-                 return Ok(JsonView(false, "请检查信息是否输入完整!"));
 
-             }
 
-             else if (string.IsNullOrWhiteSpace(dto.Tel))
 
-             {
 
-                 return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
 
-             }
 
-             else
 
-             {
 
-                 Sys_Company _Company = _mapper.Map<Sys_Company>(dto);
 
-                 Result data = await _syscomRep.AddCompany(_Company);
 
-                 if (data.Code != 0)
 
-                 {
 
-                     return Ok(JsonView(false, "添加失败!"));
 
-                 }
 
-                 return Ok(JsonView(true, "添加成功"));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 企业修改
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> EditCompany(EditCompanyDto dto)
 
-         {
 
-             if (string.IsNullOrWhiteSpace(dto.CompanyName) || string.IsNullOrWhiteSpace(dto.CompanyCode) || string.IsNullOrWhiteSpace(dto.Address) || dto.ContactUserId == 0)
 
-             {
 
-                 return Ok(JsonView(false, "请检查信息是否输入完整!"));
 
-             }
 
-             else if (string.IsNullOrWhiteSpace(dto.Tel))
 
-             {
 
-                 return Ok(JsonView(false, "请检查联系方式是否输入正确!"));
 
-             }
 
-             else
 
-             {
 
-                 bool res = await _syscomRep.UpdateAsync(a => a.Id == dto.Id, a => new Sys_Company
 
-                 {
 
-                     CompanyName = dto.CompanyName,
 
-                     CompanyCode = dto.CompanyCode,
 
-                     Address = dto.Address,
 
-                     ParentCompanyId = dto.ParentCompanyId,
 
-                     Tel = dto.Tel,
 
-                     ContactUserId = dto.ContactUserId,
 
-                     Remark = dto.Remark,
 
-                 });
 
-                 if (!res) { return Ok(JsonView(false, "修改失败")); }
 
-                 return Ok(JsonView(true, "修改成功!"));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 企业删除
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DelCompany(DelCompanyDto dto)
 
-         {
 
-             bool res = await _syscomRep.SoftDeleteAsync<Sys_Company>(dto.Id.ToString());
 
-             if (!res) { return Ok(JsonView(false, "删除失败")); }
 
-             return Ok(JsonView(true, "删除成功"));
 
-         }
 
-         #endregion
 
-         #region 部门操作
 
-         /// <summary>
 
-         /// 查询部门数据
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> QueryDepartmentList(DepartmentDto dto)
 
-         {
 
-             if (dto.PortType == 1)
 
-             {
 
-                 if (dto.CompanyId != 0)
 
-                 {
 
-                     var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.CompanyId == dto.CompanyId).ToList();
 
-                     if (result.Count == 0)
 
-                     {
 
-                         return Ok(JsonView(false, "暂无数据!"));
 
-                     }
 
-                     int resultCount = result.Count;
 
-                     for (int i = 0; i < resultCount; i++)
 
-                     {
 
-                         if (result[i].ParentDepId != 0)
 
-                         {
 
-                             result[i].ParentDepName = result.Find(x => x.Id == result[i].ParentDepId).ParentDepName;
 
-                         }
 
-                         var company = _sysDepRep.QueryDto<Sys_Company, CompanyView>(s => s.Id == result[i].CompanyId).ToList();
 
-                         if (company.Count != 0)
 
-                         {
 
-                             result[i].CompanyName = company[0].CompanyName;
 
-                         }
 
-                     }
 
-                     return Ok(JsonView(true, "查询成功!", result));
 
-                 }
 
-                 else
 
-                 {
 
-                     var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.IsDel <= 1).ToList();
 
-                     if (result.Count == 0)
 
-                     {
 
-                         return Ok(JsonView(false, "暂无数据!"));
 
-                     }
 
-                     for (int i = 0; i < result.Count; i++)
 
-                     {
 
-                         if (result[i].ParentDepId != 0)
 
-                         {
 
-                             result[i].ParentDepName = result.Find(x => x.Id == result[i].ParentDepId).ParentDepName;
 
-                         }
 
-                         var company = _sysDepRep.QueryDto<Sys_Company, CompanyView>(s => s.Id == result[i].CompanyId).ToList();
 
-                         if (company.Count != 0)
 
-                         {
 
-                             result[i].CompanyName = company[0].CompanyName;
 
-                         }
 
-                     }
 
-                     return Ok(JsonView(true, "查询成功!", result));
 
-                 }
 
-             }
 
-             else if (dto.PortType == 2)
 
-             {
 
-                 var result = _sysDepRep.QueryDto<Sys_Department, DepartmentIView>(s => s.CompanyId == dto.CompanyId).ToList();
 
-                 if (result.Count == 0)
 
-                 {
 
-                     return Ok(JsonView(400, "暂无数据!", new List<string>()));
 
-                 }
 
-                 return Ok(JsonView(true, "查询成功!", result));
 
-             }
 
-             else if (dto.PortType == 3)
 
-             {
 
-             }
 
-             else
 
-             {
 
-             }
 
-             return Ok(JsonView(false, "暂无数据!"));
 
-         }
 
-         /// <summary>
 
-         /// 部门添加
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> AddDepartment(AddDepartmentDto dto)
 
-         {
 
-             try
 
-             {
 
-                 if (dto.CreateUserId == 0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
 
-                 {
 
-                     return Ok(JsonView(false, "请检查信息是否输入完整!"));
 
-                 }
 
-                 else
 
-                 {
 
-                     Sys_Department _Department = _mapper.Map<Sys_Department>(dto);
 
-                     int id = await _sysDepRep.AddAsyncReturnId(_Department);
 
-                     if (id == 0)
 
-                     {
 
-                         return Ok(JsonView(false, "添加失败!"));
 
-                     }
 
-                     return Ok(JsonView(true, "添加成功!", new { Id = id }));
 
-                 }
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 部门修改
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> EditDepartment(EditDepartmentDto dto)
 
-         {
 
-             try
 
-             {
 
-                 if (dto.Id == 0 || string.IsNullOrWhiteSpace(dto.DepName) || dto.CompanyId == 0 || string.IsNullOrWhiteSpace(dto.DepCode))
 
-                 {
 
-                     return Ok(JsonView(false, "请检查信息是否输入完整!"));
 
-                 }
 
-                 else
 
-                 {
 
-                     bool res = await _sysDepRep.UpdateAsync<Sys_Department>(a => a.Id == dto.Id, a => new Sys_Department
 
-                     {
 
-                         CompanyId = dto.CompanyId,
 
-                         DepCode = dto.DepCode,
 
-                         DepName = dto.DepName,
 
-                         ParentDepId = dto.ParentDepId,
 
-                         Remark = dto.Remark,
 
-                     });
 
-                     if (!res)
 
-                     {
 
-                         return Ok(JsonView(false, "修改失败!"));
 
-                     }
 
-                     return Ok(JsonView(true, "修改成功!"));
 
-                 }
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 部门删除
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DelDepartment(DelDepartmentDto dto)
 
-         {
 
-             try
 
-             {
 
-                 if (dto.Id == 0)
 
-                 {
 
-                     return Ok(JsonView(-1, "请检查信息是否输入完整!", string.Empty));
 
-                 }
 
-                 else
 
-                 {
 
-                     bool res = await _sysDepRep.SoftDeleteAsync<Sys_Department>(dto.Id.ToString());
 
-                     if (!res)
 
-                     {
 
-                         return Ok(JsonView(false, "删除失败!"));
 
-                     }
 
-                     return Ok(JsonView(true, "删除成功!"));
 
-                 }
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-             }
 
-         }
 
-         #endregion
 
-         #region 岗位板块
 
-         /// <summary>
 
-         /// 岗位查询
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> QueryJobPost(QueryJobPostDto dto)
 
-         {
 
-             try
 
-             {
 
-                 if (dto.PortType == 1)
 
-                 {
 
-                     string sqlWhere = string.Empty;
 
-                     if (dto.CompanyId != 0)
 
-                     {
 
-                         sqlWhere += string.Format(@" And jp.CompanyId={0}", dto.CompanyId);
 
-                     }
 
-                     if (dto.DepId != 0)
 
-                     {
 
-                         sqlWhere += string.Format(@" And jp.DepId={0}", dto.DepId);
 
-                     }
 
-                     sqlWhere += string.Format(@" And jp.IsDel={0}", 0);
 
-                     if (!string.IsNullOrEmpty(sqlWhere.Trim()))
 
-                     {
 
-                         Regex r = new Regex("And");
 
-                         sqlWhere = r.Replace(sqlWhere, "Where", 1);
 
-                     }
 
-                     List<Sys_JobPostI> jobList = await _jobRep.QueryJobPost(sqlWhere);
 
-                     List<JobPostView> List = _mapper.Map<List<JobPostView>>(jobList);
 
-                     if (jobList.Count == 0)
 
-                     {
 
-                         return Ok(JsonView(false, "暂无数据!"));
 
-                     }
 
-                     return Ok(JsonView(true, "查询成功!", jobList));
 
-                 }
 
-                 else if (dto.PortType == 2)
 
-                 {
 
-                     var result = _jobRep.QueryDto<Sys_JobPost, JobPostView>(s => s.CompanyId == dto.CompanyId && s.DepId == dto.DepId).ToList();
 
-                     if (result.Count == 0)
 
-                     {
 
-                         return Ok(JsonView(false, "暂无数据!"));
 
-                     }
 
-                     return Ok(JsonView(true, "查询成功!", result));
 
-                 }
 
-                 else if (dto.PortType == 3)
 
-                 {
 
-                     return Ok(JsonView(false, "暂无数据!"));
 
-                 }
 
-                 else
 
-                 {
 
-                     return Ok(JsonView(false, "暂无数据!"));
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 添加岗位
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> AddJobPost(AddJobPostDto dto)
 
-         {
 
-             try
 
-             {
 
-                 Sys_JobPost sys_Job = _mapper.Map<Sys_JobPost>(dto);
 
-                 int id = await _jobRep.AddAsyncReturnId(sys_Job);
 
-                 if (id == 0)
 
-                 {
 
-                     return Ok(JsonView(false, "添加失败"));
 
-                 }
 
-                 return Ok(JsonView(true, "添加成功", new { Id = id }));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 修改岗位
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> EditJobPost(EditJobPostDto dto)
 
-         {
 
-             try
 
-             {
 
-                 bool res = await _jobRep.UpdateAsync<Sys_JobPost>(a => a.Id == dto.Id, a => new Sys_JobPost
 
-                 {
 
-                     CompanyId = dto.CompanyId,
 
-                     DepId = dto.DepId,
 
-                     JobName = dto.JobName,
 
-                     Remark = dto.Remark,
 
-                 });
 
-                 if (!res)
 
-                 {
 
-                     return Ok(JsonView(false, "修改失败"));
 
-                 }
 
-                 return Ok(JsonView(true, "修改成功"));
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 删除岗位
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DelJobPost(DelJobPostDto dto)
 
-         {
 
-             try
 
-             {
 
-                 bool res = await _jobRep.SoftDeleteAsync<Sys_JobPost>(dto.Id.ToString());
 
-                 if (!res)
 
-                 {
 
-                     return Ok(JsonView(false, "删除失败!"));
 
-                 }
 
-                 return Ok(JsonView(true, "删除成功"));
 
-             }
 
-             catch (Exception)
 
-             {
 
-                 return Ok(JsonView(false, "程序错误!"));
 
-                 throw;
 
-             }
 
-         }
 
-         #endregion
 
-         #region 用户操作
 
-         ///// <summary>
 
-         ///// 用户表指定字段加密
 
-         ///// </summary>
 
-         ///// <param name="dto"></param>
 
-         ///// <returns></returns>
 
-         //[HttpPost]
 
-         //[ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         //public async Task<IActionResult> UserBatchEncryption()
 
-         //{
 
-         //    var items = await _sqlSugar.Queryable<Sys_Users>().Select(x => new Sys_Users() { Id = x.Id, Phone = x.Phone, UrgentPhone = x.UrgentPhone, IDCard = x.IDCard }).ToListAsync();
 
-         //    foreach (var item in items) EncryptionProcessor.EncryptProperties(item);
 
-         //    var updItems = await _sqlSugar.Updateable(items).UpdateColumns(x => new { x.Phone, x.UrgentPhone, x.IDCard }).ExecuteCommandAsync();
 
-         //    return Ok(JsonView(updItems));
 
-         //}
 
-         /// <summary>
 
-         /// 查询所有员工名称
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> GetUserNameList(DtoBase dto)
 
-         {
 
-             var result = _userRep.GetUserNameList(dto.PortType);
 
-             if (result.Result.Code != 0)
 
-             {
 
-                 return Ok(JsonView(false, "暂无数据!"));
 
-             }
 
-             return Ok(JsonView(true, "查询成功!", result.Result.Data));
 
-         }
 
-         /// <summary>
 
-         /// 查询所有员工(web)
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> GetUserList(DtoBase dto)
 
-         {
 
-             var result = _userRep.GetUserList(dto.PortType, string.Empty);
 
-             if (result.Result.Code != 0)
 
-             {
 
-                 return Ok(JsonView(false, "暂无数据!"));
 
-             }
 
-             return Ok(JsonView(true, "查询成功!", result.Result.Data));
 
-         }
 
-         /// <summary>
 
-         /// 查询用户数据
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> QueryUserList(UserDto dto)
 
-         {
 
-             string sqlWhere = string.Format(" Where su.IsDel = 0 ");
 
-             if (dto.CompanyId != 0)
 
-             {
 
-                 sqlWhere += string.Format(@" And su.CompanyId={0}", dto.CompanyId);
 
-             }
 
-             if (dto.DepId != 0)
 
-             {
 
-                 sqlWhere += string.Format(@" And su.DepId={0}", dto.DepId);
 
-             }
 
-             if (dto.JobPostId != 0)
 
-             {
 
-                 sqlWhere += string.Format(@" And su.JobPostId={0}", dto.JobPostId);
 
-             }
 
-             List<UserInfo> _userList = await _userRep.QueryUser(sqlWhere);
 
-             if (_userList.Count == 0)
 
-             {
 
-                 return Ok(JsonView(400, "暂无数据!", new List<String>()));
 
-             }
 
-             foreach (var item in _userList) EncryptionProcessor.DecryptProperties(item);
 
-             List<UserInfoWebView> userList = _mapper.Map<List<UserInfoWebView>>(_userList);
 
-             return Ok(JsonView(true, "查询成功!", userList));
 
-         }
 
-         /// <summary>
 
-         /// 员工信息 个人详细信息
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> UserInfo(UserInfoDto dto)
 
-         {
 
-             if (dto.Id < 1) return Ok(JsonView(false, "请选择有效的userId!"));
 
-             if (dto.PortType < 1 || dto.PortType > 3) return Ok(JsonView(false, MsgTips.Port));
 
-             var _view = await _sqlSugar.Queryable<Sys_Users>()
 
-                                        .Where(x => x.IsDel == 0 && x.Id == dto.Id)
 
-                                        .FirstAsync();
 
-             //解密
 
-             EncryptionProcessor.DecryptProperties(_view);
 
-             var data = new
 
-             {
 
-                 _view.Id,
 
-                 _view.CnName,
 
-                 _view.EnName,
 
-                 _view.Number,
 
-                 _view.CompanyId,
 
-                 _view.DepId,
 
-                 _view.JobPostId,
 
-                 _view.Password,
 
-                 _view.Sex,
 
-                 _view.Ext,
 
-                 _view.Phone,
 
-                 _view.UrgentPhone,
 
-                 _view.Email,
 
-                 _view.Address,
 
-                 _view.Edate,
 
-                 //_view.Seniority,
 
-                 _view.Birthday,
 
-                 _view.IDCard,
 
-                 _view.StartWorkDate,
 
-                 _view.GraduateInstitutions,
 
-                 _view.Professional,
 
-                 _view.Education,
 
-                 _view.TheOrAdultEducation,
 
-                 _view.MaritalStatus,
 
-                 _view.HomeAddress,
 
-                 _view.UsePeriod,
 
-                 _view.WorkExperience,
 
-                 _view.Certificate,
 
-                 //_view.QiyeChatUserId,
 
-                 _view.Remark
 
-             };
 
-             return Ok(JsonView(true, "操作成功!", data));
 
-         }
 
-         /// <summary>
 
-         /// 员工信息 All信息修改
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> EditUserInfo(EditUserInfoDto _dto)
 
-         {
 
-             EditUserInfoDtoValidator validator = new EditUserInfoDtoValidator();
 
-             var validatorRes = await validator.ValidateAsync(_dto);
 
-             if (!validatorRes.IsValid)
 
-             {
 
-                 var errors = new StringBuilder();
 
-                 foreach (var error in validatorRes.Errors) errors.AppendLine(error.ErrorMessage);
 
-                 return Ok(JsonView(false, errors.ToString()));
 
-             }
 
-             var userInfo = _mapper.Map<Sys_Users>(_dto);
 
-             if (_dto.CurrUserId < 1) return Ok(JsonView(false, "暂无修改权限!"));
 
-             //修改权限验证 指定人员 信息部门(4)和人事部刘一茹( 230)、赖红燕(309)
 
-             List<int> userIds = new List<int>() {
 
-                         4   ,//管理员
 
-                         5   ,//杨俊霄
 
-                         117 ,//人事审核号
 
-                         208 ,//雷怡
 
-                         230 ,//刘一茹
 
-                         233 ,//刘华举
 
-                         234 ,//蒋金辰
 
-                         235 ,//袁榕烽
 
-                         309 ,//赖红燕
 
-                      };
 
-             if (!userIds.Contains(_dto.CurrUserId)) return Ok(JsonView(false, "暂无修改权限!"));
 
-             //加密
 
-             EncryptionProcessor.EncryptProperties(userInfo);
 
-             var res = await _sqlSugar.Updateable(userInfo)
 
-                                      .IgnoreColumns(x => new
 
-                                      {
 
-                                          x.QiyeChatUserId,
 
-                                          x.Rdate,
 
-                                          x.Seniority,
 
-                                          x.HrAudit,
 
-                                          x.CreateUserId,
 
-                                          x.CreateTime,
 
-                                          x.DeleteUserId,
 
-                                          x.DeleteTime,
 
-                                          x.IsDel
 
-                                      })
 
-                                      .Where(x => x.Id == _dto.Id)
 
-                                      .ExecuteCommandAsync();
 
-             if (res > 0) return Ok(JsonView(true, "操作成功!"));
 
-             return Ok(JsonView(false, "操作失败!"));
 
-         }
 
-         /// <summary>
 
-         /// 修改用户信息(上级修改/分配 公司、部门、岗位、工号等信息)
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> EditUser(EditUserDto dto)
 
-         {
 
-             if (dto.CurrUserId < 1) return Ok(JsonView(false, "暂无修改权限!"));
 
-             //修改权限验证 指定人员 信息部门(4)和人事部刘一茹( 230)、赖红燕(309)
 
-             var userIds = new List<int>() {
 
-                         4   ,//管理员
 
-                         5   ,//杨俊霄
 
-                         117 ,//人事审核号
 
-                         208 ,//雷怡
 
-                         230 ,//刘一茹
 
-                         233 ,//刘华举
 
-                         234 ,//蒋金辰
 
-                         235 ,//袁榕烽
 
-                         309 ,//赖红燕
 
-                      };
 
-             if (!userIds.Contains(dto.CurrUserId)) return Ok(JsonView(false, "暂无修改权限!"));
 
-             bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
 
-             {
 
-                 Number = dto.Number,
 
-                 CompanyId = dto.CompanyId,
 
-                 DepId = dto.DepId,
 
-                 JobPostId = dto.JobPostId,
 
-                 Ext = dto.Ext,
 
-                 UsePeriod = dto.UsePeriod,
 
-                 //HrAudit = dto.HrAudit
 
-             });
 
-             if (!res)
 
-             {
 
-                 return Ok(JsonView(false, "修改失败!"));
 
-             }
 
-             return Ok(JsonView(true, "修改成功!"));
 
-         }
 
-         /// <summary>
 
-         /// 修改用户信息(登录用户修改个人信息)
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> EditMyUser(EditMyUserDto dto)
 
-         {
 
-             if (string.IsNullOrWhiteSpace(dto.CnName) ||
 
-                 string.IsNullOrWhiteSpace(dto.Address) ||
 
-                 string.IsNullOrWhiteSpace(dto.IDCard) ||
 
-                 dto.Sex != 0 && dto.Sex != 1 ||
 
-                 string.IsNullOrWhiteSpace(dto.MaritalStatus) ||
 
-                 string.IsNullOrWhiteSpace(dto.HomeAddress) ||
 
-                 dto.Birthday >= DateTime.Now.AddYears(-1))
 
-             {
 
-                 return Ok(JsonView(false, "请完善你的个人信息!"));
 
-             }
 
-             else if (string.IsNullOrWhiteSpace(dto.GraduateInstitutions) ||
 
-                 string.IsNullOrWhiteSpace(dto.Professional) ||
 
-                 dto.Education == 0 ||
 
-                 string.IsNullOrWhiteSpace(dto.GraduateInstitutions))
 
-             {
 
-                 return Ok(JsonView(false, "请完善你的学历信息!"));
 
-             }
 
-             else if (string.IsNullOrWhiteSpace(dto.Phone) ||
 
-                 string.IsNullOrWhiteSpace(dto.UrgentPhone) ||
 
-                 string.IsNullOrWhiteSpace(dto.Email))
 
-             {
 
-                 return Ok(JsonView(false, "请检查联系方式、紧急联系人及邮箱输写是否正确!"));
 
-             }
 
-             else
 
-             {
 
-                 //指定字段加密
 
-                 var phone = AesEncryptionHelper.Encrypt(dto.Phone);
 
-                 var urgentPhone = AesEncryptionHelper.Encrypt(dto.UrgentPhone);
 
-                 var IDCard = AesEncryptionHelper.Encrypt(dto.IDCard);
 
-                 bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
 
-                 {
 
-                     CnName = dto.CnName,
 
-                     EnName = dto.EnName,
 
-                     Sex = dto.Sex,
 
-                     Phone = phone,
 
-                     UrgentPhone = urgentPhone,
 
-                     Email = dto.Email,
 
-                     Address = dto.Address,
 
-                     Edate = dto.Edate,
 
-                     Birthday = dto.Birthday,
 
-                     IDCard = IDCard,
 
-                     GraduateInstitutions = dto.GraduateInstitutions,
 
-                     Professional = dto.Professional,
 
-                     Education = dto.Education,
 
-                     TheOrAdultEducation = dto.TheOrAdultEducation,
 
-                     MaritalStatus = dto.MaritalStatus,
 
-                     HomeAddress = dto.HomeAddress,
 
-                     WorkExperience = dto.WorkExperience,
 
-                     Certificate = dto.Certificate
 
-                 });
 
-                 if (!res)
 
-                 {
 
-                     return Ok(JsonView(false, "修改失败!"));
 
-                 }
 
-                 return Ok(JsonView(true, "修改成功!"));
 
-             }
 
-         }
 
-         /// <summary>
 
-         /// 删除用户信息
 
-         /// 即为离职
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PostUserDelById(UserDelDto dto)
 
-         {
 
-             if (dto == null)
 
-             {
 
-                 return Ok(JsonView(false, "参数不能为空!"));
 
-             }
 
-             var _Users = _sqlSugar.Queryable<Sys_Users>().First(a => a.IsDel == 0 && a.Id == dto.Id);
 
-             if (_Users != null)
 
-             {
 
-                 var sys_UsersList = _sqlSugar.Queryable<Sys_Users>().Where(a => a.IsDel == 0 && a.CompanyId == _Users.CompanyId).ToList();
 
-                 if (sys_UsersList.Count == 1)
 
-                 {
 
-                     return Ok(JsonView(false, "该人员为公司最后一位,不可删除!"));
 
-                 }
 
-             }
 
-             bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users
 
-             {
 
-                 IsDel = 1,
 
-                 DeleteUserId = dto.OperateUserId,
 
-                 DeleteTime = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
 
-                 Rdate = Convert.ToDateTime(DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"))
 
-             });
 
-             if (!res)
 
-             {
 
-                 return Ok(JsonView(false, "操作失败!"));
 
-             }
 
-             return Ok(JsonView(true, "操作成功!"));
 
-         }
 
-         /// <summary>
 
-         /// 员工信息 
 
-         /// 人事审核
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PersonnelAudit(PersonnelAuditDto dto)
 
-         {
 
-             if (dto.UserId < 1) return Ok(JsonView(false, "请传入有效的UserId参数!"));
 
-             if (dto.Id < 1) return Ok(JsonView(false, "请传入有效的Id参数!"));
 
-             if (dto.IsAudit < 1 || dto.IsAudit > 2) return Ok(JsonView(false, "请传入有效的IsAudit参数!1:通过 2拒绝"));
 
-             bool res = await _userRep.UpdateAsync<Sys_Users>(a => a.Id == dto.Id, a => new Sys_Users { HrAudit = dto.IsAudit });
 
-             if (res)
 
-             {
 
-                 //审核成功添加员工基础页面权限
 
-                 var userData = _sqlSugar.Queryable<Sys_Users>().Where(it => it.Id == dto.Id).First();
 
-                 int depId = 0, postId = 0;
 
-                 if (userData != null) { depId = userData.DepId; postId = userData.JobPostId; }
 
-                 bool s = DefaultPostAuth(depId, postId, dto.Id, dto.UserId);
 
-                 string str = $"基础页面权限添加失败!";
 
-                 if (s) str = $"基础页面权限添加成功!";
 
-                 return Ok(JsonView(true, $"操作成功!{str}"));
 
-             }
 
-             return Ok(JsonView(false, "操作失败!"));
 
-         }
 
-         /// <summary>
 
-         /// 部门查询员工
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         public IActionResult QueryUserByDepart(QueryUserByDepartDto dto)
 
-         {
 
-             var jw = JsonView(false);
 
-             if (dto.DepartId < 1)
 
-             {
 
-                 jw.Msg = "请传入正确的部门id";
 
-                 return Ok(jw);
 
-             }
 
-             string sql = $@"SELECT  * FROM  Sys_Users su WHERE su.JobPostId  in (SELECT  id FROM  Sys_JobPost sj  WHERE  sj.IsDel  = 0 AND  sj.DepId  = {dto.DepartId} )
 
-                             AND  su.IsDel  = 0 ";
 
-             var result = _sqlSugar.SqlQueryable<Sys_Users>(sql).Select(x => new
 
-             {
 
-                 x.Id,
 
-                 x.CnName,
 
-                 x.EnName
 
-             }).ToList();
 
-             jw.Data = result;
 
-             jw.Code = 200;
 
-             jw.Msg = "获取成功!";
 
-             return Ok(jw);
 
-         }
 
-         #endregion
 
-         #region 权限模块
 
-         /// <summary>
 
-         /// 权限数据页面初始化
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         //[Authorize]
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> GetAuth(AuthDto dto)
 
-         {
 
-             Result result = new Result();
 
-             //模块数据
 
-             var setDataResult = await _setDataRepository.GetSySDefultModule();
 
-             if (setDataResult.Code != 0)
 
-             {
 
-                 return Ok(JsonView(setDataResult.Msg));
 
-             }
 
-             //操作方式
 
-             var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x => x.IsEnable == 1).ToList();
 
-             //获取所有关联页面
 
-             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
 
-             //页面数据
 
-             var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x => x.Mid == dto.moduleId && x.IsEnable == 1).ToList();
 
-             if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
 
-             {
 
-                 return Ok(JsonView("暂无数据"));
 
-             }
 
-             ArrayList viewData = new ArrayList();
 
-             //组合页面数据
 
-             foreach (var item in SystemMenuPermissionData)
 
-             {
 
-                 ArrayList ids = new ArrayList();
 
-                 foreach (var viewop in PageOperation)
 
-                 {
 
-                     var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
 
-                     if (op != null)
 
-                     {
 
-                         ids.Add(viewop.Id);
 
-                     }
 
-                 }
 
-                 viewData.Add(new
 
-                 {
 
-                     Id = item.Id,
 
-                     Mid = item.Mid,
 
-                     Name = item.Name,
 
-                     SystemMenuCode = item.SystemMenuCode,
 
-                     opList = ids,
 
-                     selList = new string[0]
 
-                 });
 
-             }
 
-             //公司数据
 
-             var CompanyDataResult = _CompanyRepository.GetCompanyData();
 
-             if (CompanyDataResult.Code != 0)
 
-             {
 
-                 return Ok(JsonView(CompanyDataResult.Msg));
 
-             }
 
-             result.Code = 0;
 
-             result.Msg = "成功!";
 
-             var Dyresult = new
 
-             {
 
-                 setDataResult = setDataResult.Data,
 
-                 CompanyDataResult = CompanyDataResult.Data,
 
-                 SystemMenuPermissionData = viewData,
 
-                 PageOperation = PageOperation,
 
-             };
 
-             return Ok(JsonView(200, "成功!", Dyresult));
 
-         }
 
-         /// <summary>
 
-         /// 获取职务权限
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public IActionResult QueryJobAuth(QueryJobAuthDto dto)
 
-         {
 
-             //选中的操作权限
 
-             var DBdata = _JobPostAuthorityRepository.QueryDto<Sys_JobPostAuthority, JobPostAuthorityView>(x => x.JpId == dto.jobid).ToList();
 
-             var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x => x.Mid == dto.moduleId).ToList();
 
-             if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
 
-             {
 
-                 return Ok(JsonView("暂无数据"));
 
-             }
 
-             //所有操作
 
-             var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>().ToList();
 
-             //获取所有关联页面
 
-             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
 
-             ArrayList viewData = new ArrayList();
 
-             //组合页面数据
 
-             foreach (var item in SystemMenuPermissionData)
 
-             {
 
-                 ArrayList ids = new ArrayList();
 
-                 foreach (var viewop in PageOperation)
 
-                 {
 
-                     var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
 
-                     if (op != null)
 
-                     {
 
-                         ids.Add(viewop.Id);
 
-                     }
 
-                 }
 
-                 //获取本职务的页面拥有的权限
 
-                 var DBwhere = DBdata.Where(x => x.SmId == item.Id && x.JpId == dto.jobid).ToList();
 
-                 viewData.Add(new
 
-                 {
 
-                     Id = item.Id,
 
-                     Mid = item.Mid,
 
-                     Name = item.Name,
 
-                     SystemMenuCode = item.SystemMenuCode,
 
-                     opList = ids,
 
-                     selList = DBwhere.Select(x => x.FId)
 
-                 });
 
-             }
 
-             return Ok(JsonView(200, "成功!", viewData));
 
-         }
 
-         /// <summary>
 
-         /// 保存岗位权限
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> SaveJobAuth(SaveJobDto dto)
 
-         {
 
-             //获取所有关联页面
 
-             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
 
-             var RemoveJobPostAuthList = _SystemMenuAndFunctionRepository._sqlSugar.SqlQueryable<Sys_JobPostAuthority>($@"
 
-                   select a.* from Sys_JobPostAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
 
-                   where a.SmId = c.Id and c.Mid = b.Id and JpId = {dto.Jpid} and  c.Mid ={dto.modulId} 
 
-             ").ToList();
 
-             List<Sys_JobPostAuthority> adds = new List<Sys_JobPostAuthority>();
 
-             foreach (var item in dto.Savejobs)
 
-             {
 
-                 foreach (var fid in item.FIds)
 
-                 {
 
-                     var whereobj = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.FId == fid && x.SmId == item.SmId);
 
-                     if (whereobj != null)
 
-                     {
 
-                         adds.Add(new Sys_JobPostAuthority
 
-                         {
 
-                             CreateTime = DateTime.Now,
 
-                             CreateUserId = dto.UserId,
 
-                             FId = fid,
 
-                             JpId = dto.Jpid,
 
-                             SmId = item.SmId
 
-                         });
 
-                     }
 
-                 }
 
-             }
 
-             _JobPostAuthorityRepository.BeginTran();
 
-             try
 
-             {   //删除岗位
 
-                 bool isdel = await _JobPostAuthorityRepository.DeletesAsync<Sys_JobPostAuthority>(RemoveJobPostAuthList);
 
-                 int UpRows = _JobPostAuthorityRepository.Adds<Sys_JobPostAuthority>(adds);
 
-                 //获取所有职位员工
 
-                 var jobUserAll = await QueryUserList(new UserDto { PortType = 2, JobPostId = dto.Jpid });
 
-                 List<UserInfoWebView> users = null;
 
-                 var QueryUserListApiResult = (((jobUserAll as OkObjectResult).Value) as OASystem.Domain.ViewModels.JsonView);
 
-                 if (QueryUserListApiResult != null)
 
-                 {
 
-                     if (QueryUserListApiResult.Code == 200)
 
-                     {
 
-                         users = QueryUserListApiResult.Data as List<UserInfoWebView>;
 
-                     }
 
-                 }
 
-                 if (users != null && users.Count > 0)
 
-                 {
 
-                     List<Sys_UserAuthority> userAuth = null;
 
-                     var uids = string.Join(',', users.Select(x => x.Id)).TrimEnd(',');
 
-                     var RemoveUserAuthorityListAndTemp = _UserAuthorityRepository._sqlSugar.SqlQueryable<Sys_UserAuthority>($@"
 
-                            select a.* from Sys_UserAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
 
-                            where a.SmId = c.Id and c.Mid = b.Id and uid in ({uids}) and  c.Mid = {dto.modulId} and IsTemp = 1                       
 
-                     ").ToList();
 
-                     foreach (var user in users)
 
-                     {
 
-                         //删除个人级岗位权限
 
-                         isdel = await _UserAuthorityRepository.DeletesAsync<Sys_UserAuthority>
 
-                             (RemoveUserAuthorityListAndTemp.FindAll(x => x.UId == user.Id));
 
-                         userAuth = adds.Select(x => new Sys_UserAuthority
 
-                         {
 
-                             CreateTime = DateTime.Now,
 
-                             CreateUserId = dto.UserId,
 
-                             FId = x.FId,
 
-                             SmId = x.SmId,
 
-                             UId = user.Id,
 
-                             IsTemp = 1,
 
-                         }).ToList();
 
-                         //添加个人级别岗位
 
-                         int AddRows = _UserAuthorityRepository.Adds<Sys_UserAuthority>(userAuth);
 
-                     }
 
-                 }
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 _JobPostAuthorityRepository.RollbackTran();
 
-                 return Ok(JsonView("系统错误!"));
 
-             }
 
-             _JobPostAuthorityRepository.CommitTran();
 
-             return Ok(JsonView(200, "成功", new { }));
 
-         }
 
-         /// <summary>
 
-         /// 获取员工权限
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public IActionResult QueryUserAuth(QueryUserAuthDto dto)
 
-         {
 
-             //选中的员工操作权限
 
-             var DBdata = _UserAuthorityRepository.QueryDto<Sys_UserAuthority, UserAuthorityView>(x => x.UId == dto.Userid).ToList();
 
-             var SystemMenuPermissionData = _SystemMenuPermissionRepository.QueryDto<Sys_SystemMenuPermission, SystemMenuPermissionView>(x => x.Mid == dto.moduleId).ToList();
 
-             if (SystemMenuPermissionData == null || SystemMenuPermissionData.Count() == 0)
 
-             {
 
-                 return Ok(JsonView("暂无数据"));
 
-             }
 
-             //所有操作
 
-             var PageOperation = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x => x.IsEnable == 1).ToList();
 
-             //获取所有关联页面
 
-             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
 
-             ArrayList viewData = new ArrayList();
 
-             //组合页面数据
 
-             foreach (var item in SystemMenuPermissionData)
 
-             {
 
-                 ArrayList ids = new ArrayList();
 
-                 foreach (var viewop in PageOperation)
 
-                 {
 
-                     var op = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.SmId == item.Id && x.FId == viewop.Id);
 
-                     if (op != null)
 
-                     {
 
-                         ids.Add(viewop.Id);
 
-                     }
 
-                 }
 
-                 //获取本员工拥有的权限
 
-                 var DBwhere = DBdata.Where(x => x.SmId == item.Id && x.UId == dto.Userid).ToList();
 
-                 viewData.Add(new
 
-                 {
 
-                     Id = item.Id,
 
-                     Mid = item.Mid,
 
-                     Name = item.Name,
 
-                     SystemMenuCode = item.SystemMenuCode,
 
-                     opList = ids,
 
-                     selList = DBwhere.Select(x => x.FId)
 
-                 });
 
-             }
 
-             return Ok(JsonView(200, "成功!", viewData));
 
-         }
 
-         /// <summary>
 
-         /// 根据Id获取员工所有移动端查看权限
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public IActionResult QueryUserAuthByUserId(QueryUserAuthByUserIdDto dto)
 
-         {
 
-             string sql = string.Format(@" Select sd1.Id as ModuleId,sd1.Name as ModuleName,sm.Id as MenuId,sm.Name as MenuName From Sys_UserAuthority as u With(Nolock) 
 
- Inner Join Sys_SystemMenuPermission as sm With(Nolock) On u.SmId = sm.Id
 
- Inner Join Sys_SetData as sd1 With(Nolock) On sm.Mid = sd1.Id
 
- Where u.IsDel = 0 And sm.IsDel = 0
 
- And u.UId = {0} And u.FId = 1 ", dto.UserId);
 
-             List<SystemModule_UserAuthSqlView> _dataSource = _sqlSugar.SqlQueryable<SystemModule_UserAuthSqlView>(sql).ToList();
 
-             List<SystemModule_UserAuthView> result = new List<SystemModule_UserAuthView>();
 
-             foreach (SystemModule_UserAuthSqlView item in _dataSource)
 
-             {
 
-                 if (result.FirstOrDefault(s => s.ModuleId == item.ModuleId) == null)
 
-                 {
 
-                     List<SystemModule_UserAuthSqlView> tempList = _dataSource.Where(s => s.ModuleId == item.ModuleId).ToList();
 
-                     List<SystemMenu_UserAuthView> menuList = new List<SystemMenu_UserAuthView>();
 
-                     foreach (SystemModule_UserAuthSqlView item2 in tempList)
 
-                     {
 
-                         SystemMenu_UserAuthView menu = new SystemMenu_UserAuthView() { MenuId = item2.MenuId, MenuName = item2.MenuName };
 
-                         menuList.Add(menu);
 
-                     }
 
-                     SystemModule_UserAuthView module = new SystemModule_UserAuthView() { MenuList = menuList, ModuleId = item.ModuleId, ModuleName = item.ModuleName };
 
-                     result.Add(module);
 
-                 }
 
-             }
 
-             return Ok(JsonView(200, "成功!", result));
 
-         }
 
-         /// <summary>
 
-         /// 保存员工权限
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> SaveUserAuth(SaveUserDto dto)
 
-         {
 
-             //获取所有关联页面
 
-             var Sys_SystemMenuAndFunction = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
 
-             //获取用户当前模块所有启用页面
 
-             var userpageList = _SystemMenuPermissionRepository._sqlSugar.SqlQueryable<Sys_UserAuthority>($@"
 
-                   select a.* from Sys_UserAuthority a, Sys_SetData b ,Sys_SystemMenuPermission c
 
-                     where a.SmId = c.Id and c.Mid = b.Id and uid = {dto.uid} and  c.Mid ={dto.Modulid} 
 
-             ").ToList();
 
-             List<Sys_UserAuthority> adds = new List<Sys_UserAuthority>();
 
-             foreach (var item in dto.Savejobs)
 
-             {
 
-                 foreach (var fid in item.FIds)
 
-                 {
 
-                     var whereobj = Sys_SystemMenuAndFunction.FirstOrDefault(x => x.FId == fid && x.SmId == item.SmId);
 
-                     if (whereobj != null)
 
-                     {
 
-                         adds.Add(new Sys_UserAuthority
 
-                         {
 
-                             CreateTime = DateTime.Now,
 
-                             CreateUserId = dto.UserId,
 
-                             FId = fid,
 
-                             UId = dto.uid,
 
-                             SmId = item.SmId,
 
-                             IsTemp = 0
 
-                         });
 
-                     }
 
-                 }
 
-             }
 
-             _JobPostAuthorityRepository.BeginTran();
 
-             try
 
-             {
 
-                 List<Sys_UserAuthority> userAuth = null;
 
-                 //删除个人级岗位权限
 
-                 bool isdel = await _UserAuthorityRepository.DeletesAsync<Sys_UserAuthority>(userpageList);
 
-                 userAuth = adds.Select(x => new Sys_UserAuthority
 
-                 {
 
-                     CreateTime = DateTime.Now,
 
-                     CreateUserId = dto.UserId,
 
-                     FId = x.FId,
 
-                     SmId = x.SmId,
 
-                     UId = dto.uid,
 
-                     IsTemp = 0,
 
-                 }).ToList();
 
-                 //添加个人级别岗位
 
-                 int AddRows = _UserAuthorityRepository.Adds<Sys_UserAuthority>(userAuth);
 
-             }
 
-             catch (Exception ex)
 
-             {
 
-                 _JobPostAuthorityRepository.RollbackTran();
 
-                 return Ok(JsonView("系统错误!"));
 
-             }
 
-             _JobPostAuthorityRepository.CommitTran();
 
-             return Ok(JsonView(200, "成功", new { }));
 
-         }
 
-         #endregion
 
-         #region 页面配置
 
-         /// <summary>
 
-         /// 页面配置界面数据初始化
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         //[Authorize]
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PageConfigInit()
 
-         {
 
-             ArrayList arr = new ArrayList();
 
-             var viewList = await _setDataRepository.GetSetDataAndPageInfoBySTId();
 
-             if (viewList.Code != 0)
 
-             {
 
-                 return Ok(JsonView(viewList.Msg));
 
-             }
 
-             var ModList = await _setDataRepository.GetSySDefultModule();
 
-             return Ok(JsonView(new
 
-             {
 
-                 viewList,
 
-                 ModList,
 
-             }));
 
-         }
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> EditPageInfo(SetDataAndPageInfoDto dto)
 
-         {
 
-             JsonView view = null;
 
-             _SystemMenuPermissionRepository.BeginTran();
 
-             var istrue = await _SystemMenuPermissionRepository.UpdateAsync(x => x.Id == dto.Pageid, x => new Sys_SystemMenuPermission
 
-             {
 
-                 AndroidUrl = dto.AndroidUrl,
 
-                 CreateTime = DateTime.Now,
 
-                 Icon = dto.Icon,
 
-                 IosUrl = dto.IosUrl,
 
-                 Name = dto.PageName,
 
-                 PhoneIsEnable = dto.PagePhoneIsEnable,
 
-                 CreateUserId = dto.UserId,
 
-                 IsDel = 0,
 
-                 IsEnable = dto.PageIsEnable,
 
-                 Mid = dto.Modulid,
 
-                 Remark = dto.PageRemark,
 
-                 SystemMenuCode = dto.SystemMenuCode,
 
-                 WebUrl = dto.WebUrl,
 
-             });
 
-             if (istrue)
 
-             {
 
-                 //删除页面绑定的操作后重新绑定
 
-                 await _SystemMenuAndFunctionRepository.DeleteAsync(x => x.SmId == dto.Pageid);
 
-                 List<Sys_SystemMenuAndFunction> binFun = new List<Sys_SystemMenuAndFunction>();
 
-                 foreach (var item in dto.FunArr)
 
-                 {
 
-                     binFun.Add(new Sys_SystemMenuAndFunction
 
-                     {
 
-                         CreateTime = DateTime.Now,
 
-                         CreateUserId = dto.UserId,
 
-                         FId = item,
 
-                         SmId = dto.Pageid,
 
-                         IsDel = 0,
 
-                     });
 
-                 }
 
-                 int number = _SystemMenuAndFunctionRepository.Adds<Sys_SystemMenuAndFunction>(binFun);
 
-                 view = JsonView(istrue);
 
-                 _SystemMenuPermissionRepository.CommitTran();
 
-             }
 
-             else
 
-             {
 
-                 _SystemMenuPermissionRepository.RollbackTran();
 
-                 view = JsonView("添加失败");
 
-             }
 
-             return Ok(view);
 
-         }
 
-         /// <summary>
 
-         /// 添加一个页面
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> AddPageInfo(SetDataAndPageInfoDto dto)
 
-         {
 
-             JsonView view = null;
 
-             _SystemMenuPermissionRepository.BeginTran();
 
-             int number = await _SystemMenuPermissionRepository.AddAsyncReturnId(new Sys_SystemMenuPermission
 
-             {
 
-                 AndroidUrl = dto.AndroidUrl,
 
-                 CreateTime = DateTime.Now,
 
-                 Icon = dto.Icon,
 
-                 IosUrl = dto.IosUrl,
 
-                 Name = dto.PageName,
 
-                 PhoneIsEnable = dto.PagePhoneIsEnable,
 
-                 CreateUserId = dto.UserId,
 
-                 IsDel = 0,
 
-                 IsEnable = dto.PageIsEnable,
 
-                 Mid = dto.Modulid,
 
-                 Remark = dto.PageRemark,
 
-                 SystemMenuCode = dto.SystemMenuCode,
 
-                 WebUrl = dto.WebUrl,
 
-             });
 
-             List<Sys_SystemMenuAndFunction> binFun = new List<Sys_SystemMenuAndFunction>();
 
-             foreach (var item in dto.FunArr)
 
-             {
 
-                 binFun.Add(new Sys_SystemMenuAndFunction
 
-                 {
 
-                     CreateTime = DateTime.Now,
 
-                     CreateUserId = dto.UserId,
 
-                     FId = item,
 
-                     SmId = number,
 
-                     IsDel = 0,
 
-                 });
 
-             }
 
-             number = _SystemMenuAndFunctionRepository.Adds<Sys_SystemMenuAndFunction>(binFun);
 
-             if (number > 0)
 
-             {
 
-                 view = JsonView(number);
 
-                 _SystemMenuPermissionRepository.CommitTran();
 
-             }
 
-             else
 
-             {
 
-                 _SystemMenuPermissionRepository.RollbackTran();
 
-                 view = JsonView("添加失败");
 
-             }
 
-             return Ok(view);
 
-         }
 
-         /// <summary>
 
-         /// 删除页面
 
-         /// </summary>
 
-         /// <param></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DelPageInfo(List<SystemMenuDelDto> Dto)
 
-         {
 
-             JsonView view = new JsonView();
 
-             if (Dto.Count > 0)
 
-             {
 
-                 try
 
-                 {
 
-                     _SystemMenuPermissionRepository.BeginTran();
 
-                     bool istrue = false;
 
-                     foreach (var item in Dto)
 
-                     {
 
-                         istrue = await _SystemMenuPermissionRepository.SoftDeleteAsync(item.Pageid.ToString());
 
-                         if (!istrue)
 
-                         {
 
-                             throw new Exception("修改失败");
 
-                         }
 
-                     }
 
-                     view.Code = 200;
 
-                     view.Msg = "删除成功!";
 
-                     view.Data = istrue;
 
-                     _SystemMenuPermissionRepository.CommitTran();
 
-                 }
 
-                 catch (Exception)
 
-                 {
 
-                     _SystemMenuPermissionRepository.RollbackTran();
 
-                 }
 
-             }
 
-             return Ok(JsonView(view));
 
-         }
 
-         /// <summary>
 
-         /// 获取页面绑定的操作
 
-         /// </summary>
 
-         /// <param name="Dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> QueryPageFunById(PageFunDto Dto)
 
-         {
 
-             //页面与操作关联表
 
-             var pageAndFunList = _SystemMenuAndFunctionRepository.QueryDto<Sys_SystemMenuAndFunction, SystemMenuAndFunctionView>().ToList();
 
-             //页面功能表
 
-             var pageFunList = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, Sys_PageFunctionPermission>(x => x.IsEnable == 1).ToList();
 
-             ArrayList arr = new ArrayList();
 
-             foreach (var item in pageFunList)
 
-             {
 
-                 var FindVal = pageAndFunList.Find(x => x.SmId == Dto.Pageid && x.FId == item.Id);
 
-                 if (FindVal == null)
 
-                 {
 
-                     arr.Add(new
 
-                     {
 
-                         id = item.Id,
 
-                         name = item.FunctionName,
 
-                         value = false
 
-                     });
 
-                 }
 
-                 else
 
-                 {
 
-                     arr.Add(new
 
-                     {
 
-                         id = item.Id,
 
-                         name = item.FunctionName,
 
-                         value = true
 
-                     });
 
-                 }
 
-             }
 
-             return Ok(JsonView(arr));
 
-         }
 
-         #endregion
 
-         #region 页面操作
 
-         /// <summary>
 
-         /// 操作权限功能表
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> PageFunInit()
 
-         {
 
-             var PageFunInit = _PageFunctionPermissionRepository.QueryDto<Sys_PageFunctionPermission, PageFunctionPermissionView>().ToList();
 
-             if (PageFunInit == null)
 
-             {
 
-                 return Ok(JsonView(false, "暂无数据!"));
 
-             }
 
-             return Ok(JsonView(true, "查询成功!", PageFunInit));
 
-         }
 
-         /// <summary>
 
-         /// 操作权限功能表操作(Status 1:添加,2:编辑)
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> OperationFun(OperationFunInitDta dto)
 
-         {
 
-             Result result = await _PageFunctionPermissionRepository.OperationFunInit(dto);
 
-             if (result.Code != 0)
 
-             {
 
-                 return Ok(JsonView(false, result.Msg));
 
-             }
 
-             return Ok(JsonView(true, result.Msg));
 
-         }
 
-         /// <summary>
 
-         /// 删除功能
 
-         /// </summary>
 
-         /// <param name="dto"></param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DelFun(DelFunInitDta dto)
 
-         {
 
-             var res = await _PageFunctionPermissionRepository.SoftDeleteByIdAsync<Sys_PageFunctionPermission>(dto.Id.ToString(), dto.DeleteUserId);
 
-             if (!res)
 
-             {
 
-                 return Ok(JsonView(false, "删除失败"));
 
-             }
 
-             return Ok(JsonView(true, "删除成功!"));
 
-         }
 
-         #endregion
 
-         #region 各部门首页消息提示
 
-         /// <summary>
 
-         /// 部门首页消息提示
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpGet("{portType}")]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DepartmentHomePageMessagePrompts(int portType)
 
-         {
 
-             var currUserInfo = JwtHelper.SerializeJwt(HttpContext.Request.Headers.Authorization);
 
-             if (currUserInfo == null) return Ok(JsonView(false, "请传入token!"));
 
-             var department = currUserInfo.Department;
 
-             if (portType < 1 || portType > 3) return Ok(JsonView(false, MsgTips.Port));
 
-             if (portType == 1 || portType == 2 || portType == 3) // web
 
-             {
 
-                 //固定查询时间(当前月的上月)
 
-                 var lastMoth = DateTime.Now.AddMonths(-1);
 
-                 var (startDate, endDate) = CommonFun.GetMonthStartAndEndDates(lastMoth.Year, lastMoth.Month);
 
-                 var startDateTime = Convert.ToDateTime(startDate.ToString("yyyy-MM-dd 00:00:00"));
 
-                 var endDateTime = Convert.ToDateTime(endDate.ToString("yyyy-MM-dd 23:59:59"));
 
-                 //固定查询时间(本年)
 
-                 var currStartDate = Convert.ToDateTime($"{DateTime.Now.Year}-01-01 00:00:00");
 
-                 var currEntDate = Convert.ToDateTime($"{DateTime.Now.Year}-12-31 23:59:59");
 
-                 if (department.Equals("总经办")) //总经办
 
-                 {
 
-                     //1、资料数据(市场部客户资源、op地接导游、op地接车数据、商邀数据、团组收款数据)数据提示Range(固定上个月) -- Add
 
-                     #region 市场部客户资源
 
-                     //1.1 市场部客户资源
 
-                     var users = await _sqlSugar.Queryable<Sys_Users>()
 
-                         .LeftJoin<Sys_Department>((u, d) => u.DepId == d.Id)
 
-                         .Where((u, d) => u.IsDel == 0 && (d.DepName.Contains("市场部") || u.Id == 21))
 
-                         .Select((u, d) => new { u.Id, u.CnName })
 
-                         .ToListAsync();
 
-                     var marketData = await _sqlSugar.Queryable<Crm_NewClientData>()
 
-                         .LeftJoin<Sys_Users>((ncd, u) => ncd.CreateUserId == u.Id)
 
-                         .Where((ncd, u) => ncd.IsDel == 0 && ncd.CreateTime >= startDateTime && ncd.CreateTime <= endDateTime)
 
-                         .Select((ncd, u) => new
 
-                         {
 
-                             Area = ncd.Location,
 
-                             ncd.Client,
 
-                             ncd.Contact,
 
-                             ncd.Job,
 
-                             Tel = ncd.Telephone,
 
-                             ncd.CreateUserId,
 
-                             CreatleUserName = u.CnName,
 
-                             ncd.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                     foreach (var item in marketData) EncryptionProcessor.DecryptProperties(item);
 
-                     var marketDataGroup = marketData.GroupBy(x => x.CreateUserId).Select(g => new { CreateUserId = g.Key, Items = g.ToList(), Count = g.Count() });
 
-                     var marketData2 = new List<dynamic>();
 
-                     foreach (var user in users)
 
-                     {
 
-                         var userMarketData = marketDataGroup.FirstOrDefault(x => user.Id == x.CreateUserId);
 
-                         if (userMarketData != null)
 
-                         {
 
-                             marketData2.Add(new
 
-                             {
 
-                                 uId = user.Id,
 
-                                 name = user.CnName,
 
-                                 count = userMarketData.Count,
 
-                                 msgTips = $"上月新增市场客户资源共{userMarketData.Count}条",
 
-                                 userMarketData = userMarketData.Items
 
-                             });
 
-                         }
 
-                         else
 
-                         {
 
-                             marketData2.Add(new
 
-                             {
 
-                                 uId = user.Id,
 
-                                 name = user.CnName,
 
-                                 count = 0,
 
-                                 msgTips = $"上月新增市场客户资源共{0}条",
 
-                                 userMarketData = new List<dynamic>() { },
 
-                             });
 
-                         }
 
-                     }
 
-                     var marketData1 = new
 
-                     {
 
-                         msgTips = $"上月新增市场客户资源共{marketData.Count}条",
 
-                         Data = marketData2,
 
-                     };
 
-                     #endregion
 
-                     #region op地接导游
 
-                     //1.2 op地接导游 
 
-                     var opTourGuideData = await _sqlSugar.Queryable<Res_LocalGuideData>()
 
-                         .LeftJoin<Sys_Users>((lgd, u) => lgd.CreateUserId == u.Id)
 
-                         .Where((lgd, u) => lgd.IsDel == 0 && lgd.CreateTime >= startDateTime && lgd.CreateTime <= endDateTime)
 
-                         .Select((lgd, u) => new
 
-                         {
 
-                             Area = lgd.UnitArea,
 
-                             Client = lgd.UnitName,
 
-                             lgd.Contact,
 
-                             Job = "",
 
-                             Tel = lgd.ContactTel,
 
-                             lgd.CreateUserId,
 
-                             CreatleUserName = u.CnName,
 
-                             lgd.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                     foreach (var item in opTourGuideData) EncryptionProcessor.DecryptProperties(item);
 
-                     var opTourGuideDataGroups = opTourGuideData.GroupBy(x => x.CreateUserId)
 
-                         .Select(g => new
 
-                         {
 
-                             uId = g.Key,
 
-                             name = g.ToList().FirstOrDefault()?.CreatleUserName ?? "-",
 
-                             msgTips = $"上月新增OP地接导游资源共{g.Count()}条",
 
-                             userTourGuideData = g.ToList(),
 
-                             Count = g.Count()
 
-                         });
 
-                     var opTourGuideData1 = new
 
-                     {
 
-                         msgTips = $"上月新增OP地接导游资源共{opTourGuideData.Count}条",
 
-                         Data = opTourGuideDataGroups,
 
-                     };
 
-                     #endregion
 
-                     #region op车数据
 
-                     //1.3 op车数据 
 
-                     var opCarData = await _sqlSugar.Queryable<Res_CarData>()
 
-                         .LeftJoin<Sys_Users>((cd, u) => cd.CreateUserId == u.Id)
 
-                         .Where((cd, u) => cd.IsDel == 0 && cd.CreateTime >= startDateTime && cd.CreateTime <= endDateTime)
 
-                         .Select((cd, u) => new CarDataMsgTipsView()
 
-                         {
 
-                             Area = cd.UnitArea,
 
-                             Client = cd.UnitName,
 
-                             Contact = cd.Contact,
 
-                             Job = "",
 
-                             Tel = cd.ContactTel,
 
-                             CreateUserId = cd.CreateUserId,
 
-                             CreatleUserName = u.CnName,
 
-                             CreateTime = cd.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                     foreach (var item in opCarData) EncryptionProcessor.DecryptProperties(item);
 
-                     var opCarDataGroups = opCarData.GroupBy(x => x.CreateUserId)
 
-                         .Select(g => new
 
-                         {
 
-                             uId = g.Key,
 
-                             name = g.ToList().FirstOrDefault()?.CreatleUserName ?? "-",
 
-                             msgTips = $"上月新增OP地接车资源共{g.Count()}条",
 
-                             userTourGuideData = g.ToList(),
 
-                             Count = g.Count()
 
-                         });
 
-                     var opCarData1 = new
 
-                     {
 
-                         msgTips = $"上月新增OP地接车资源共{opCarData.Count}条",
 
-                         Data = opCarDataGroups,
 
-                     };
 
-                     #endregion
 
-                     #region 商邀数据
 
-                     //1.4 商邀数据 
 
-                     var invitationData = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>()
 
-                         .LeftJoin<Sys_Users>((ioa, u) => ioa.CreateUserId == u.Id)
 
-                         .Where((ioa, u) => ioa.IsDel == 0 && ioa.CreateTime >= startDateTime && ioa.CreateTime <= endDateTime)
 
-                         .Select((ioa, u) => new
 
-                         {
 
-                             //Area = string.Format("{0}{1}", ioa.Country, !string.IsNullOrEmpty(ioa.City) ? "" : "-" + ioa.City),
 
-                             Area = string.Format("{0}{1}", ioa.Country, ioa.City),
 
-                             Client = ioa.UnitName,
 
-                             ioa.Contact,
 
-                             ioa.Job,
 
-                             ioa.Tel,
 
-                             ioa.CreateUserId,
 
-                             CreatleUserName = u.CnName,
 
-                             ioa.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                     var invitationGroups = invitationData.GroupBy(x => x.CreateUserId)
 
-                         .Select(g => new
 
-                         {
 
-                             uId = g.Key,
 
-                             name = g.ToList().FirstOrDefault()?.CreatleUserName ?? "-",
 
-                             msgTips = $"上月新增商邀资源共{g.Count()}条",
 
-                             userTourGuideData = g.ToList(),
 
-                             Count = g.Count()
 
-                         });
 
-                     var invitationData1 = new
 
-                     {
 
-                         msgTips = $"上月新增商邀资源共{invitationData.Count}条",
 
-                         Data = invitationGroups,
 
-                     };
 
-                     #endregion
 
-                     #region 团组收款数据
 
-                     //1.5 团组收款数据  
 
-                     var groupCollectionData = await _sqlSugar.Queryable<Fin_ForeignReceivables>()
 
-                         .LeftJoin<Sys_Users>((fr, u) => fr.CreateUserId == u.Id)
 
-                         .LeftJoin<Grp_DelegationInfo>((fr, u, di) => fr.Diid == di.Id)
 
-                         .LeftJoin<Sys_SetData>((fr, u, di, sd) => fr.Currency == sd.Id)
 
-                         .Where((fr, u, di, sd) => fr.IsDel == 0 && fr.CreateTime >= startDateTime && fr.CreateTime <= endDateTime)
 
-                         .Select((fr, u, di, sd) => new
 
-                         {
 
-                             fr.PriceName,
 
-                             fr.Price,
 
-                             fr.Count,
 
-                             fr.Unit,
 
-                             fr.ItemSumPrice,
 
-                             Currency = sd.Name,
 
-                             GroupName = di.TeamName,
 
-                             fr.CreateUserId,
 
-                             CreateUserName = u.CnName,
 
-                             fr.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                     var groupCollectionGroups = groupCollectionData.GroupBy(x => x.CreateUserId)
 
-                         .Select(g => new
 
-                         {
 
-                             uId = g.Key,
 
-                             name = g.ToList().FirstOrDefault()?.CreateUserName ?? "-",
 
-                             msgTips = $"上月累计团组收款共{g.Count()}条",
 
-                             userTourGuideData = g.ToList(),
 
-                             Count = g.Count()
 
-                         });
 
-                     var groupCollectionData2 = new
 
-                     {
 
-                         msgTips = $"上月累计团组收款共{groupCollectionData.Count}条",
 
-                         Data = groupCollectionGroups,
 
-                     };
 
-                     #endregion
 
-                     var materialData = new
 
-                     {
 
-                         marketData = marketData1,
 
-                         opTourGuideData = opTourGuideData1,
 
-                         opCarData = opCarData1,
 
-                         invitationData = invitationData1,
 
-                         groupCollectionData = groupCollectionData2
 
-                     };
 
-                     //2、费用未审核(日付申请未审核数据、团组费用未审核数据)费用提示Range(固定本年)
 
-                     #region 日付申请未审核数据
 
-                     var dailyPaymentData = await _sqlSugar.Queryable<Fin_DailyFeePayment>()
 
-                                                  .LeftJoin<Sys_Users>((dfp, u) => dfp.CreateUserId == u.Id)
 
-                                                  .Where(dfp => dfp.IsDel == 0 &&
 
-                                                                dfp.MAudit == 0 &&
 
-                                                                dfp.CreateTime >= currStartDate &&
 
-                                                                dfp.CreateTime <= currEntDate
 
-                                                        )
 
-                                                  .OrderBy(dfp => dfp.CreateTime, OrderByType.Desc)
 
-                                                  //.OrderBy(dfp => dfp.FAudit, OrderByType.Desc)
 
-                                                  .Select((dfp, u) => new
 
-                                                  {
 
-                                                      id = dfp.Id,
 
-                                                      amountName = dfp.Instructions,
 
-                                                      amount = dfp.SumPrice,
 
-                                                      fAuditStatus = dfp.FAudit == 1 ? "审核通过" :
 
-                                                                     dfp.FAudit == 2 ? "审核未通过" : "未审核",
 
-                                                      fAuditDate = dfp.FAuditDate,
 
-                                                      dfp.CreateUserId,
 
-                                                      CreateUserName = u.CnName,
 
-                                                      dfp.CreateTime
 
-                                                  })
 
-                                                  .ToListAsync();
 
-                     var dailyPaymentGroups = dailyPaymentData.GroupBy(x => x.CreateUserId)
 
-                         .Select(g => new
 
-                         {
 
-                             uId = g.Key,
 
-                             name = g.ToList().FirstOrDefault()?.CreateUserName ?? "-",
 
-                             msgTips = $"本年有{g.Count()}条未审核日常付款申请条",
 
-                             userTourGuideData = g.ToList(),
 
-                             Count = g.Count()
 
-                         });
 
-                     var dailyPaymentData1 = new
 
-                     {
 
-                         msgTips = $"本年有{dailyPaymentData.Count()}条未审核日常付款申请条",
 
-                         Data = dailyPaymentGroups,
 
-                     };
 
-                     #endregion
 
-                     #region 团组费用未审核数据
 
-                     var groupPaymentData = await _sqlSugar.Queryable<Grp_CreditCardPayment>()
 
-                         .LeftJoin<Grp_DelegationInfo>((ccp, di) => ccp.DIId == di.Id)
 
-                         .Where((ccp, di) => ccp.IsDel == 0 &&
 
-                                             ccp.IsAuditGM == 0 &&
 
-                                             ccp.CreateTime >= currStartDate &&
 
-                                             ccp.CreateTime <= currEntDate
 
-                               )
 
-                         .Select((ccp, di) => new
 
-                         {
 
-                             ccp.Id,
 
-                             ccp.DIId,
 
-                             GroupName = di.TeamName,
 
-                             ccp.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                     var groupPaymentGroups = groupPaymentData.GroupBy(x => x.DIId)
 
-                        .Select(g => new
 
-                        {
 
-                            uId = g.Key,
 
-                            name = g.ToList().FirstOrDefault()?.GroupName ?? "-",
 
-                            msgTips = $"本年有{g.Count()}条未审核团组费用申请条",
 
-                            userTourGuideData = g.ToList(),
 
-                            Count = g.Count()
 
-                        });
 
-                     var groupPaymentData1 = new
 
-                     {
 
-                         msgTips = $"本年有{groupPaymentData.Count()}条未审核团组费用申请条",
 
-                         Data = groupPaymentGroups,
 
-                     };
 
-                     #endregion
 
-                     var feeUnAuditData = new
 
-                     {
 
-                         dailyPaymentData = dailyPaymentData1,
 
-                         groupPaymentData = groupPaymentData1
 
-                     };
 
-                     return Ok(JsonView(new { materialData = materialData, feeUnAuditData = feeUnAuditData }));
 
-                 }
 
-                 else if (department.Equals("国交部"))//国交部
 
-                 {
 
-                     #region 团组费用录入提示
 
-                     /*
 
-                      * 名称:团组费用录入提示
 
-                      * 描述:团组费用录入提醒(根据团组结束时间 - 3天 如果对应的数据表里没有这个团组的费用信息)
 
-                      * 条件:时间范围不限制、 根据团组结束时间 - 3天 == 当前天数
 
-                      */
 
-                     var groupModlue = new List<int>() {
 
-                         76,  //酒店预订
 
-                         79,  //车/导游地接
 
-                         80,  //签证
 
-                         81,  //邀请/公务活动
 
-                         //82,  //团组客户保险
 
-                         85,  //机票预订
 
-                         98,  //其他款项
 
-                         //285 ,//收款退还
 
-                         //1015,//超支费用
 
-                     };
 
-                     var crrDate = DateTime.Now.ToString("yyyy-MM-dd");
 
-                     var groupModlueData = await _sqlSugar.Queryable<Sys_SetData>().Where(x => groupModlue.Contains(x.Id)).ToListAsync();
 
-                     var groupFeeData = await _sqlSugar.Queryable<Sys_SetData>()
 
-                         .LeftJoin<Grp_CreditCardPayment>((sd, ccp) => sd.Id == ccp.CTable)
 
-                         .LeftJoin<Grp_DelegationInfo>((sd, ccp, di) => ccp.DIId == di.Id)
 
-                         .Where((sd, ccp, di) => ccp.IsDel == 0 &&
 
-                                                 di.IsDel == 0 &&
 
-                                                 groupModlue.Contains(ccp.CTable) &&
 
-                                                 di.VisitEndDate.AddDays(-3).ToString("yyyy-MM-dd").Equals(crrDate)
 
-                          )
 
-                         .GroupBy((sd, ccp, di) => new { di.Id, di.TeamName, ccp.CTable, sd.Name }) //可以多字段
 
-                         .Select((sd, ccp, di) => new
 
-                         {
 
-                             diId = di.Id,
 
-                             groupName = di.TeamName,
 
-                             groupType = ccp.CTable,
 
-                             groupTypeName = sd.Name,
 
-                             //userId = ccp.CreateUserId,
 
-                             count = SqlFunc.AggregateCount(ccp.CTable),
 
-                         })
 
-                         .ToListAsync();
 
-                     var groupFeeData1 = groupFeeData.GroupBy(x => x.diId);
 
-                     var groupNotFilledFeeData = new List<dynamic>();
 
-                     foreach (var groupFee in groupFeeData1)
 
-                     {
 
-                         var diId = groupFee.Key;
 
-                         var addData = groupFeeData.Where(x => x.diId == diId).Select(x => x.groupType).ToList();
 
-                         if (addData.Count < 1) continue;
 
-                         var unAddData = groupModlue.Except(addData).ToList();
 
-                         if (unAddData.Count < 1) continue;
 
-                         foreach (var typeId in unAddData)
 
-                         {
 
-                             groupNotFilledFeeData.Add(new
 
-                             {
 
-                                 diId = diId,
 
-                                 groupName = groupFee.FirstOrDefault()?.groupName ?? "-",
 
-                                 groupType = typeId,
 
-                                 groupTypeName = groupModlueData.Find(x => x.Id == typeId)?.Name ?? "-",
 
-                                 count = 0
 
-                             });
 
-                         }
 
-                     }
 
-                     #endregion
 
-                     #region 日付申请 -- 未审核数据
 
-                     var depUserData = await _sqlSugar.Queryable<Sys_Users>()
 
-                         .LeftJoin<Sys_Department>((u, d) => u.DepId == d.Id)
 
-                         .LeftJoin<Sys_JobPost>((u, d, jp) => u.JobPostId == jp.Id)
 
-                         .Where((u, d, jp) => u.IsDel == 0 && d.DepName.Contains("国交部"))
 
-                         .Select((u, d, jp) => new
 
-                         {
 
-                             u.Id,
 
-                             u.CnName,
 
-                             u.DepId,
 
-                             d.DepName,
 
-                             u.JobPostId,
 
-                             jp.JobName
 
-                         })
 
-                         .ToListAsync();
 
-                     var depUserData1 = depUserData.Select(x => x.Id).ToList();
 
-                     var unAuditDailyFeeData = await _sqlSugar.Queryable<Fin_DailyFeePayment>()
 
-                         .LeftJoin<Sys_Users>((dfp, u) => dfp.CreateUserId == u.Id)
 
-                         .Where((dfp, u) => dfp.IsDel == 0 &&
 
-                                            depUserData1.Contains(dfp.CreateUserId) &&
 
-                                            dfp.MAudit == 0 &&
 
-                                            dfp.CreateTime >= currStartDate &&
 
-                                            dfp.CreateTime <= currEntDate
 
-                          )
 
-                         .Select((dfp, u) => new
 
-                         {
 
-                             id = dfp.Id,
 
-                             amountName = dfp.Instructions,
 
-                             amount = dfp.SumPrice,
 
-                             fAuditStatus = dfp.FAudit == 1 ? "审核通过" :
 
-                                            dfp.FAudit == 2 ? "审核未通过" : "未审核",
 
-                             fAuditDate = dfp.FAuditDate,
 
-                             dfp.CreateUserId,
 
-                             CreateUserName = u.CnName,
 
-                             dfp.CreateTime
 
-                         })
 
-                         .ToArrayAsync();
 
-                     #endregion
 
-                     var jobs = new List<string>() { "经理", "主管" };
 
-                     if (jobs.Contains(currUserInfo.Role)) //经理、主管
 
-                     {
 
-                         #region 经理、主管
 
-                         //经理、主管(部门下所有人员) --> 日付(-:未审核提示)、团组费用录入提醒(根据团组结束时间-3天 如果对应的数据表里没有这个团组的费用信息)
 
-                         var dailyPaymentData = new
 
-                         {
 
-                             msgTips = $"本年有{unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                             Data = new
 
-                             {
 
-                                 uId = currUserInfo.UserId,
 
-                                 name = currUserInfo.UserName,
 
-                                 msgTips = $"本年有{unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                                 userTourGuideData = unAuditDailyFeeData,
 
-                                 Count = unAuditDailyFeeData.Count()
 
-                             }
 
-                         };
 
-                         var groupNotFilledFeeDataAll = groupNotFilledFeeData
 
-                             .GroupBy(x => x.diId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.groupName ?? "-",
 
-                                 msgTips = $"-",
 
-                                 hotelFeeData = g.Select(x1 => new
 
-                                 {
 
-                                     x1.groupType,
 
-                                     x1.groupTypeName
 
-                                 }).ToList(),
 
-                                 Count = g.Count()
 
-                             })
 
-                             .ToList();
 
-                         var groupNotFillEdFeeData1 = new
 
-                         {
 
-                             msgTips = $"今天有{groupNotFilledFeeDataAll.Count()}个团组费用未填写",
 
-                             Data = groupNotFilledFeeDataAll,
 
-                         };
 
-                         #endregion
 
-                         return Ok(JsonView(new { groupNotFillEdFeeData = groupNotFillEdFeeData1, dailyPaymentData = dailyPaymentData }));
 
-                     }
 
-                     else if (currUserInfo.Role.Equals("计调"))//计调
 
-                     {
 
-                         #region 计调
 
-                         //计调(myself) --> 暂定
 
-                         return Ok(JsonView(false, "国交部-->计调岗位消息提示正在开发中......"));
 
-                         #endregion
 
-                     }
 
-                     else if (currUserInfo.Role.Equals("机票"))//机票
 
-                     {
 
-                         #region 机票
 
-                         //机票(myself) --> 日付(-:未审核提示)、机票费用(-:未录入提示)
 
-                         var airTicket_unAuditDailyFeeData = unAuditDailyFeeData.Where(x => x.CreateUserId == currUserInfo.UserId).ToList();
 
-                         var dailyPaymentData = new
 
-                         {
 
-                             msgTips = $"本年有{airTicket_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                             Data = new
 
-                             {
 
-                                 uId = currUserInfo.UserId,
 
-                                 name = currUserInfo.UserName,
 
-                                 msgTips = $"本年有{airTicket_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                                 userTourGuideData = airTicket_unAuditDailyFeeData,
 
-                                 Count = airTicket_unAuditDailyFeeData.Count()
 
-                             }
 
-                         };
 
-                         var airTicket_groupNotFilledData = groupNotFilledFeeData
 
-                             .Where(x => x.groupType == 85)
 
-                             .GroupBy(x => x.diId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.groupName ?? "-",
 
-                                 msgTips = $"-",
 
-                                 airTicketFeeData = g.Select(x1 => new
 
-                                 {
 
-                                     x1.groupType,
 
-                                     x1.groupTypeName
 
-                                 }).ToList(),
 
-                                 Count = g.Count()
 
-                             })
 
-                             .ToList();
 
-                         var groupNotFillEdFeeData1 = new
 
-                         {
 
-                             msgTips = $"今天有{airTicket_groupNotFilledData.Count()}个团组费用未填写",
 
-                             Data = airTicket_groupNotFilledData,
 
-                         };
 
-                         #endregion
 
-                         return Ok(JsonView(new { groupNotFillEdFeeData = groupNotFillEdFeeData1, dailyPaymentData = dailyPaymentData }));
 
-                     }
 
-                     else if (currUserInfo.Role.Equals("酒店"))//酒店
 
-                     {
 
-                         #region 酒店
 
-                         //酒店(myself) --> 日付(-:未审核提示)、酒店费用(-:未录入提示)
 
-                         var hotle_unAuditDailyFeeData = unAuditDailyFeeData.Where(x => x.CreateUserId == currUserInfo.UserId).ToList();
 
-                         var dailyPaymentData = new
 
-                         {
 
-                             msgTips = $"本年有{hotle_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                             Data = new
 
-                             {
 
-                                 uId = currUserInfo.UserId,
 
-                                 name = currUserInfo.UserName,
 
-                                 msgTips = $"本年有{hotle_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                                 hotelFeeData = hotle_unAuditDailyFeeData,
 
-                                 Count = hotle_unAuditDailyFeeData.Count()
 
-                             }
 
-                         };
 
-                         var hotel_groupNotFilledData = groupNotFilledFeeData
 
-                             .Where(x => x.groupType == 76)
 
-                             .GroupBy(x => x.diId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.groupName ?? "-",
 
-                                 msgTips = $"-",
 
-                                 hotelFeeData = g.Select(x1 => new
 
-                                 {
 
-                                     x1.groupType,
 
-                                     x1.groupTypeName
 
-                                 }).ToList(),
 
-                                 Count = g.Count()
 
-                             })
 
-                             .ToList();
 
-                         var groupNotFillEdFeeData1 = new
 
-                         {
 
-                             msgTips = $"今天有{hotel_groupNotFilledData.Count()}个团组费用未填写",
 
-                             Data = hotel_groupNotFilledData,
 
-                         };
 
-                         #endregion
 
-                         return Ok(JsonView(new { groupNotFillEdFeeData = groupNotFillEdFeeData1, dailyPaymentData = dailyPaymentData }));
 
-                     }
 
-                     else if (currUserInfo.Role.Equals("签证"))//签证
 
-                     {
 
-                         #region 签证
 
-                         //签证(myself) --> 日付(-:未审核提示)、签证费用(-:未录入提示)
 
-                         var visa_unAuditDailyFeeData = unAuditDailyFeeData.Where(x => x.CreateUserId == currUserInfo.UserId).ToList();
 
-                         var dailyPaymentData = new
 
-                         {
 
-                             msgTips = $"本年有{visa_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                             Data = new
 
-                             {
 
-                                 uId = currUserInfo.UserId,
 
-                                 name = currUserInfo.UserName,
 
-                                 msgTips = $"本年有{visa_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                                 visaFeeData = visa_unAuditDailyFeeData,
 
-                                 Count = visa_unAuditDailyFeeData.Count()
 
-                             }
 
-                         };
 
-                         var visa_groupNotFilledData = groupNotFilledFeeData
 
-                             .Where(x => x.groupType == 80)
 
-                             .GroupBy(x => x.diId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.groupName ?? "-",
 
-                                 msgTips = $"-",
 
-                                 airTicketFeeData = g.Select(x1 => new
 
-                                 {
 
-                                     x1.groupType,
 
-                                     x1.groupTypeName
 
-                                 }).ToList(),
 
-                                 Count = g.Count()
 
-                             })
 
-                             .ToList();
 
-                         var groupNotFillEdFeeData1 = new
 
-                         {
 
-                             msgTips = $"今天有{visa_groupNotFilledData.Count()}个团组费用未填写",
 
-                             Data = visa_groupNotFilledData,
 
-                         };
 
-                         #endregion
 
-                         return Ok(JsonView(new { groupNotFillEdFeeData = groupNotFillEdFeeData1, dailyPaymentData = dailyPaymentData }));
 
-                     }
 
-                     else if (currUserInfo.Role.Equals("商邀"))//商邀
 
-                     {
 
-                         #region 商邀
 
-                         //商邀(myself) --> 日付(-:未审核提示)、商邀费用(-:未录入提示)、(公务、翻译人)(-:新增提示)
 
-                         //日付
 
-                         var in_unAuditDailyFeeData = unAuditDailyFeeData.Where(x => x.CreateUserId == currUserInfo.UserId).ToList();
 
-                         var dailyPaymentData = new
 
-                         {
 
-                             msgTips = $"本年有{in_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                             Data = new
 
-                             {
 
-                                 uId = currUserInfo.UserId,
 
-                                 name = currUserInfo.UserName,
 
-                                 msgTips = $"本年有{in_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                                 visaFeeData = in_unAuditDailyFeeData,
 
-                                 Count = in_unAuditDailyFeeData.Count()
 
-                             }
 
-                         };
 
-                         //团组未录入费用
 
-                         var in_groupNotFilledData = groupNotFilledFeeData
 
-                             .Where(x => x.groupType == 81)
 
-                             .GroupBy(x => x.diId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.groupName ?? "-",
 
-                                 msgTips = $"-",
 
-                                 airTicketFeeData = g.Select(x1 => new
 
-                                 {
 
-                                     x1.groupType,
 
-                                     x1.groupTypeName
 
-                                 }).ToList(),
 
-                                 Count = g.Count()
 
-                             })
 
-                             .ToList();
 
-                         var groupNotFillEdFeeData1 = new
 
-                         {
 
-                             msgTips = $"今天有{in_groupNotFilledData.Count()}个团组费用未填写",
 
-                             Data = in_groupNotFilledData,
 
-                         };
 
-                         //商邀 - 基础数据
 
-                         var invitationData = await _sqlSugar.Queryable<Res_InvitationOfficialActivityData>()
 
-                         .LeftJoin<Sys_Users>((ioa, u) => ioa.CreateUserId == u.Id)
 
-                         .Where((ioa, u) => ioa.IsDel == 0 && ioa.CreateTime >= startDateTime && ioa.CreateTime <= endDateTime)
 
-                         .Select((ioa, u) => new
 
-                         {
 
-                             //Area = string.Format("{0}{1}", ioa.Country, !string.IsNullOrEmpty(ioa.City) ? "" : "-" + ioa.City),
 
-                             Area = string.Format("{0}{1}", ioa.Country, ioa.City),
 
-                             Client = ioa.UnitName,
 
-                             ioa.Contact,
 
-                             ioa.Job,
 
-                             ioa.Tel,
 
-                             ioa.CreateUserId,
 
-                             CreatleUserName = u.CnName,
 
-                             ioa.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                         var invitationGroups = invitationData.GroupBy(x => x.CreateUserId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.CreatleUserName ?? "-",
 
-                                 msgTips = $"上月新增商邀资源共{g.Count()}条",
 
-                                 userTourGuideData = g.ToList(),
 
-                                 Count = g.Count()
 
-                             });
 
-                         var invitationData1 = new
 
-                         {
 
-                             msgTips = $"上月新增商邀资源共{invitationData.Count}条",
 
-                             Data = invitationGroups,
 
-                         };
 
-                         #endregion
 
-                         return Ok(JsonView(new { groupNotFillEdFeeData = groupNotFillEdFeeData1, dailyPaymentData = dailyPaymentData, invitationData = invitationData }));
 
-                     }
 
-                     else if (currUserInfo.Role.Equals("OP"))//OP
 
-                     {
 
-                         #region OP
 
-                         //OP(myself) --> 日付(-:未审核提示)、OP费用(-:未录入提示)、(导游、车)资源信息(-:新增提示)
 
-                         //日付
 
-                         var in_unAuditDailyFeeData = unAuditDailyFeeData.Where(x => x.CreateUserId == currUserInfo.UserId).ToList();
 
-                         var dailyPaymentData = new
 
-                         {
 
-                             msgTips = $"本年有{in_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                             Data = new
 
-                             {
 
-                                 uId = currUserInfo.UserId,
 
-                                 name = currUserInfo.UserName,
 
-                                 msgTips = $"本年有{in_unAuditDailyFeeData.Count()}条未审核日常付款申请条",
 
-                                 visaFeeData = in_unAuditDailyFeeData,
 
-                                 Count = in_unAuditDailyFeeData.Count()
 
-                             }
 
-                         };
 
-                         //OP - 团组未录入费用
 
-                         var in_groupNotFilledData = groupNotFilledFeeData
 
-                             .Where(x => x.groupType == 79)
 
-                             .GroupBy(x => x.diId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.groupName ?? "-",
 
-                                 msgTips = $"-",
 
-                                 airTicketFeeData = g.Select(x1 => new
 
-                                 {
 
-                                     x1.groupType,
 
-                                     x1.groupTypeName
 
-                                 }).ToList(),
 
-                                 Count = g.Count()
 
-                             })
 
-                             .ToList();
 
-                         var groupNotFillEdFeeData1 = new
 
-                         {
 
-                             msgTips = $"今天有{in_groupNotFilledData.Count()}个团组费用未填写",
 
-                             Data = in_groupNotFilledData,
 
-                         };
 
-                         #region op地接导游
 
-                         //1.2 op地接导游 
 
-                         var opTourGuideData = await _sqlSugar.Queryable<Res_LocalGuideData>()
 
-                             .LeftJoin<Sys_Users>((lgd, u) => lgd.CreateUserId == u.Id)
 
-                             .Where((lgd, u) => lgd.IsDel == 0 && lgd.CreateTime >= startDateTime && lgd.CreateTime <= endDateTime)
 
-                             .Select((lgd, u) => new
 
-                             {
 
-                                 Area = lgd.UnitArea,
 
-                                 Client = lgd.UnitName,
 
-                                 lgd.Contact,
 
-                                 Job = "",
 
-                                 Tel = lgd.ContactTel,
 
-                                 lgd.CreateUserId,
 
-                                 CreatleUserName = u.CnName,
 
-                                 lgd.CreateTime,
 
-                             })
 
-                             .ToListAsync();
 
-                         foreach (var item in opTourGuideData) EncryptionProcessor.DecryptProperties(item);
 
-                         var opTourGuideDataGroups = opTourGuideData.GroupBy(x => x.CreateUserId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.CreatleUserName ?? "-",
 
-                                 msgTips = $"上月新增OP地接导游资源共{g.Count()}条",
 
-                                 userTourGuideData = g.ToList(),
 
-                                 Count = g.Count()
 
-                             });
 
-                         var opTourGuideData1 = new
 
-                         {
 
-                             msgTips = $"上月新增OP地接导游资源共{opTourGuideData.Count}条",
 
-                             Data = opTourGuideDataGroups,
 
-                         };
 
-                         #endregion
 
-                         #region op车数据
 
-                         //1.3 op车数据 
 
-                         var opCarData = await _sqlSugar.Queryable<Res_CarData>()
 
-                             .LeftJoin<Sys_Users>((cd, u) => cd.CreateUserId == u.Id)
 
-                             .Where((cd, u) => cd.IsDel == 0 && cd.CreateTime >= startDateTime && cd.CreateTime <= endDateTime)
 
-                             .Select((cd, u) => new
 
-                             {
 
-                                 Area = cd.UnitArea,
 
-                                 Client = cd.UnitName,
 
-                                 cd.Contact,
 
-                                 Job = "",
 
-                                 Tel = cd.ContactTel,
 
-                                 cd.CreateUserId,
 
-                                 CreatleUserName = u.CnName,
 
-                                 cd.CreateTime,
 
-                             })
 
-                             .ToListAsync();
 
-                         var opCarDataGroups = opCarData.GroupBy(x => x.CreateUserId)
 
-                             .Select(g => new
 
-                             {
 
-                                 uId = g.Key,
 
-                                 name = g.ToList().FirstOrDefault()?.CreatleUserName ?? "-",
 
-                                 msgTips = $"上月新增OP地接车资源共{g.Count()}条",
 
-                                 userTourGuideData = g.ToList(),
 
-                                 Count = g.Count()
 
-                             });
 
-                         var opCarData1 = new
 
-                         {
 
-                             msgTips = $"上月新增OP地接车资源共{opCarData.Count}条",
 
-                             Data = opCarDataGroups,
 
-                         };
 
-                         #endregion
 
-                         #endregion
 
-                         return Ok(JsonView(new
 
-                         {
 
-                             groupNotFillEdFeeData = groupNotFillEdFeeData1,
 
-                             dailyPaymentData = dailyPaymentData,
 
-                             CarData = opCarData1,
 
-                             TourGuideData = opTourGuideData
 
-                         }));
 
-                     }
 
-                     return Ok(JsonView(false, "国交部消息提示正在开发中......"));
 
-                 }
 
-                 else if (department.Equals("财务部"))//总经办
 
-                 {
 
-                     #region 团组收款数据
 
-                     var groupCollectionData = await _sqlSugar.Queryable<Fin_ForeignReceivables>()
 
-                         .LeftJoin<Sys_Users>((fr, u) => fr.CreateUserId == u.Id)
 
-                         .LeftJoin<Grp_DelegationInfo>((fr, u, di) => fr.Diid == di.Id)
 
-                         .LeftJoin<Sys_SetData>((fr, u, di, sd) => fr.Currency == sd.Id)
 
-                         .Where((fr, u, di, sd) => fr.IsDel == 0 && fr.CreateTime >= startDateTime && fr.CreateTime <= endDateTime)
 
-                         .Select((fr, u, di, sd) => new
 
-                         {
 
-                             fr.PriceName,
 
-                             fr.Price,
 
-                             fr.Count,
 
-                             fr.Unit,
 
-                             fr.ItemSumPrice,
 
-                             Currency = sd.Name,
 
-                             GroupName = di.TeamName,
 
-                             fr.CreateUserId,
 
-                             CreateUserName = u.CnName,
 
-                             fr.CreateTime,
 
-                         })
 
-                         .ToListAsync();
 
-                     var groupCollectionGroups = groupCollectionData.GroupBy(x => x.CreateUserId)
 
-                         .Select(g => new
 
-                         {
 
-                             uId = g.Key,
 
-                             name = g.ToList().FirstOrDefault()?.CreateUserName ?? "-",
 
-                             msgTips = $"上月累计团组收款共{g.Count()}条",
 
-                             userTourGuideData = g.ToList(),
 
-                             Count = g.Count()
 
-                         });
 
-                     var groupCollectionData1 = new
 
-                     {
 
-                         msgTips = $"上月累计团组收款共{groupCollectionData.Count}条",
 
-                         Data = groupCollectionGroups,
 
-                     };
 
-                     #endregion
 
-                     #region 日付申请未审核数据
 
-                     var dailyPaymentData = await _sqlSugar.Queryable<Fin_DailyFeePayment>()
 
-                                                  .LeftJoin<Sys_Users>((dfp, u) => dfp.CreateUserId == u.Id)
 
-                                                  .Where(dfp => dfp.IsDel == 0 &&
 
-                                                                dfp.MAudit == 0 &&
 
-                                                                dfp.CreateTime >= currStartDate &&
 
-                                                                dfp.CreateTime <= currEntDate
 
-                                                        )
 
-                                                  .OrderBy(dfp => dfp.CreateTime, OrderByType.Desc)
 
-                                                  //.OrderBy(dfp => dfp.FAudit, OrderByType.Desc)
 
-                                                  .Select((dfp, u) => new
 
-                                                  {
 
-                                                      id = dfp.Id,
 
-                                                      amountName = dfp.Instructions,
 
-                                                      amount = dfp.SumPrice,
 
-                                                      fAuditStatus = dfp.FAudit == 1 ? "审核通过" :
 
-                                                                     dfp.FAudit == 2 ? "审核未通过" : "未审核",
 
-                                                      fAuditDate = dfp.FAuditDate,
 
-                                                      dfp.CreateUserId,
 
-                                                      CreateUserName = u.CnName,
 
-                                                      dfp.CreateTime
 
-                                                  })
 
-                                                  .ToListAsync();
 
-                     var dailyPaymentGroups = dailyPaymentData.GroupBy(x => x.CreateUserId)
 
-                         .Select(g => new
 
-                         {
 
-                             uId = g.Key,
 
-                             name = g.ToList().FirstOrDefault()?.CreateUserName ?? "-",
 
-                             msgTips = $"本年有{g.Count()}条未审核日常付款申请条",
 
-                             userTourGuideData = g.ToList(),
 
-                             Count = g.Count()
 
-                         });
 
-                     var dailyPaymentData1 = new
 
-                     {
 
-                         msgTips = $"本年有{dailyPaymentData.Count()}条未审核日常付款申请条",
 
-                         Data = dailyPaymentGroups,
 
-                     };
 
-                     #endregion
 
-                     return Ok(JsonView(new { groupCollectionData = groupCollectionData1, dailyPaymentData = dailyPaymentData1 }));
 
-                 }
 
-                 return Ok(JsonView(false, "其余部门消息提示正在开发者中......"));
 
-             }
 
-             return Ok(JsonView(false));
 
-         }
 
-         #endregion
 
-         #region backups
 
-         /// <summary>
 
-         /// 数据库备份
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpGet]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> SQLServerBackups()
 
-         {
 
-             var now = DateTime.Now;
 
-             var folderPath = $"D:\\数据备份\\{now.ToString("yyyyMMdd")}\\SQLServerBackups";
 
-             if (!Directory.Exists(folderPath)) Directory.CreateDirectory(folderPath);
 
-             //string backupFilePath = $"{folderPath}\\database_backup_OA2014DB_{now.ToString("yyyyMMddHHmmss")}.bat";
 
-             //var backupSql = $"BACKUP DATABASE [OA2014] TO DISK='{backupFilePath}'";
 
-             //Console.WriteLine($"原生备份开始执行");
 
-             //_sqlSugar.ChangeDatabase(DBEnum.OA2014DB);
 
-             //await _sqlSugar.Ado.ExecuteCommandAsync(backupSql);
 
-             //Console.WriteLine($"原生备份成功,文件已生成到:{backupFilePath}");
 
-             //string backupFilePath = $"{folderPath}\\database_backup_OA2014DB_{now.ToString("yyyyMMddHHmmss")}.sql";
 
-             //var backupSql = $"BACKUP DATABASE [OA2014] TO DISK='{backupFilePath}'";
 
-             //Console.WriteLine($"原生备份开始执行");
 
-             //_sqlSugar.ChangeDatabase(DBEnum.OA2014DB);
 
-             //using (StreamWriter writer = new StreamWriter(backupFilePath))
 
-             //{
 
-             //    // 获取所有表名
 
-             //    var tables = _sqlSugar.Ado.GetDataTable("SELECT name FROM sys.tables").AsEnumerable();
 
-             //    foreach (var tableRow in tables)
 
-             //    {
 
-             //        var tableName = tableRow.Field<string>("name");
 
-             //        // 获取表结构的 SQL
 
-             //        var createTableSql = _sqlSugar.Ado.GetDataTable($@"
 
-             //            SELECT OBJECT_DEFINITION(OBJECT_ID('{tableName}')) AS CreateTableSql").Rows[0][0];
 
-             //        writer.WriteLine(createTableSql);
 
-             //        writer.WriteLine();
 
-             //        // 获取表数据并生成 INSERT 脚本
 
-             //        var data = _sqlSugar.Queryable<dynamic>().AS(tableName) .ToList();
 
-             //        foreach (var item in data)
 
-             //        {
 
-             //            var properties = item.GetType().GetProperties();
 
-             //            var values = new List<string>();
 
-             //            foreach (var prop in properties)
 
-             //            {
 
-             //                var value = prop.GetValue(item);
 
-             //                values.Add(value == null ? "NULL" : $"'{value}'");
 
-             //            }
 
-             //            var insertSql = $"INSERT INTO {tableName} VALUES ({string.Join(", ", values)});";
 
-             //            writer.WriteLine(insertSql);
 
-             //        }
 
-             //    }
 
-             //}
 
-             //Console.WriteLine($"数据库备份成功,SQL 脚本已生成到:{backupFilePath}");
 
-             return Ok(JsonView(false));
 
-         }
 
-         #endregion
 
-         #region 动态读取excel并去重
 
-         /// <summary>
 
-         /// 客户名单excel导入
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DynamicReadExcel(IFormFile file )
 
-         {
 
-             // 检查文件是否为空
 
-             if (file == null || file.Length == 0)
 
-             {
 
-                 return BadRequest("No file uploaded.");
 
-             }
 
-             // 保存文件到服务器
 
-             var uploadsFolder = Path.Combine(Directory.GetCurrentDirectory(), "File");
 
-             if (!Directory.Exists(uploadsFolder))
 
-             {
 
-                 Directory.CreateDirectory(uploadsFolder);
 
-             }
 
-             var filePath = Path.Combine(uploadsFolder, file.FileName);
 
-             using (var stream = new FileStream(filePath, FileMode.Create))
 
-             {
 
-                 await file.CopyToAsync(stream);
 
-             }
 
-             Workbook workbook = new Workbook(filePath);
 
-             // 获取第一个工作表
 
-             Worksheet worksheet = workbook.Worksheets[0];
 
-             // 获取表头(第一行作为列名)
 
-             int headerRowIndex = 0; // 假设第一行是表头
 
-             Row headerRow = worksheet.Cells.Rows[headerRowIndex];
 
-             int colCount = worksheet.Cells.MaxDataColumn + 1;
 
-             // 动态存储列名
 
-             var clients = new List<Crm_NewClientData>();
 
-             var lvData = _sqlSugar.Queryable<Sys_SetData>().Where(x => x.IsDel == 0 && x.STid == 33).ToList(); 
 
-             // 遍历数据行(从第二行开始)
 
-             int rowCount = worksheet.Cells.MaxDataRow + 1;
 
-             for (int row = headerRowIndex + 1; row < rowCount; row++)
 
-             {
 
-                 var cellVal1 = worksheet.Cells[row, 0].Value;  //序号
 
-                 var cellVal2 = worksheet.Cells[row, 1].Value;  //单位名称
 
-                 var cellVal3 = worksheet.Cells[row, 2].Value;  //出访次数
 
-                 int count = !string.IsNullOrEmpty(cellVal3?.ToString()) ? int.Parse(cellVal3?.ToString()) : 0;
 
-                 var rowData = new Crm_NewClientData() {
 
-                     Number = count,
 
-                     Client = cellVal2?.ToString().Trim(),//单位名称
 
-                 };
 
-                 clients.Add(rowData); // 将当前行数据添加到集合中
 
-             }
 
-             if (clients.Any())
 
-             {
 
-                 var clientArr = clients.Select(x => x.Client).ToList();
 
-                 var clientDatas = _sqlSugar.Queryable<Crm_NewClientData>().Where(x => x.IsDel == 0)
 
-                     .ToList()
 
-                     .Select(x => new { id = x.Id, client = AesEncryptionHelper.Decrypt(x.Client), remark = AesEncryptionHelper.Decrypt(x.Remark) });
 
-                 var clientDatas1 = clientDatas.Where(x => clientArr.Contains(x.client)).ToList();
 
-                 var updates = new List<Crm_NewClientData>();
 
-                 foreach (var item in clientDatas1)
 
-                 {
 
-                     string newRemark = item.remark;
 
-                     var str = clients.FirstOrDefault(x => x.Client.Equals(item.client))?.Number ?? 0;
 
-                     if (str > 0)
 
-                     {
 
-                         newRemark += $"\r\n2025年拟出访次数{str}次";
 
-                     }
 
-                     updates.Add(new Crm_NewClientData() { 
 
-                         Id = item.id,
 
-                         Remark = AesEncryptionHelper.Encrypt(newRemark)
 
-                     });
 
-                 }
 
-                 if (updates.Any())
 
-                 {
 
-                     //加密后更改
 
-                     var update = _sqlSugar.Updateable(updates).UpdateColumns(it => new {
 
-                         //it.Client, 
 
-                         it.Remark,
 
-                         //it.Phone,
 
-                         //it.Address,
 
-                         // it.Location,
 
-                     }).ExecuteCommand();
 
-                     if (update > 0)
 
-                     {
 
-                         return Ok(JsonView(true, $"数据加密成功!加密条数:{update}"));
 
-                     }
 
-                 }
 
-             }
 
-             return Ok(JsonView(false));
 
-         }
 
-         /// <summary>
 
-         /// 客户数据加密
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpGet]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> DynamicReadExcel1()
 
-         {
 
-             // 动态存储列名
 
-             var clients = await _sqlSugar.Queryable<Crm_NewClientData>().Where(x => x.IsDel == 0 && x.Id > 6789).ToListAsync();
 
-             if (clients.Any())
 
-             {
 
-                 foreach (var item in clients)
 
-                 {
 
-                     item.Weight = AesEncryptionHelper.Encrypt("391");
 
-                     //Encrypted
 
-                     //EncryptionProcessor.EncryptProperties(item);
 
-                 }
 
-                 //加密后更改
 
-                 var update = _sqlSugar.Updateable(clients).UpdateColumns(it => new { 
 
-                     //it.Client, 
 
-                     it.Weight,
 
-                     //it.Phone,
 
-                     //it.Address,
 
-                     // it.Location,
 
-                 }).ExecuteCommand();
 
-                 if (update > 0)
 
-                 {
 
-                     return Ok(JsonView(true,$"数据加密成功!加密条数:{update}"));
 
-                 }
 
-             }
 
-             return Ok(JsonView(false));
 
-         }
 
-         /// <summary>
 
-         /// 数库事务异常测试
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpGet]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> TransactionExTest()
 
-         {
 
-             _sqlSugar.BeginTran();
 
-             var a1 = new List<dynamic>();
 
-             var a2 = a1[0].ToString();
 
-             _sqlSugar.RollbackTran();
 
-             return Ok(JsonView(false));
 
-         }
 
-         #endregion
 
-         #region 审批模板
 
-         /// <summary>
 
-         /// 审批模板 - 创建模板
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> AuditTempCreate()
 
-         {
 
-             //领用-其他物品
 
-             //var result = await _approvalProcessRep.CreateAuditTemplate(ApprovalProcessDto.AuditTempOtherGoods());
 
-             //领用-贵重物品
 
-             var result = await _approvalProcessRep.CreateAuditTemplateAsync(ApprovalProcessDto.AuditTempValuableGoods());
 
-             return Ok(JsonView(result));
 
-         }
 
-         #endregion
 
-         #region 资料相关Excel 导入
 
-         /// <summary>
 
-         /// excel导入 策划部供应商资料
 
-         /// </summary>
 
-         /// <param name="file"></param>
 
-         /// <param name="currUserId">录入人userId</param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> ExcelImportMediaSupplier(IFormFile file, [FromQuery] int currUserId = 258)
 
-         {
 
-             // 检查文件是否为空
 
-             if (file == null || file.Length == 0)
 
-             {
 
-                 return Ok(JsonView(false, "请选择文件!"));
 
-             }
 
-             // 文件签名验证
 
-             var perExtensions = new[] { ".xls", ".xlsx" };
 
-             Dictionary<string, List<byte[]>> fileSignature = CommonFun.FileSignature;
 
-             fileSignature = fileSignature.Where(pair => perExtensions.Contains(pair.Key)).ToDictionary(pair => pair.Key, pair => pair.Value);
 
-             // 文件扩展名验证
 
-             var ext = Path.GetExtension(file.FileName).ToLowerInvariant();
 
-             if (string.IsNullOrEmpty(ext) || !fileSignature.ContainsKey(ext))
 
-             {
 
-                 return Ok(JsonView(false, "不支持的文件类型!"));
 
-             }
 
-             using (var memoryStream = new MemoryStream())
 
-             {
 
-                 await file.CopyToAsync(memoryStream);
 
-                 // 检查文件签名
 
-                 var fileData = memoryStream.ToArray();
 
-                 var signatures = fileSignature[ext];
 
-                 bool signatureValid = signatures.Any(signature =>
 
-                     fileData.Take(signature.Length).SequenceEqual(signature));
 
-                 if (!signatureValid)
 
-                 {
 
-                     return Ok(JsonView(false, "文件内容与类型不匹配!"));
 
-                 }
 
-             }
 
-             // 保存文件到服务器
 
-             var uploadsFolder = @$"D:\FTP\File\OA2023\Office\Excel\MediaSupplierExcelImportFile";
 
-             if (!Directory.Exists(uploadsFolder))
 
-             {
 
-                 Directory.CreateDirectory(uploadsFolder);
 
-             }
 
-             var fileName = CommonFun.ValidFileName(file.Name);
 
-             var filePath = Path.Combine(uploadsFolder, fileName);
 
-             using (var stream = new FileStream(filePath, FileMode.Create))
 
-             {
 
-                 await file.CopyToAsync(stream);
 
-             }
 
-             Workbook workbook = new Workbook(filePath);
 
-             // 获取第一个工作表
 
-             Worksheet worksheet = workbook.Worksheets[0];
 
-             // 获取表头(第一行作为列名)
 
-             int headerRowIndex = 0;
 
-             Row headerRow = worksheet.Cells.Rows[headerRowIndex];
 
-             int colCount = worksheet.Cells.MaxDataColumn + 1;
 
-             // 动态存储列名
 
-             var datas = new List<Res_MediaSuppliers>();
 
-             var typeDatas = await _sqlSugar.Queryable<Sys_SetData>()
 
-                .Where(x => x.IsDel == 0 && x.STid == 21)
 
-                .Select(x => new { x.Id, Text = x.Name })
 
-                .ToListAsync();
 
-             // 遍历数据行(从第二行开始)
 
-             int rowCount = worksheet.Cells.MaxDataRow + 1;
 
-             var msgs = new StringBuilder();
 
-             for (int row = headerRowIndex + 2; row < rowCount; row++)
 
-             {
 
-                 var cellVal1 = worksheet.Cells[row, 0].Value;    //序号
 
-                 var cellVal2 = worksheet.Cells[row, 1].Value;    //供应商类型
 
-                 var cellVal3 = worksheet.Cells[row, 2].Value;    //地区
 
-                 var cellVal4 = worksheet.Cells[row, 3].Value;    //城市
 
-                 var cellVal5 = worksheet.Cells[row, 4].Value;    //单位名称
 
-                 var cellVal6 = worksheet.Cells[row, 5].Value;    //单位联系人
 
-                 var cellVal7 = worksheet.Cells[row, 6].Value;    //性别
 
-                 var cellVal8 = worksheet.Cells[row, 7].Value;    //联系电话
 
-                 var cellVal9 = worksheet.Cells[row, 8].Value;    //电子邮件
 
-                 var cellVal10 = worksheet.Cells[row, 9].Value;   //单位缩写
 
-                 var cellVal11 = worksheet.Cells[row, 10].Value;  //职位
 
-                 var cellVal12 = worksheet.Cells[row, 11].Value;  //传真号码
 
-                 var cellVal13 = worksheet.Cells[row, 12].Value;  //微信
 
-                 var cellVal14 = worksheet.Cells[row, 13].Value;  //单位地址
 
-                 var cellVal15 = worksheet.Cells[row, 14].Value;  //备注
 
-                 int typeId = typeDatas.FirstOrDefault(x => x.Text == cellVal2?.ToString())?.Id ?? 0;
 
-                 if (typeId < 1)
 
-                 {
 
-                     var name = cellVal5?.ToString() ?? $"序号:{cellVal1?.ToString() ?? "-"}";
 
-                     msgs.AppendLine($"[{name}]未设置供应商类型!请手动录入!!!");
 
-                     continue;
 
-                 }
 
-                 var rowData = new Res_MediaSuppliers()
 
-                 {
 
-                     TypeId = typeId,
 
-                     Privince = cellVal3?.ToString() ?? "",
 
-                     City = cellVal4?.ToString() ?? "",
 
-                     UnitName = cellVal5?.ToString() ?? "",
 
-                     Contact = cellVal6?.ToString() ?? "",
 
-                     Sex = string.IsNullOrEmpty(cellVal7?.ToString() ?? "") ? -1 : cellVal7.ToString().Equals("男") ? 0 : 1,
 
-                     Tel = cellVal8?.ToString() ?? "",
 
-                     Email = cellVal9?.ToString() ?? "",
 
-                     UnitAbbreviation = cellVal10?.ToString() ?? "",
 
-                     Post = cellVal11?.ToString() ?? "",
 
-                     Fax = cellVal12?.ToString() ?? "",
 
-                     WeChat = cellVal13?.ToString() ?? "",
 
-                     UnitAddress = cellVal14?.ToString() ?? "",
 
-                     Remark = cellVal15?.ToString() ?? "",
 
-                     CreateUserId = currUserId
 
-                 };
 
-                 datas.Add(rowData); // 将当前行数据添加到集合中
 
-             }
 
-             if (datas.Any())
 
-             {
 
-                 var insert = await _sqlSugar.Insertable(datas).ExecuteCommandAsync();
 
-                 if (insert > 0)
 
-                 {
 
-                     return Ok(JsonView(true, $"导入成功!count:{insert} warningMsg:{msgs.ToString()}"));
 
-                 }
 
-             }
 
-             return Ok(JsonView(false, "excel导入失败!"));
 
-         }
 
-         /// <summary>
 
-         /// excel导入 策划部供应商资料
 
-         /// </summary>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> CarDataSouceExcelTemp()
 
-         {
 
-             var url = $"http://132.232.92.186:24/Office/Excel/CarDataSouceImportFile/op地接供应商资料收集模板.xlsx";
 
-             return Ok(JsonView(true, url));
 
-         }
 
-         /// <summary>
 
-         /// excel导入 车公司资料
 
-         /// </summary>
 
-         /// <param name="file"></param>
 
-         /// <param name="currUserId">录入人userId</param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> ExcelImportCarDataSouce(IFormFile file, [FromQuery] int currUserId = 208)
 
-         {
 
-             // 检查文件是否为空
 
-             if (file == null || file.Length == 0)
 
-             {
 
-                 return Ok(JsonView(false, "请选择文件!"));
 
-             }
 
-             // 文件签名验证
 
-             var perExtensions = new[] { ".xls", ".xlsx" };
 
-             Dictionary<string, List<byte[]>> fileSignature = CommonFun.FileSignature;
 
-             fileSignature = fileSignature.Where(pair => perExtensions.Contains(pair.Key)).ToDictionary(pair => pair.Key, pair => pair.Value);
 
-             // 文件扩展名验证
 
-             var ext = Path.GetExtension(file.FileName).ToLowerInvariant();
 
-             if (string.IsNullOrEmpty(ext) || !fileSignature.ContainsKey(ext))
 
-             {
 
-                 return Ok(JsonView(false, "不支持的文件类型!"));
 
-             }
 
-             using (var memoryStream = new MemoryStream())
 
-             {
 
-                 await file.CopyToAsync(memoryStream);
 
-                 // 检查文件签名
 
-                 var fileData = memoryStream.ToArray();
 
-                 var signatures = fileSignature[ext];
 
-                 bool signatureValid = signatures.Any(signature =>
 
-                     fileData.Take(signature.Length).SequenceEqual(signature));
 
-                 if (!signatureValid)
 
-                 {
 
-                     return Ok(JsonView(false, "文件内容与类型不匹配!"));
 
-                 }
 
-             }
 
-             // 保存文件到服务器
 
-             var uploadsFolder = @$"D:\FTP\File\OA2023\Office\Excel\CarDataSouceImportFile";
 
-             if (!Directory.Exists(uploadsFolder))
 
-             {
 
-                 Directory.CreateDirectory(uploadsFolder);
 
-             }
 
-             var fileName = CommonFun.ValidFileName(file.Name);
 
-             var filePath = Path.Combine(uploadsFolder, fileName);
 
-             using (var stream = new FileStream(filePath, FileMode.Create))
 
-             {
 
-                 await file.CopyToAsync(stream);
 
-             }
 
-             Workbook workbook = new Workbook(filePath);
 
-             // 获取第一个工作表
 
-             Worksheet worksheet = workbook.Worksheets[0];
 
-             // 获取表头(第一行作为列名)
 
-             int headerRowIndex = 0;
 
-             Row headerRow = worksheet.Cells.Rows[headerRowIndex];
 
-             int colCount = worksheet.Cells.MaxDataColumn + 1;
 
-             // 动态存储列名
 
-             var datas = new List<Res_CarData>();
 
-             // 遍历数据行(从第三行开始)
 
-             int rowCount = worksheet.Cells.MaxDataRow + 1;
 
-             var msgs = new StringBuilder();
 
-             for (int row = headerRowIndex + 2; row < rowCount; row++)
 
-             {
 
-                 var cellVal1 = worksheet.Cells[row, 0].Value;    //地区
 
-                 var cellVal2 = worksheet.Cells[row, 1].Value;    //公司名称
 
-                 var cellVal3 = worksheet.Cells[row, 2].Value;    //公司地址
 
-                 var cellVal4 = worksheet.Cells[row, 3].Value;    //联系人
 
-                 var cellVal5 = worksheet.Cells[row, 4].Value;    //联系电话
 
-                 var cellVal6 = worksheet.Cells[row, 5].Value;    //电子邮箱
 
-                 var cellVal7 = worksheet.Cells[row, 6].Value;    //其他信息
 
-                 var dtTimeNoew = DateTime.Now;
 
-                 var rowData = new Res_CarData()
 
-                 {
 
-                     UnitArea = cellVal1?.ToString() ?? "",
 
-                     UnitName = cellVal2?.ToString() ?? "",
 
-                     Address = cellVal3?.ToString() ?? "",
 
-                     Contact = cellVal4?.ToString() ?? "",
 
-                     ContactTel = cellVal5?.ToString() ?? "",
 
-                     ContactEmail = cellVal6?.ToString() ?? "",
 
-                     OtherInfo = cellVal7?.ToString() ?? "",
 
-                     LastUpdateTime = dtTimeNoew,
 
-                     LastUpdateUserId = currUserId,
 
-                     CreateTime = dtTimeNoew,
 
-                     CreateUserId = currUserId,
 
-                     Remark = $"excel导入添加!"
 
-                 };
 
-                 EncryptionProcessor.EncryptProperties(rowData);
 
-                 datas.Add(rowData); 
 
-             }
 
-             if (datas.Any())
 
-             {
 
-                 var insert = await _sqlSugar.Insertable(datas).ExecuteCommandAsync();
 
-                 if (insert > 0)
 
-                 {
 
-                     return Ok(JsonView(true, $"导入成功!count:{insert} warningMsg:{msgs.ToString()}"));
 
-                 }
 
-             }
 
-             return Ok(JsonView(false, "excel导入失败!"));
 
-         }
 
-         /// <summary>
 
-         /// excel导入 世运会成本预算明细Excel
 
-         /// </summary>
 
-         /// <param name="file"></param>
 
-         /// <param name="currUserId">录入人userId</param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> ExcelImportGamesBudgetDataSouce(IFormFile file, [FromQuery] int currUserId = 208)
 
-         {
 
-             // 检查文件是否为空
 
-             if (file == null || file.Length == 0)
 
-             {
 
-                 return Ok(JsonView(false, "请选择文件!"));
 
-             }
 
-             // 文件签名验证
 
-             var perExtensions = new[] { ".xls", ".xlsx" };
 
-             Dictionary<string, List<byte[]>> fileSignature = CommonFun.FileSignature;
 
-             fileSignature = fileSignature.Where(pair => perExtensions.Contains(pair.Key)).ToDictionary(pair => pair.Key, pair => pair.Value);
 
-             // 文件扩展名验证
 
-             var ext = Path.GetExtension(file.FileName).ToLowerInvariant();
 
-             if (string.IsNullOrEmpty(ext) || !fileSignature.ContainsKey(ext))
 
-             {
 
-                 return Ok(JsonView(false, "不支持的文件类型!"));
 
-             }
 
-             using (var memoryStream = new MemoryStream())
 
-             {
 
-                 await file.CopyToAsync(memoryStream);
 
-                 // 检查文件签名
 
-                 var fileData = memoryStream.ToArray();
 
-                 var signatures = fileSignature[ext];
 
-                 bool signatureValid = signatures.Any(signature =>
 
-                     fileData.Take(signature.Length).SequenceEqual(signature));
 
-                 if (!signatureValid)
 
-                 {
 
-                     return Ok(JsonView(false, "文件内容与类型不匹配!"));
 
-                 }
 
-             }
 
-             // 保存文件到服务器
 
-             var uploadsFolder = @$"D:\FTP\File\OA2023\Office\Excel\CarDataSouceImportFile";
 
-             if (!Directory.Exists(uploadsFolder))
 
-             {
 
-                 Directory.CreateDirectory(uploadsFolder);
 
-             }
 
-             var fileName = CommonFun.ValidFileName(file.Name);
 
-             var filePath = Path.Combine(uploadsFolder, fileName);
 
-             using (var stream = new FileStream(filePath, FileMode.Create))
 
-             {
 
-                 await file.CopyToAsync(stream);
 
-             }
 
-             Workbook workbook = new Workbook(filePath);
 
-             // 获取第一个工作表
 
-             Worksheet worksheet = workbook.Worksheets[0];
 
-             // 获取表头(第一行作为列名)
 
-             int headerRowIndex = 0;
 
-             Row headerRow = worksheet.Cells.Rows[headerRowIndex];
 
-             int colCount = worksheet.Cells.MaxDataColumn + 1;
 
-             // 动态存储列名
 
-             var datas = new List<Grp_GamesBudgetMaster>();
 
-             // 遍历数据行(从第3行开始)
 
-             int rowCount = worksheet.Cells.MaxDataRow + 1;
 
-             var msgs = new StringBuilder();
 
-             for (int row = headerRowIndex + 2; row < rowCount; row++)
 
-             {
 
-                 var cellVal0 = worksheet.Cells[row, 0].Value;    //直属父级
 
-                 var cellVal1 = worksheet.Cells[row, 1].Value;    //工作项目
 
-                 var cellVal2 = worksheet.Cells[row, 2].Value;    //测算内容
 
-                 var cellVal3 = worksheet.Cells[row, 3].Value;    //数量
 
-                 var cellVal4 = worksheet.Cells[row, 4].Value;    //单位
 
-                 var cellVal5 = worksheet.Cells[row, 5].Value;    //单价(元)
 
-                 var cellVal6 = worksheet.Cells[row, 6].Value;    //周期-时间
 
-                 var cellVal7 = worksheet.Cells[row, 7].Value;    //周期-单位
 
-                 var cellVal8 = worksheet.Cells[row, 8].Value;    //项费用合计
 
-                 var cellVal9 = worksheet.Cells[row, 9].Value;    //说明
 
-                 var cellVal10 = worksheet.Cells[row, 10].Value;    //备注
 
-                 var dtTimeNoew = DateTime.Now;
 
-                 decimal.TryParse(cellVal3?.ToString(), out decimal quantity);
 
-                 decimal.TryParse(cellVal5?.ToString(), out decimal unitPrice);
 
-                 decimal.TryParse(cellVal8?.ToString(), out decimal itemTotal);
 
-                 int.TryParse(cellVal6?.ToString(), out int cycleTime);
 
-                 var rowData = new Grp_GamesBudgetMaster()
 
-                 {
 
-                     T0 = cellVal0?.ToString() ?? "",
 
-                     ProjectWork = cellVal1?.ToString() ?? "",
 
-                     CalculationContent = cellVal2?.ToString() ?? "",
 
-                     Quantity = quantity,
 
-                     Unit = cellVal4?.ToString() ?? "",
 
-                     UnitPrice = unitPrice,
 
-                     CycleTime = cycleTime,
 
-                     CycleUnit = cellVal7?.ToString() ?? "",
 
-                     ItemTotal = itemTotal,
 
-                     Specification = cellVal9?.ToString() ?? "",
 
-                     LastUpdateTime = dtTimeNoew.ToString("yyyy-MM-dd HH:mm:ss"),
 
-                     LastUpdateUserId = currUserId,
 
-                     CreateTime = dtTimeNoew,
 
-                     CreateUserId = currUserId,
 
-                     Remark = cellVal10?.ToString() ?? ""
 
-                 };
 
-                 datas.Add(rowData);
 
-             }
 
-             if (datas.Any())
 
-             {
 
-                 var insert = await _sqlSugar.Insertable(datas).ExecuteCommandAsync();
 
-                 if (insert > 0)
 
-                 {
 
-                     return Ok(JsonView(true, $"导入成功!count:{insert} warningMsg:{msgs.ToString()}"));
 
-                 }
 
-             }
 
-             return Ok(JsonView(false, "excel导入失败!"));
 
-         }
 
-         /// <summary>
 
-         /// excel导入 签证费用标准
 
-         /// </summary>
 
-         /// <param name="file"></param>
 
-         /// <param name="currUserId">录入人userId</param>
 
-         /// <returns></returns>
 
-         [HttpPost]
 
-         [ProducesResponseType(typeof(JsonView), StatusCodes.Status200OK)]
 
-         public async Task<IActionResult> ExcelImportVisaFeeStandard(IFormFile file, [FromQuery] int currUserId = 208)
 
-         {
 
-             // 检查文件是否为空
 
-             if (file == null || file.Length == 0)
 
-             {
 
-                 return Ok(JsonView(false, "请选择文件!"));
 
-             }
 
-             // 文件签名验证
 
-             var perExtensions = new[] { ".xls", ".xlsx" };
 
-             Dictionary<string, List<byte[]>> fileSignature = CommonFun.FileSignature;
 
-             fileSignature = fileSignature.Where(pair => perExtensions.Contains(pair.Key)).ToDictionary(pair => pair.Key, pair => pair.Value);
 
-             // 文件扩展名验证
 
-             var ext = Path.GetExtension(file.FileName).ToLowerInvariant();
 
-             if (string.IsNullOrEmpty(ext) || !fileSignature.ContainsKey(ext))
 
-             {
 
-                 return Ok(JsonView(false, "不支持的文件类型!"));
 
-             }
 
-             using (var memoryStream = new MemoryStream())
 
-             {
 
-                 await file.CopyToAsync(memoryStream);
 
-                 // 检查文件签名
 
-                 var fileData = memoryStream.ToArray();
 
-                 var signatures = fileSignature[ext];
 
-                 bool signatureValid = signatures.Any(signature =>
 
-                     fileData.Take(signature.Length).SequenceEqual(signature));
 
-                 if (!signatureValid)
 
-                 {
 
-                     return Ok(JsonView(false, "文件内容与类型不匹配!"));
 
-                 }
 
-             }
 
-             // 保存文件到服务器
 
-             var uploadsFolder = @$"D:\FTP\File\OA2023\Office\Excel\CarDataSouceImportFile";
 
-             if (!Directory.Exists(uploadsFolder))
 
-             {
 
-                 Directory.CreateDirectory(uploadsFolder);
 
-             }
 
-             var fileName = CommonFun.ValidFileName(file.Name);
 
-             var filePath = Path.Combine(uploadsFolder, fileName);
 
-             using (var stream = new FileStream(filePath, FileMode.Create))
 
-             {
 
-                 await file.CopyToAsync(stream);
 
-             }
 
-             var workbook = new Workbook(filePath);
 
-             // 获取第一个工作表
 
-             Worksheet worksheet = workbook.Worksheets[0]; // 因公护照签证费用标准
 
-             Worksheet worksheet1 = workbook.Worksheets[1]; // 因私护照签证费用标准
 
-             var oldVisaFeeStandards = await _sqlSugar.Queryable<Res_CountryFeeCost>()
 
-                 .Where(x => x.IsDel == 0)
 
-                 .ToListAsync();
 
-             // 获取表头(第一行作为列名)
 
-             int headerRowIndex = 0;
 
-             Row headerRow = worksheet.Cells.Rows[headerRowIndex];
 
-             int colCount = worksheet.Cells.MaxDataColumn + 1;
 
-             // 动态存储列名
 
-             var datas = new List<VisaFeeStandardInfoView>();
 
-             // 遍历数据行(从第3行开始)
 
-             int rowCount = worksheet.Cells.MaxDataRow + 1;
 
-             var msgs = new StringBuilder();
 
-             for (int row = headerRowIndex + 1; row < rowCount; row++)
 
-             {
 
-                 var cellVal0 = worksheet.Cells[row, 0].Value;      //国家
 
-                 var cellVal1 = worksheet.Cells[row, 1].Value;      //公务护照免签
 
-                 var cellVal2 = worksheet.Cells[row, 2].Value;      //公务护照签证费
 
-                 var cellVal3 = worksheet.Cells[row, 3].Value;      //公务护照签证代办费
 
-                 var cellVal4 = worksheet.Cells[row, 4].Value;      //公务普通护照免签
 
-                 var cellVal5 = worksheet.Cells[row, 5].Value;      //公务普通护照签证费
 
-                 var cellVal6 = worksheet.Cells[row, 6].Value;      //公务普通护照代办费
 
-                 var cellVal7 = worksheet.Cells[row, 7].Value;      //云南代办费
 
-                 var cellVal8 = worksheet.Cells[row, 8].Value;      //贵州代办费
 
-                 var cellVal9 = worksheet.Cells[row, 9].Value;      //重庆代办费
 
-                 var cellVal10 = worksheet.Cells[row, 10].Value;    //重庆外办出入境证明费用
 
-                 var cellVal11 = worksheet.Cells[row, 11].Value;    //送签地点
 
-                 var cellVal12 = worksheet.Cells[row, 12].Value;    //办理时间(工作日)
 
-                 var dtTimeNoew = DateTime.Now;
 
-                 var isVisaExemptionLargeVal = cellVal1?.ToString() == "是"; //公务护照免签
 
-                 _ = decimal.TryParse(cellVal2?.ToString(), out decimal largeVisaPrice);    //公务护照签证费
 
-                 _ = decimal.TryParse(cellVal3?.ToString(), out decimal largeAgencyFee);    //公务护照签证代办费
 
-                 var isVisaExemptionSmallVal = cellVal4?.ToString() == "是" ? true : false; //公务普通护照免签
 
-                 _ = decimal.TryParse(cellVal5?.ToString(), out decimal smallVisaPrice);    //公务普通护照签证费
 
-                 _ = decimal.TryParse(cellVal6?.ToString(), out decimal smallAgencyFee);    //公务普通护照签证代办费
 
-                 _ = decimal.TryParse(cellVal7?.ToString(), out decimal yunNanAgencyFee);    //云南代办费
 
-                 _ = decimal.TryParse(cellVal8?.ToString(), out decimal guiZhouAgencyFee);    //贵州代办费
 
-                 _ = decimal.TryParse(cellVal9?.ToString(), out decimal chongQingAgencyFee);    //重庆代办费
 
-                 string countryName = cellVal0?.ToString() ?? "";
 
-                 string continent=string.Empty,
 
-                        remark =string.Empty;
 
-                 var oldDataInfo = oldVisaFeeStandards.FirstOrDefault(x => x.VisaFeeType == 0 && x.VisaCountry == countryName);
 
-                 if (oldDataInfo != null)
 
-                 {
 
-                     continent = oldDataInfo.VisaContinent;
 
-                     remark = oldDataInfo.VisaPriceDesc;
 
-                 }
 
-                 var detailsList = new List<VisaFeeStandardDetails>() {
 
-                     new(){
 
-                         ProvinceId = 122,
 
-                         ProvinceName = "四川",
 
-                         VisaAddress = cellVal11?.ToString() ?? "",
 
-                         VisaTime = cellVal12?.ToString() ?? "0",
 
-                         IsVisaExemptionLarge = isVisaExemptionLargeVal,
 
-                         LargeVisaPrice = largeVisaPrice,
 
-                         LargeAgencyFee = largeAgencyFee,
 
-                         IsVisaExemptionSmall = isVisaExemptionSmallVal,
 
-                         SmallVisaPrice = smallVisaPrice,
 
-                         SmallAgencyFee = smallAgencyFee,
 
-                         Remark = remark,
 
-                     },
 
-                     new(){
 
-                         ProvinceId = 103,
 
-                         ProvinceName = "重庆",
 
-                         SmallAgencyFee = chongQingAgencyFee,
 
-                         NormExtFee = 40.00M,
 
-                         UrgExtFee = 140.00M,
 
-                     },
 
-                     new(){
 
-                         ProvinceId = 108,
 
-                         ProvinceName = "贵州",
 
-                         SmallAgencyFee = guiZhouAgencyFee,
 
-                     },
 
-                     new(){
 
-                         ProvinceId = 132,
 
-                         ProvinceName = "云南",
 
-                         SmallAgencyFee = yunNanAgencyFee,
 
-                     },
 
-                 };
 
-                 var rowData = new VisaFeeStandardInfoView()
 
-                 {
 
-                    Continent = continent,
 
-                    Country = countryName,
 
-                    FeeType = 0,
 
-                    VisaFees = detailsList
 
-                 };
 
-                 datas.Add(rowData);
 
-             }
 
-             // 获取表头(第一行作为列名)
 
-             int headerRowIndex1 = 0;
 
-             Row headerRow1 = worksheet1.Cells.Rows[headerRowIndex1];
 
-             int colCount1 = worksheet1.Cells.MaxDataColumn + 1;
 
-             // 遍历数据行(从第3行开始)
 
-             int rowCount1 = worksheet1.Cells.MaxDataRow + 1;
 
-             for (int row = headerRowIndex1 + 1; row < rowCount1; row++)
 
-             {
 
-                 var cellVal0 = worksheet1.Cells[row, 0].Value;      //国家
 
-                 var cellVal1 = worksheet1.Cells[row, 1].Value;      //普通护照免签
 
-                 var cellVal2 = worksheet1.Cells[row, 2].Value;      //签证费
 
-                 var cellVal3 = worksheet1.Cells[row, 3].Value;      //送签地点
 
-                 var cellVal4 = worksheet1.Cells[row, 4].Value;      //办理时间(工作日)
 
-                 var dtTimeNoew = DateTime.Now;
 
-                 var isVisaExemptionSmallVal = cellVal1?.ToString() == "是"; //普通护照免签
 
-                 _ = decimal.TryParse(cellVal2?.ToString(), out decimal smallVisaPrice);    //普通护照签证费
 
-                 string countryName = cellVal0?.ToString() ?? "";
 
-                 string continent = string.Empty;
 
-                 var oldDataInfo = oldVisaFeeStandards.FirstOrDefault(x => x.VisaFeeType == 1 && x.VisaCountry == countryName);
 
-                 if (oldDataInfo != null)
 
-                 {
 
-                     continent = oldDataInfo.VisaContinent;
 
-                 }
 
-                 var detailsList = new List<VisaFeeStandardDetails>() {
 
-                     new(){
 
-                         ProvinceId = 122,
 
-                         ProvinceName = "四川",
 
-                         VisaAddress = cellVal3?.ToString() ?? "",
 
-                         VisaTime = cellVal4?.ToString() ?? "0",
 
-                         IsVisaExemptionSmall = isVisaExemptionSmallVal,
 
-                         SmallVisaPrice = smallVisaPrice,
 
-                     }
 
-                 };
 
-                 var rowData = new VisaFeeStandardInfoView()
 
-                 {
 
-                     Continent = continent,
 
-                     Country = countryName,
 
-                     FeeType = 1,
 
-                     VisaFees = detailsList
 
-                 };
 
-                 datas.Add(rowData);
 
-             }
 
-             if (datas.Any())
 
-             {
 
-                 _sqlSugar.BeginTran();
 
-                 try
 
-                 {
 
-                     foreach (var item in datas)
 
-                     {
 
-                         var now = DateTime.Now;
 
-                         var visaFeeStandard = _mapper.Map<Res_VisaFeeStandard>(item);
 
-                         visaFeeStandard.LastUpdateTime = now;
 
-                         visaFeeStandard.LastUpdateUserId = currUserId;
 
-                         visaFeeStandard.CreateTime = now;
 
-                         visaFeeStandard.CreateUserId = currUserId;
 
-                         var insertId = await _sqlSugar.Insertable(visaFeeStandard).ExecuteReturnIdentityAsync();
 
-                         if (insertId < 1)
 
-                         {
 
-                             _sqlSugar.RollbackTran();
 
-                             return Ok(JsonView(false, "excel导入失败!"));
 
-                         }
 
-                         var visaFeeStandardDetails = _mapper.Map<List<Res_VisaFeeStandardDetails>>(item.VisaFees);
 
-                         visaFeeStandardDetails.ForEach(x => {
 
-                             x.ParentId = insertId;
 
-                             x.CreateUserId = currUserId;
 
-                             x.CreateTime = now;
 
-                         });
 
-                         var insertSubId = await _sqlSugar.Insertable(visaFeeStandardDetails).ExecuteCommandAsync();
 
-                         if (insertSubId < 1)
 
-                         {
 
-                             _sqlSugar.RollbackTran();
 
-                             return Ok(JsonView(false, "excel导入失败!"));
 
-                         }
 
-                     }
 
-                     _sqlSugar.CommitTran();
 
-                     return Ok(JsonView(true, $"excel导入成功!Total:{datas.Count}"));
 
-                 }
 
-                 catch (Exception ex)
 
-                 {
 
-                     _sqlSugar.RollbackTran();
 
-                     return Ok(JsonView(false, ex.Message));
 
-                 }
 
-             }
 
-             return Ok(JsonView(false, "excel导入失败!"));
 
-         }
 
-         #endregion
 
-     }
 
- }
 
 
  |