|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067 |
- using Learun.DataBase.Repository;
- using Learun.Util;
- using System;
- using System.Collections.Generic;
- using System.Data;
- using System.Linq;
- using System.Text;
- using Learun.Application.TwoDevelopment.LR_LGManager;
- using Dapper;
-
- namespace Learun.Application.WorkFlow
- {
- /// <summary>
- /// 版 本 Learun-ADMS V7.0.3 力软敏捷开发框架
- /// Copyright (c) 2013-2018 上海力软信息技术有限公司
- /// 创建人:力软-框架开发组
- /// 日 期:2018.12.07
- /// 描 述:流程进程
- /// </summary>
- public class NWFProcessSericve : RepositoryFactory
- {
- #region 获取数据
- /// <summary>
- /// 获取流程进程实体
- /// </summary>
- /// <param name="keyValue">主键</param>
- /// <returns></returns>
- public NWFProcessEntity GetEntity(string keyValue)
- {
- try
- {
- return this.BaseRepository().FindEntity<NWFProcessEntity>(keyValue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取流程进程实例
- /// </summary>
- /// <param name="processId">父流程进程主键</param>
- /// <param name="nodeId">节点主键</param>
- /// <returns></returns>
- public NWFProcessEntity GetEntityByProcessId(string processId, string nodeId)
- {
- try
- {
- return this.BaseRepository().FindEntity<NWFProcessEntity>(t => t.F_ParentProcessId == processId && t.F_ParentNodeId == nodeId);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取子流程列表
- /// </summary>
- /// <param name="parentProcessId">父流程进程主键</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetChildProcessList(string parentProcessId)
- {
- try
- {
- return this.BaseRepository().FindList<NWFProcessEntity>(t => t.F_ParentProcessId == parentProcessId);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取流程信息列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetPageList(Pagination pagination, string queryJson)
- {
- try
- {
- var expression = LinqExtensions.True<NWFProcessEntity>();
- var queryParam = queryJson.ToJObject();
- // 分类
- if (!queryParam["categoryId"].IsEmpty()) // 1:未完成 2:已完成
- {
- if (queryParam["categoryId"].ToString() == "1")
- {
- expression = expression.And(t => t.F_IsFinished == 0);
- }
- else
- {
- expression = expression.And(t => t.F_IsFinished == 1);
- }
- }
- //流程类别
- if (!queryParam["F_Category"].IsEmpty()) // 1:未完成 2:已完成
- {
- var Categofy = queryParam["F_Category"].ToString();
- var codeList = this.BaseRepository().FindList<NWFSchemeInfoEntity>(a => a.F_Category == Categofy).Select(a => a.F_Code);
-
- if (codeList.Count() > 0)
- {
- expression = expression.And(a => codeList.Contains(a.F_SchemeCode));
- }
- }
- // 操作时间
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- DateTime startTime = queryParam["StartTime"].ToDate();
- DateTime endTime = queryParam["EndTime"].ToDate();
- expression = expression.And(t => t.F_CreateDate >= startTime && t.F_CreateDate <= endTime);
- }
- // 关键字
- if (!queryParam["keyword"].IsEmpty())
- {
- string keyword = queryParam["keyword"].ToString();
- expression = expression.And(t => t.F_Title.Contains(keyword) || t.F_SchemeName.Contains(keyword) || t.F_CreateUserName.Contains(keyword));
- }
- expression = expression.And(t => t.F_EnabledMark != 2);
- expression = expression.And(t => t.F_IsChild == 0);
-
- var result = this.BaseRepository().FindList<NWFProcessEntity>(expression, pagination);
-
-
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取流程信息列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<LC_gcsqEntity> GetUseCar(Pagination pagination, string queryJson)
- {
- try
- {
- var queryParam = queryJson.ToJObject();
- var dbName = this.BaseRepository().getDbConnection().Database;
- var dbMISName = this.BaseRepository("CollegeMIS").getDbConnection().Database;
- var dp = new DynamicParameters(new { });
- var strSql = new StringBuilder();
- strSql.Append(" select zb.*,lnp.* from " + dbMISName + ".[dbo].LC_gcsq zb ");
- strSql.Append(" left join " + dbName + ".[dbo].LR_NWF_PROCESS lnp on lnp.F_id=zb.LC_ID ");
- strSql.Append(" where 1=1 and lnp.F_SchemeCode = 'LC_gcsq' ");
- strSql.Append(" and lnp.F_EnabledMark != '3' and lnp.F_EnabledMark != '2' and lnp.F_IsChild='0' ");
- if (queryParam["categoryId"].ToString() == "1")
- {
- strSql.Append(" and lnp.F_IsFinished= '0' ");
- }
- else
- {
- strSql.Append(" and lnp.F_IsFinished= '1' ");
- }
- if (!queryParam["LC_ycbm"].IsEmpty())
- {
- strSql.Append(" and zb.LC_ycbm like '%" + queryParam["LC_ycbm"].ToString() + "%' ");
- }
- if (!queryParam["LC_ycr"].IsEmpty())
- {
- strSql.Append(" and zb.LC_ycr like '%" + queryParam["LC_ycr"].ToString() + "%' ");
- }
- if (!queryParam["LC_ycsj"].IsEmpty())
- {
- strSql.Append(" and zb.LC_ycsj like '%" + queryParam["LC_ycsj"].ToString() + "%' ");
- }
- if (!queryParam["LC_sjxm"].IsEmpty())
- {
- strSql.Append(" and zb.LC_sjxm like '%" + queryParam["LC_sjxm"].ToString() + "%' ");
- }
- if (!queryParam["LC_cph"].IsEmpty())
- {
- strSql.Append(" and zb.LC_cph like '%" + queryParam["LC_cph"].ToString() + "%' ");
- }
- return this.BaseRepository("CollegeMIS").FindList<LC_gcsqEntity>(strSql.ToString(), dp);
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 获取流程信息列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<cs_qjEntity> GetLeaveStatistics(Pagination pagination, string queryJson)
- {
- try
- {
- var queryParam = queryJson.ToJObject();
- var dbName = this.BaseRepository().getDbConnection().Database;
- var dbMISName = this.BaseRepository("CollegeMIS").getDbConnection().Database;
- var dp = new DynamicParameters(new { });
- var strSql = new StringBuilder();
- strSql.Append(" select zb.*,lnp.* from " + dbMISName + ".[dbo].cs_qj zb ");
- strSql.Append(" left join " + dbName + ".[dbo].LR_NWF_PROCESS lnp on zb.LC_ID =lnp.F_id ");
- strSql.Append(" where 1=1 and lnp.F_SchemeCode = 'LC_leave'");
- strSql.Append(" and lnp.F_EnabledMark != '3' and lnp.F_EnabledMark != '2' and lnp.F_IsChild='0' ");
- if (queryParam["categoryId"].ToString() == "1")
- {
- strSql.Append(" and lnp.F_IsFinished= '0' ");
- }
- else
- {
- strSql.Append(" and lnp.F_IsFinished= '1' ");
- }
-
- if (!queryParam["qj_name"].IsEmpty())
- {
- strSql.Append(" and zb.qj_name = '" + queryParam["qj_name"].ToString() + "' ");
- }
- if (!queryParam["qj_bm"].IsEmpty())
- {
- strSql.Append(" and zb.qj_bm like '%" + queryParam["qj_bm"].ToString() + "%' ");
- }
- if (!queryParam["qj_lx"].IsEmpty())
- {
- strSql.Append(" and zb.qj_lx = '" + queryParam["qj_lx"].ToString() + "' ");
- }
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- DateTime startTime = queryParam["StartTime"].ToDate();
- DateTime endTime = queryParam["EndTime"].ToDate();
- strSql.Append(" and ( zb.qj_txsj>= '" + startTime + "' and zb.qj_txsj <= '" + endTime + "' )");
- }
- return this.BaseRepository("CollegeMIS").FindList<cs_qjEntity>(strSql.ToString(), dp, pagination);
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取流程信息列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<LC_docx2Entity> GetTransceiver(Pagination pagination, string queryJson)
- {
- try
- {
- var queryParam = queryJson.ToJObject();
- var dbName = this.BaseRepository().getDbConnection().Database;
- var dbMISName = this.BaseRepository("CollegeMIS").getDbConnection().Database;
- var dp = new DynamicParameters(new { });
- var strSql = new StringBuilder();
- strSql.Append(" select LC_ID, LC_party, LC_accept, LC_amount, LC_num, LC_numdoc, LC_name, LC_important, LC_secret, LC_docx, LC_other, LC_docx2, LC_docx3, LC_docx4, LC_docx5,lnp.* from " + dbMISName + ".[dbo].LC_docx2 zb ");
- strSql.Append(" left join " + dbName + ".[dbo].LR_NWF_PROCESS lnp on zb.LC_ID =lnp.F_id ");
- strSql.Append(" where 1=1 and lnp.F_SchemeCode = 'LC_docx' ");
- strSql.Append(" and lnp.F_EnabledMark != '3' and lnp.F_EnabledMark != '2' and lnp.F_IsChild='0' ");
- if (queryParam["categoryId"].ToString() == "1")
- {
- strSql.Append(" and lnp.F_IsFinished= '0' ");
- }
- else
- {
- strSql.Append(" and lnp.F_IsFinished= '1' ");
- }
- if (!queryParam["LC_party"].IsEmpty())
- {
- strSql.Append(" and zb.LC_party like '%" + queryParam["LC_party"].ToString() + "%' ");
- }
- if (!queryParam["LC_name"].IsEmpty())
- {
- strSql.Append(" and zb.LC_name like '%" + queryParam["LC_name"].ToString() + "%' ");
- }
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- DateTime startTime = queryParam["StartTime"].ToDate();
- DateTime endTime = queryParam["EndTime"].ToDate();
- strSql.Append(" and CONVERT(varchar, zb.lc_accept) >= CONVERT(varchar, '" + startTime + "') and CONVERT(varchar, zb.LC_accept) <= CONVERT(varchar, '" + endTime + "')");
- }
- return this.BaseRepository("CollegeMIS").FindList<LC_docx2Entity>(strSql.ToString(), dp,pagination);
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 根据processid 获取taskid
- /// </summary>
- /// <param name="processId">流程id</param>
- /// <returns></returns>
- public string GetFirstTaskByProcessId(string processId)
- {
- try
- {
- return this.BaseRepository().FindList<NWFTaskEntity>(a => a.F_ProcessId == processId).OrderBy(a => a.F_ModifyDate).FirstOrDefault()?.F_Id;
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取流程信息列表
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetAllList()
- {
- try
- {
- return this.BaseRepository().FindList<NWFProcessEntity>();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- public LC_hetongEntity GetHTInfo(string keyValue)
- {
- try
- {
- return this.BaseRepository("CollegeMIS").FindEntity<LC_hetongEntity>(a => a.LC_ID == keyValue);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的流程信息列表
- /// </summary>
- /// <param name="userId">用户主键</param>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <param name="schemeCode">流程模板编码</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetMyPageList(string userId, Pagination pagination, string queryJson, string schemeCode)
- {
- try
- {
- var expression = LinqExtensions.True<NWFProcessEntity>();
- var queryParam = queryJson.ToJObject();
- expression = expression.And(t => t.F_CreateUserId == userId);
- // 操作时间
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- DateTime startTime = queryParam["StartTime"].ToDate();
- DateTime endTime = queryParam["EndTime"].ToDate();
- expression = expression.And(t => t.F_CreateDate >= startTime && t.F_CreateDate <= endTime);
- }
- // 关键字
- if (!queryParam["keyword"].IsEmpty())
- {
- string keyword = queryParam["keyword"].ToString();
- expression = expression.And(t => t.F_Title.Contains(keyword) || t.F_SchemeName.Contains(keyword));
- }
- if (!string.IsNullOrEmpty(schemeCode))
- {
- expression = expression.And(t => t.F_SchemeCode.Equals(schemeCode));
- }
- expression = expression.And(t => t.F_IsChild == 0);
- var aa = this.BaseRepository().FindList<NWFProcessEntity>(expression, pagination);
- foreach (var item in aa)
- {
- item.F_TaskId = this.BaseRepository().FindEntity<NWFTaskEntity>(x => x.F_ProcessId == item.F_Id)?.F_Id;
-
- //合同流程审批专用 如果第一步校长审批同意的话 可以打印授权委托书
- if (item.F_SchemeCode == "LC_Contract_")
- {
- var entity = this.BaseRepository().FindEntity<NWFTaskLogEntity>(a =>
- a.F_ProcessId == item.F_Id && a.F_TaskUserId == "29add015-3638-415d-9f91-5024bd746fb5" &&
- a.F_OperationCode == "agree");
- if (null != entity)
- {
- item.LeaderIsAgree = true;
- }
- }
- }
- return aa;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的流程信息列表
- /// </summary>
- /// <param name="userId">用户主键</param>
- /// <param name="pagination">分页参数</param>
- /// <param name="schemeCode">流程模板编码</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetMyPageList(string userId, string queryJson, string schemeCode)
- {
- try
- {
- var expression = LinqExtensions.True<NWFProcessEntity>();
- var queryParam = queryJson.ToJObject();
- expression = expression.And(t => t.F_CreateUserId == userId);
- // 操作时间
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- DateTime startTime = queryParam["StartTime"].ToDate();
- DateTime endTime = queryParam["EndTime"].ToDate();
- expression = expression.And(t => t.F_CreateDate >= startTime && t.F_CreateDate <= endTime);
- }
- // 关键字
- if (!queryParam["keyword"].IsEmpty())
- {
- string keyword = queryParam["keyword"].ToString();
- expression = expression.And(t => t.F_Title.Contains(keyword) || t.F_SchemeName.Contains(keyword));
- }
- if (!string.IsNullOrEmpty(schemeCode))
- {
- expression = expression.And(t => t.F_SchemeCode.Equals(schemeCode));
- }
- expression = expression.And(t => t.F_IsChild == 0);
- return this.BaseRepository().FindList<NWFProcessEntity>(expression);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的代办任务列表
- /// </summary>
- /// <param name="userInfo">用户信息</param>
- /// <param name="pagination">翻页信息</param>
- /// <param name="queryJson">查询条件</param>
- /// <param name="schemeCode">流程模板编码</param>
- /// <param name="isBatchAudit">true获取批量审核任务</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetMyTaskPageList(UserInfo userInfo, Pagination pagination, string queryJson, string schemeCode, bool isBatchAudit = false)
- {
- try
- {
- string userId = userInfo.userId;
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- t.F_Id AS F_TaskId,
- t.F_Type AS F_TaskType,
- t.F_NodeName AS F_TaskName,
- t.F_IsUrge,
- t.F_ModifyDate as F_CreateDate,
- p.F_Id,
- p.F_SchemeId,
- p.F_SchemeCode,
- p.F_SchemeName,
- p.F_Title,
- p.F_Level,
- p.F_EnabledMark,
- p.F_IsAgain,
- p.F_IsFinished,
- p.F_IsChild,
- p.F_ParentTaskId,
- p.F_ParentProcessId,
- p.F_CreateUserId,
- p.F_CreateUserName,
- p.F_IsStart
- FROM
- (
- SELECT
- F_TaskId
- FROM
- LR_NWF_TaskRelation r1
- LEFT JOIN LR_NWF_Task t1 ON r1.F_TaskId = t1.F_Id
- WHERE r1.F_Mark = 0 AND r1.F_Result = 0 AND (r1.F_UserId = @userId
- ");
-
-
- // 添加委托信息
- List<UserInfo> delegateList = GetDelegateProcess(userId);
- foreach (var item in delegateList)
- {
- string processId = "'" + item.wfProcessId.Replace(",", "','") + "'";
- string userI2 = "'" + item.userId + "'";
-
- strSql.Append(" OR (r1.F_UserId =" + userI2 + " AND t1.F_ProcessId in (" + processId + ") AND t1.F_Type != 2 )");
- }
- strSql.Append(@") GROUP BY
- F_TaskId
- ) r
- LEFT JOIN LR_NWF_Task t ON t.F_Id = r.F_TaskId
- LEFT JOIN LR_NWF_Process p ON p.F_Id = t.F_ProcessId
- WHERE
- t.F_IsFinished = 0 AND (p.F_IsFinished = 0 OR t.F_Type = 2 OR t.F_Type = 4 OR t.F_Type = 6)");
-
- var queryParam = queryJson.ToJObject();
- DateTime startTime = DateTime.Now, endTime = DateTime.Now;
-
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- startTime = queryParam["StartTime"].ToDate();
- endTime = queryParam["EndTime"].ToDate();
- strSql.Append(" AND ( t.F_ModifyDate >= @startTime AND t.F_ModifyDate <= @endTime ) ");
- }
- string keyword = "";
- if (!queryParam["keyword"].IsEmpty())
- {
- keyword = "%" + queryParam["keyword"].ToString() + "%";
- strSql.Append(" AND ( p.F_Title like @keyword OR p.F_SchemeName like @keyword ) ");
- }
-
- if (!string.IsNullOrEmpty(schemeCode))
- {
- strSql.Append(" AND p.F_SchemeCode = @schemeCode ");
- }
-
- if (isBatchAudit)
- {
- strSql.Append(" AND t.F_IsBatchAudit = 1 ");
- }
-
- return this.BaseRepository().FindList<NWFProcessEntity>(strSql.ToString(), new { userId, startTime, endTime, keyword, schemeCode }, pagination);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的代办任务列表
- /// </summary>
- /// <param name="userInfo">用户信息</param>
- /// <param name="queryJson">查询条件</param>
- /// <param name="schemeCode">流程模板编码</param>
- /// <param name="isBatchAudit">true获取批量审核任务</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetMyTaskPageList(UserInfo userInfo, string queryJson, string schemeCode, bool isBatchAudit = false)
- {
- try
- {
- string userId = userInfo.userId;
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- t.F_Id AS F_TaskId,
- t.F_Type AS F_TaskType,
- t.F_NodeName AS F_TaskName,
- t.F_IsUrge,
- t.F_ModifyDate as F_CreateDate,
- p.F_Id,
- p.F_SchemeId,
- p.F_SchemeCode,
- p.F_SchemeName,
- p.F_Title,
- p.F_Level,
- p.F_EnabledMark,
- p.F_IsAgain,
- p.F_IsFinished,
- p.F_IsChild,
- p.F_ParentTaskId,
- p.F_ParentProcessId,
- p.F_CreateUserId,
- p.F_CreateUserName,
- p.F_IsStart
- FROM
- (
- SELECT
- F_TaskId
- FROM
- LR_NWF_TaskRelation r1
- LEFT JOIN LR_NWF_Task t1 ON r1.F_TaskId = t1.F_Id
- WHERE r1.F_Mark = 0 AND r1.F_Result = 0 AND (r1.F_UserId = @userId
- ");
-
-
- // 添加委托信息
- List<UserInfo> delegateList = GetDelegateProcess(userId);
- foreach (var item in delegateList)
- {
- string processId = "'" + item.wfProcessId.Replace(",", "','") + "'";
- string userI2 = "'" + item.userId + "'";
-
- strSql.Append(" OR (r1.F_UserId =" + userI2 + " AND t1.F_ProcessId in (" + processId + ") AND t1.F_Type != 2 )");
- }
- strSql.Append(@") GROUP BY
- F_TaskId
- ) r
- LEFT JOIN LR_NWF_Task t ON t.F_Id = r.F_TaskId
- LEFT JOIN LR_NWF_Process p ON p.F_Id = t.F_ProcessId
- WHERE
- t.F_IsFinished = 0 AND (p.F_IsFinished = 0 OR t.F_Type = 2 OR t.F_Type = 4 OR t.F_Type = 6)");
-
- var queryParam = queryJson.ToJObject();
- DateTime startTime = DateTime.Now, endTime = DateTime.Now;
-
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- startTime = queryParam["StartTime"].ToDate();
- endTime = queryParam["EndTime"].ToDate();
- strSql.Append(" AND ( t.F_ModifyDate >= @startTime AND t.F_ModifyDate <= @endTime ) ");
- }
- string keyword = "";
- if (!queryParam["keyword"].IsEmpty())
- {
- keyword = "%" + queryParam["keyword"].ToString() + "%";
- strSql.Append(" AND ( p.F_Title like @keyword OR p.F_SchemeName like @keyword ) ");
- }
-
- if (!string.IsNullOrEmpty(schemeCode))
- {
- strSql.Append(" AND p.F_SchemeCode = @schemeCode ");
- }
-
- if (isBatchAudit)
- {
- strSql.Append(" AND t.F_IsBatchAudit = 1 ");
- }
-
- return this.BaseRepository().FindList<NWFProcessEntity>(strSql.ToString(), new { userId, startTime, endTime, keyword, schemeCode });
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的已办任务列表
- /// </summary>
- /// <param name="userId">用户主键</param>
- /// <param name="pagination">翻页信息</param>
- /// <param name="queryJson">查询条件</param>
- /// <param name="schemeCode">流程模板编码</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetMyFinishTaskPageList(UserInfo userInfo, Pagination pagination, string queryJson, string schemeCode)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- t.F_Id AS F_TaskId,
- t.F_Type AS F_TaskType,
- t.F_NodeName AS F_TaskName,
- r.F_Time as F_CreateDate,
- p.F_Id,
- p.F_SchemeId,
- p.F_SchemeCode,
- p.F_SchemeName,
- p.F_Title,
- p.F_Level,
- p.F_EnabledMark,
- p.F_IsAgain,
- p.F_IsFinished,
- p.F_IsChild,
- p.F_ParentTaskId,
- p.F_ParentProcessId,
- p.F_CreateUserId,
- p.F_CreateUserName,
- p.F_IsStart,
- t.F_NodeId
- FROM
- LR_NWF_Task t
- LEFT JOIN LR_NWF_TaskRelation r on r.F_TaskId = t.F_Id
- LEFT JOIN LR_NWF_Process p ON t.F_ProcessId = p.F_Id
- WHERE
- (r.F_Result = 1 OR r.F_Result = 2 OR r.F_Result = 4) AND r.F_UserId = @userId
- ");
-
-
- var queryParam = queryJson.ToJObject();
- DateTime startTime = DateTime.Now, endTime = DateTime.Now;
-
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- startTime = queryParam["StartTime"].ToDate();
- endTime = queryParam["EndTime"].ToDate();
- strSql.Append(" AND ( r.F_Time >= @startTime AND r.F_Time <= @endTime ) ");
- }
- string keyword = "";
- if (!queryParam["keyword"].IsEmpty())
- {
- keyword = "%" + queryParam["keyword"].ToString() + "%";
- strSql.Append(" AND ( p.F_ProcessName like @keyword OR p.F_SchemeName like @keyword ) ");
- }
- if (!string.IsNullOrEmpty(schemeCode))
- {
- strSql.Append(" AND p.F_SchemeCode = @schemeCode ");
- }
-
- var data = this.BaseRepository().FindList<NWFProcessEntity>(strSql.ToString(), new { userInfo.userId, startTime, endTime, keyword, schemeCode }, pagination);
- foreach (var item in data)
- {
- var nextNode = this.BaseRepository().FindEntity<NWFTaskLogEntity>(a =>
- a.F_ProcessId == item.F_Id && a.F_PrevNodeId == item.F_NodeId);
- if (null != nextNode)
- {
- item.NextNodeIsAudited = true;
- }
- }
-
- return data;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的已办任务列表
- /// </summary>
- /// <param name="userId">用户主键</param>
- /// <param name="queryJson">查询条件</param>
- /// <param name="schemeCode">流程模板编码</param>
- /// <returns></returns>
- public IEnumerable<NWFProcessEntity> GetMyFinishTaskPageList(UserInfo userInfo, string queryJson, string schemeCode)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- t.F_Id AS F_TaskId,
- t.F_Type AS F_TaskType,
- t.F_NodeName AS F_TaskName,
- r.F_Time as F_CreateDate,
- p.F_Id,
- p.F_SchemeId,
- p.F_SchemeCode,
- p.F_SchemeName,
- p.F_Title,
- p.F_Level,
- p.F_EnabledMark,
- p.F_IsAgain,
- p.F_IsFinished,
- p.F_IsChild,
- p.F_ParentTaskId,
- p.F_ParentProcessId,
- p.F_CreateUserId,
- p.F_CreateUserName,
- p.F_IsStart
- FROM
- LR_NWF_Task t
- LEFT JOIN LR_NWF_TaskRelation r on r.F_TaskId = t.F_Id
- LEFT JOIN LR_NWF_Process p ON t.F_ProcessId = p.F_Id
- WHERE
- (r.F_Result = 1 OR r.F_Result = 2 OR r.F_Result = 4) AND r.F_UserId = @userId
- ");
-
-
- var queryParam = queryJson.ToJObject();
- DateTime startTime = DateTime.Now, endTime = DateTime.Now;
-
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- startTime = queryParam["StartTime"].ToDate();
- endTime = queryParam["EndTime"].ToDate();
- strSql.Append(" AND ( r.F_Time >= @startTime AND r.F_Time <= @endTime ) ");
- }
- string keyword = "";
- if (!queryParam["keyword"].IsEmpty())
- {
- keyword = "%" + queryParam["keyword"].ToString() + "%";
- strSql.Append(" AND ( p.F_ProcessName like @keyword OR p.F_SchemeName like @keyword ) ");
- }
- if (!string.IsNullOrEmpty(schemeCode))
- {
- strSql.Append(" AND p.F_SchemeCode = @schemeCode ");
- }
-
- return this.BaseRepository().FindList<NWFProcessEntity>(strSql.ToString(), new { userInfo.userId, startTime, endTime, keyword, schemeCode });
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取委托人关联的流程进程列表
- /// </summary>
- /// <param name="userId">当前用户主键</param>
- /// <returns></returns>
- public List<UserInfo> GetDelegateProcess(string userId)
- {
- try
- {
- List<UserInfo> delegateUserlist = new List<UserInfo>();
- DateTime datatime = DateTime.Now;
- IEnumerable<NWFDelegateRuleEntity> wfDelegateRuleList = this.BaseRepository().FindList<NWFDelegateRuleEntity>(t => t.F_ToUserId == userId && t.F_BeginDate <= datatime && t.F_EndDate >= datatime);
- foreach (var item in wfDelegateRuleList)
- {
- UserInfo userinfo = new UserInfo();
- userinfo.userId = item.F_CreateUserId;
-
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- p.F_Id
- FROM
- LR_NWF_DelegateRelation d
- LEFT JOIN LR_NWF_SchemeInfo s ON s.F_Id = d.F_SchemeInfoId
- LEFT JOIN LR_NWF_Process p ON p.F_SchemeCode = s.F_Code
- WHERE
- p.F_Id IS NOT NULL
- AND p.F_IsFinished = 0
- AND d.F_DelegateRuleId = @DelegateRuleId ");
-
- DataTable dt = this.BaseRepository().FindTable(strSql.ToString(), new { DelegateRuleId = item.F_Id });
- userinfo.wfProcessId = "";
- foreach (DataRow dr in dt.Rows)
- {
- if (!string.IsNullOrEmpty(dr[0].ToString()))
- {
- if (!string.IsNullOrEmpty(userinfo.wfProcessId))
- {
- userinfo.wfProcessId += ",";
- }
- userinfo.wfProcessId += dr[0].ToString();
- }
- }
-
- if (!string.IsNullOrEmpty(userinfo.wfProcessId))
- {
- delegateUserlist.Add(userinfo);
- }
- }
- return delegateUserlist;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- #region 流程表单数据统计
-
- /// <summary>
- /// 用印申请流程表单统计
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<LC_yyspdEntity> GetPageListOfyyspd(Pagination pagination, string queryJson)
- {
- try
- {
- var misdbname = BaseRepository("CollegeMIS").getDbConnection().Database;
- var basedbname = BaseRepository().getDbConnection().Database;
-
- var strSql = new StringBuilder();
- strSql.Append("select y.*,t.F_Id,t.F_SchemeId,t.F_SchemeCode,t.F_SchemeName,t.F_Title,t.F_Level,t.F_EnabledMark,t.F_IsFinished,t.F_CreateDate,t.F_CreateUserId,t.F_CreateUserName as F_CreateUserNameInProcess from LR_NWF_Process t left join LR_NWF_SchemeInfo s on t.F_SchemeCode=s.F_Code ");
- strSql.Append($" left join {misdbname}.dbo.LC_yyspd y on y.LC_ID=t.F_Id ");
- strSql.Append(" where 1=1 and t.F_EnabledMark !=2 and t.F_EnabledMark != 3 and t.F_IsChild = 0 ");
- strSql.Append(" and s.F_Code='LC_yyspd' ");
-
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
-
- // 分类
- if (!queryParam["categoryId"].IsEmpty()) // 1:未完成 2:已完成
- {
- if (queryParam["categoryId"].ToString() == "1")
- {
- strSql.Append(" and t.F_IsFinished = 0 ");
- }
- else
- {
- strSql.Append(" and t.F_IsFinished = 1 ");
- }
- }
- //用印名称
- if (!queryParam["LC_yzmc"].IsEmpty())
- {
- dp.Add("LC_yzmc", "%" + queryParam["LC_yzmc"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_yzmc like @LC_yzmc ");
- }
- //用印事项
- if (!queryParam["LC_yysx"].IsEmpty())
- {
- dp.Add("LC_yysx", "%" + queryParam["LC_yysx"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_yysx like @LC_yysx ");
- }
- //用印时间
- if (!queryParam["LC_yysj"].IsEmpty())
- {
- dp.Add("LC_yysj", "%" + queryParam["LC_yysj"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_yysj like @LC_yysj ");
- }
- //关键字:用印名称、用印事项、用印时间
- if (!queryParam["keyword"].IsEmpty())
- {
- dp.Add("keyword", "%" + queryParam["keyword"].ToString() + "%", DbType.String);
- strSql.Append(" AND (y.LC_yzmc like @keyword or y.LC_yysx like @keyword or y.LC_yysj like @keyword) ");
- }
- // 用印时间
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- dp.Add("StartTime", queryParam["StartTime"].ToString(), DbType.String);
- dp.Add("EndTime", queryParam["EndTime"].ToString(), DbType.String);
- strSql.Append(" and (y.LC_yysj >= @StartTime and y.LC_yysj <= @EndTime)");
- }
-
- var result = this.BaseRepository().FindList<LC_yyspdEntity>(strSql.ToString(), dp);
-
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 会议室申请流程表单统计
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<LC_meetingEntity> GetPageListOfmeeting(Pagination pagination, string queryJson)
- {
- try
- {
- var misdbname = BaseRepository("CollegeMIS").getDbConnection().Database;
- var basedbname = BaseRepository().getDbConnection().Database;
-
- var strSql = new StringBuilder();
- strSql.Append("select y.*,t.F_Id,t.F_SchemeId,t.F_SchemeCode,t.F_SchemeName,t.F_Title,t.F_Level,t.F_EnabledMark,t.F_IsFinished,t.F_CreateDate,t.F_CreateUserId,t.F_CreateUserName as F_CreateUserNameInProcess from LR_NWF_Process t left join LR_NWF_SchemeInfo s on t.F_SchemeCode=s.F_Code ");
- strSql.Append($" left join {misdbname}.dbo.LC_meeting y on y.LC_ID=t.F_Id ");
- strSql.Append(" where 1=1 and t.F_EnabledMark !=2 and t.F_EnabledMark != 3 and t.F_IsChild = 0 ");
- strSql.Append(" and s.F_Code='LC_meeting' ");
-
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
-
- // 分类
- if (!queryParam["categoryId"].IsEmpty()) // 1:未完成 2:已完成
- {
- if (queryParam["categoryId"].ToString() == "1")
- {
- strSql.Append(" and t.F_IsFinished = 0 ");
- }
- else
- {
- strSql.Append(" and t.F_IsFinished = 1 ");
- }
- }
- //申请人
- if (!queryParam["F_CreateUserName"].IsEmpty())
- {
- dp.Add("F_CreateUserName", "%" + queryParam["F_CreateUserName"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.F_CreateUserName like @F_CreateUserName ");
- }
- //会议主题
- if (!queryParam["LC_Title"].IsEmpty())
- {
- dp.Add("LC_Title", "%" + queryParam["LC_Title"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_Title like @LC_Title ");
- }
- //会议内容
- if (!queryParam["LC_Content"].IsEmpty())
- {
- dp.Add("LC_Content", "%" + queryParam["LC_Content"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_Content like @LC_Content ");
- }
- //会议室
- if (!queryParam["LC_Meetroom"].IsEmpty())
- {
- dp.Add("LC_Meetroom", "%" + queryParam["LC_Meetroom"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_Meetroom like @LC_Meetroom ");
- }
- //会议时间
- if (!queryParam["LC_MeetTime"].IsEmpty())
- {
- dp.Add("LC_MeetTime", "%" + queryParam["LC_MeetTime"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_MeetTime like @LC_MeetTime ");
- }
- //关键字:申请人、会议主题、会议内容、会议室、会议时间
- if (!queryParam["keyword"].IsEmpty())
- {
- dp.Add("keyword", "%" + queryParam["keyword"].ToString() + "%", DbType.String);
- strSql.Append(" AND (y.F_CreateUserName like @keyword or y.LC_Title like @keyword or y.LC_Content like @keyword or y.LC_Meetroom like @keyword or y.LC_MeetTime like @keyword) ");
- }
- // 会议时间
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- dp.Add("StartTime", queryParam["StartTime"].ToString(), DbType.Date);
- dp.Add("EndTime", queryParam["EndTime"].ToString(), DbType.Date);
- strSql.Append(" and (y.LC_MeetTime >= @StartTime and y.LC_MeetTime <= @EndTime)");
- }
-
- var result = this.BaseRepository().FindList<LC_meetingEntity>(strSql.ToString(), dp);
-
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 党委会党委专题会申请流程表单统计
- /// </summary>
- /// <param name="pagination">分页参数</param>
- /// <param name="queryJson">查询条件</param>
- /// <returns></returns>
- public IEnumerable<LC_dwhsqEntity> GetPageListOfdwhsq(Pagination pagination, string queryJson)
- {
- try
- {
- var misdbname = BaseRepository("CollegeMIS").getDbConnection().Database;
- var basedbname = BaseRepository().getDbConnection().Database;
-
- var strSql = new StringBuilder();
- strSql.Append("select y.*,t.F_Id,t.F_SchemeId,t.F_SchemeCode,t.F_SchemeName,t.F_Title,t.F_Level,t.F_EnabledMark,t.F_IsFinished,t.F_CreateDate,t.F_CreateUserId,t.F_CreateUserName as F_CreateUserNameInProcess from LR_NWF_Process t left join LR_NWF_SchemeInfo s on t.F_SchemeCode=s.F_Code ");
- strSql.Append($" left join {misdbname}.dbo.LC_dwhsq y on y.LC_ID=t.F_Id ");
- strSql.Append(" where 1=1 and t.F_EnabledMark !=2 and t.F_EnabledMark != 3 and t.F_IsChild = 0 ");
- strSql.Append(" and s.F_Code='LC_dwhsq' ");
-
- var queryParam = queryJson.ToJObject();
- // 虚拟参数
- var dp = new DynamicParameters(new { });
-
- // 分类
- if (!queryParam["categoryId"].IsEmpty()) // 1:未完成 2:已完成
- {
- if (queryParam["categoryId"].ToString() == "1")
- {
- strSql.Append(" and t.F_IsFinished = 0 ");
- }
- else
- {
- strSql.Append(" and t.F_IsFinished = 1 ");
- }
- }
- //申请人
- if (!queryParam["F_CreateUserName"].IsEmpty())
- {
- dp.Add("F_CreateUserName", "%" + queryParam["F_CreateUserName"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.F_CreateUserName like @F_CreateUserName ");
- }
- //会议主题
- if (!queryParam["LC_hyzt"].IsEmpty())
- {
- dp.Add("LC_hyzt", "%" + queryParam["LC_hyzt"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_hyzt like @LC_hyzt ");
- }
- //会议内容
- if (!queryParam["LC_hynr"].IsEmpty())
- {
- dp.Add("LC_hynr", "%" + queryParam["LC_hynr"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_hynr like @LC_hynr ");
- }
- //会议时间
- if (!queryParam["LC_hysj"].IsEmpty())
- {
- dp.Add("LC_hysj", "%" + queryParam["LC_hysj"].ToString() + "%", DbType.String);
- strSql.Append(" AND y.LC_hysj like @LC_hysj ");
- }
- //关键字:申请人、会议主题、会议内容、会议时间
- if (!queryParam["keyword"].IsEmpty())
- {
- dp.Add("keyword", "%" + queryParam["keyword"].ToString() + "%", DbType.String);
- strSql.Append(" AND (y.F_CreateUserName like @keyword or y.LC_hyzt like @keyword or y.LC_hysj like @keyword or y.LC_hynr like @keyword ) ");
- }
- // 会议时间
- if (!queryParam["StartTime"].IsEmpty() && !queryParam["EndTime"].IsEmpty())
- {
- dp.Add("StartTime", queryParam["StartTime"].ToString(), DbType.Date);
- dp.Add("EndTime", queryParam["EndTime"].ToString(), DbType.Date);
- strSql.Append(" and (y.LC_hysj >= @StartTime and y.LC_hysj <= @EndTime)");
- }
-
- var result = this.BaseRepository().FindList<LC_dwhsqEntity>(strSql.ToString(), dp);
-
- return result;
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- #endregion
-
- #region 获取sql语句
- /// <summary>
- /// 获取我的流程信息列表SQL语句
- /// </summary>
- /// <returns></returns>
- public string GetMySql()
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- p.F_CreateDate,
- p.F_Id,
- p.F_SchemeId,
- p.F_SchemeCode,
- p.F_SchemeName,
- p.F_Title,
- p.F_Level,
- p.F_EnabledMark,
- p.F_IsAgain,
- p.F_IsFinished,
- p.F_IsChild,
- p.F_ParentTaskId,
- p.F_ParentProcessId,
- p.F_CreateUserId,
- p.F_CreateUserName,
- p.F_IsStart
- FROM
- LR_NWF_Process p
- WHERE
- p.F_CreateUserId = @userId AND p.F_IsChild = 0
- ");
-
- return strSql.ToString();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的代办任务列表SQL语句
- /// </summary>
- /// <param name="userInfo">用户信息</param>
- /// <param name="isBatchAudit">true获取批量审核任务</param>
- /// <returns></returns>
- public string GetMyTaskSql(UserInfo userInfo, bool isBatchAudit = false)
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- t.F_Id AS F_TaskId,
- t.F_Type AS F_TaskType,
- t.F_NodeName AS F_TaskName,
- t.F_IsUrge,
- t.F_ModifyDate as F_CreateDate,
- p.F_Id,
- p.F_SchemeId,
- p.F_SchemeCode,
- p.F_SchemeName,
- p.F_Title,
- p.F_Level,
- p.F_EnabledMark,
- p.F_IsAgain,
- p.F_IsFinished,
- p.F_IsChild,
- p.F_ParentTaskId,
- p.F_ParentProcessId,
- p.F_CreateUserId,
- p.F_CreateUserName,
- p.F_IsStart
- FROM
- (
- SELECT
- F_TaskId
- FROM
- LR_NWF_TaskRelation r1
- LEFT JOIN LR_NWF_Task t1 ON r1.F_TaskId = t1.F_Id
- WHERE r1.F_Mark = 0 AND r1.F_Result = 0 AND (r1.F_UserId = @userId
- ");
-
-
- // 添加委托信息
- List<UserInfo> delegateList = GetDelegateProcess(userInfo.userId);
- foreach (var item in delegateList)
- {
- string processId = "'" + item.wfProcessId.Replace(",", "','") + "'";
- string userI2 = "'" + item.userId + "'";
-
- strSql.Append(" OR (r1.F_UserId =" + userI2 + " AND t1.F_ProcessId in (" + processId + ") AND t1.F_Type != 2 )");
- }
- strSql.Append(@") GROUP BY
- F_TaskId
- ) r
- LEFT JOIN LR_NWF_Task t ON t.F_Id = r.F_TaskId
- LEFT JOIN LR_NWF_Process p ON p.F_Id = t.F_ProcessId
- WHERE
- t.F_IsFinished = 0 AND (p.F_IsFinished = 0 OR t.F_Type = 2)");
-
- if (isBatchAudit)
- {
- strSql.Append(" AND t.F_IsBatchAudit = 1 ");
- }
-
- return strSql.ToString();
-
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 获取我的已办任务列表SQL语句
- /// </summary>
- /// <returns></returns>
- public string GetMyFinishTaskSql()
- {
- try
- {
- var strSql = new StringBuilder();
- strSql.Append(@"SELECT
- t.F_Id AS F_TaskId,
- t.F_Type AS F_TaskType,
- t.F_NodeName AS F_TaskName,
- r.F_Time as F_CreateDate,
- p.F_Id,
- p.F_SchemeId,
- p.F_SchemeCode,
- p.F_SchemeName,
- p.F_Title,
- p.F_Level,
- p.F_EnabledMark,
- p.F_IsAgain,
- p.F_IsFinished,
- p.F_IsChild,
- p.F_ParentTaskId,
- p.F_ParentProcessId,
- p.F_CreateUserId,
- p.F_CreateUserName,
- p.F_IsStart
- FROM
- LR_NWF_Task t
- LEFT JOIN LR_NWF_TaskRelation r on r.F_TaskId = t.F_Id
- LEFT JOIN LR_NWF_Process p ON t.F_ProcessId = p.F_Id
- WHERE
- (r.F_Result = 1 OR r.F_Result = 2 OR r.F_Result = 4) AND r.F_UserId = @userId
- ");
-
- return strSql.ToString();
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- #endregion
-
- #endregion
-
- #region 保存信息
- /// <summary>
- /// 保存流程进程数据
- /// </summary>
- /// <param name="nWFProcessEntity">流程进程</param>
- /// <param name="taskList">流程任务列表</param>
- /// <param name="taskMsgList">流程消息列表</param>
- /// <param name="taskLogEntity">任务日志</param>
- public void Save(NWFProcessEntity nWFProcessEntity, List<NWFTaskEntity> taskList, List<NWFTaskMsgEntity> taskMsgList, NWFTaskLogEntity taskLogEntity)
- {
- NWFProcessEntity nWFProcessEntityTmp = this.BaseRepository().FindEntity<NWFProcessEntity>(nWFProcessEntity.F_Id);
- var db = this.BaseRepository().BeginTrans();
- try
- {
- if (nWFProcessEntityTmp == null)
- {
- db.Insert(nWFProcessEntity);
- }
- else
- {
- db.Update(nWFProcessEntity);
- }
- foreach (var task in taskList)
- {
- task.F_ModifyDate = DateTime.Now;
- db.Insert(task);
- int num = 1;
- if (task.nWFUserInfoList != null)
- {
- foreach (var taskUser in task.nWFUserInfoList)
- {
- NWFTaskRelationEntity nWFTaskRelationEntity = new NWFTaskRelationEntity();
- nWFTaskRelationEntity.Create();
- nWFTaskRelationEntity.F_TaskId = task.F_Id;
- nWFTaskRelationEntity.F_UserId = taskUser.Id;
- nWFTaskRelationEntity.F_Mark = taskUser.Mark;
- nWFTaskRelationEntity.F_Result = 0;
- nWFTaskRelationEntity.F_Sort = num;
- db.Insert(nWFTaskRelationEntity);
- num++;
- }
- }
- }
- foreach (var taskMsg in taskMsgList)
- {
- db.Insert(taskMsg);
- }
-
- db.Insert(taskLogEntity);
-
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 保存流程进程信息
- /// </summary>
- /// <param name="taskLogEntity">任务日志</param>
- /// <param name="taskRelationEntity">任务执行人状态更新</param>
- /// <param name="taskEntityUpdate">任务状态更新</param>
- /// <param name="processEntity">流程进程状态更新</param>
- /// <param name="confluenceList">会签信息</param>
- /// <param name="closeTaskList">会签需要关闭的任务</param>
- /// <param name="taskList">新的任务列表</param>
- /// <param name="taskMsgList">新的任务消息列表</param>
- public void Save(NWFTaskLogEntity taskLogEntity, NWFTaskRelationEntity taskRelationEntity, NWFTaskEntity taskEntityUpdate, NWFProcessEntity processEntity, List<NWFConfluenceEntity> confluenceList, List<NWFTaskEntity> closeTaskList, List<NWFTaskEntity> taskList, List<NWFTaskMsgEntity> taskMsgList, NWFProcessEntity pProcessEntity = null)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- db.Insert(taskLogEntity);
- if (taskRelationEntity != null)
- db.Update(taskRelationEntity);
- db.Update(taskEntityUpdate);
-
- if (processEntity != null)
- {
- db.Update(processEntity);
- }
-
- if (pProcessEntity != null)
- {
- db.Update(pProcessEntity);
- }
-
- if (confluenceList != null)
- {
- foreach (var item in confluenceList)
- {
- if (item.isClear)
- {
- string processId = item.F_ProcessId;
- string nodeId = item.F_NodeId;
- db.Delete<NWFConfluenceEntity>(t => t.F_ProcessId == processId && t.F_NodeId == nodeId);
- // 增加一条会签审核记录
- NWFTaskLogEntity nWFTaskLogEntity = new NWFTaskLogEntity()
- {
- F_ProcessId = processId,
- F_OperationCode = "confluence",
- F_OperationName = "会签" + (item.confluenceRes == 1 ? "通过" : "不通过"),
- F_NodeId = item.F_NodeId,
- F_TaskType = 7
- };
- nWFTaskLogEntity.Create();
- db.Insert(nWFTaskLogEntity);
- }
- else
- {
- db.Insert(item);
- }
- }
- }
-
- if (closeTaskList != null)
- {
- foreach (var item in closeTaskList)
- {
- db.Update(item);
- }
- }
-
- foreach (var task in taskList)
- {
- task.F_ModifyDate = DateTime.Now;
- db.Insert(task);
- int num = 1;
- if (task.nWFUserInfoList != null)
- {
- foreach (var taskUser in task.nWFUserInfoList)
- {
- NWFTaskRelationEntity nWFTaskRelationEntity = new NWFTaskRelationEntity();
- nWFTaskRelationEntity.Create();
- nWFTaskRelationEntity.F_TaskId = task.F_Id;
- nWFTaskRelationEntity.F_UserId = taskUser.Id;
- nWFTaskRelationEntity.F_Mark = taskUser.Mark;
- nWFTaskRelationEntity.F_Result = 0;
- nWFTaskRelationEntity.F_Sort = num;
- db.Insert(nWFTaskRelationEntity);
- num++;
- }
- }
- }
- foreach (var taskMsg in taskMsgList)
- {
- db.Insert(taskMsg);
- }
-
-
-
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 保存流程进程数据
- /// </summary>
- /// <param name="nWFProcessEntity">流程进程</param>
- public void Save(NWFProcessEntity nWFProcessEntity)
- {
- try
- {
- this.BaseRepository().Insert(nWFProcessEntity);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 保存流程进程数据
- /// </summary>
- /// <param name="nWFTaskLogEntity">任务日志数据</param>
- /// <param name="taskUserUpdateList">任务执行人需要更新状态数据</param>
- /// <param name="nWFTaskMsgEntity">任务消息</param>
- public void Save(NWFTaskLogEntity nWFTaskLogEntity, List<NWFTaskRelationEntity> taskUserUpdateList, NWFTaskMsgEntity nWFTaskMsgEntity)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- db.Insert(nWFTaskLogEntity);
-
- foreach (var item in taskUserUpdateList)
- {
- db.Update(item);
- }
- db.Insert(nWFTaskMsgEntity);
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- /// <summary>
- /// 保存流程进程数据
- /// </summary>
- /// <param name="nWFTaskLogEntity">任务日志数据</param>
- /// <param name="nWFTaskRelationEntity">任务执行人需要更新状态数据</param>
- /// <param name="taskEntity">任务</param>
- public void Save(NWFTaskLogEntity nWFTaskLogEntity, NWFTaskRelationEntity nWFTaskRelationEntity, NWFTaskEntity taskEntity)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- db.Insert(nWFTaskLogEntity);
- db.Update(nWFTaskRelationEntity);
- if (taskEntity != null)
- {
- taskEntity.F_ModifyDate = DateTime.Now;
- db.Update(taskEntity);
- }
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存流程进程数据
- /// </summary>
- /// <param name="nWFTaskLogEntity">任务日志数据</param>
- /// <param name="taskList">需要更新的任务列表</param>
- /// <param name="taskMsgList">任务消息列表</param>
- public void Save(NWFTaskLogEntity nWFTaskLogEntity, List<NWFTaskEntity> taskList, List<NWFTaskMsgEntity> taskMsgList)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- db.Insert(nWFTaskLogEntity);
- foreach (var item in taskList)
- {
- item.F_ModifyDate = DateTime.Now;
- db.Update(item);
- }
- foreach (var item in taskMsgList)
- {
- db.Insert(item);
- }
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// 保存流程进程数据
- /// </summary>
- /// <param name="nWFTaskLogEntity">任务日志数据</param>
- /// <param name="taskList">需要更新的任务列表</param>
- /// <param name="taskMsgList">任务消息列表</param>
- public void Save(NWFTaskLogEntity nWFTaskLogEntity, NWFTaskEntity task, List<NWFTaskMsgEntity> taskMsgList)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- db.Insert(nWFTaskLogEntity);
- task.F_ModifyDate = DateTime.Now;
- db.Update(task);
- foreach (var item in taskMsgList)
- {
- db.Insert(item);
- }
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存流程进程信息
- /// </summary>
- /// <param name="taskLogEntity">任务日志</param>
- /// <param name="taskRelationEntity">任务执行人状态更新</param>
- /// <param name="taskEntityUpdate">任务状态更新</param>
- /// <param name="processEntity">流程进程状态更新</param>
- /// <param name="taskList">新的任务列表</param>
- /// <param name="taskMsgList">新的任务消息列表</param>
- public void Save(NWFTaskLogEntity pTaskLogEntity, NWFTaskRelationEntity pTaskRelationEntity, NWFTaskEntity pTaskEntityUpdate, NWFProcessEntity pProcessEntity, List<NWFTaskEntity> pTaskList, List<NWFTaskMsgEntity> pTaskMsgList, NWFProcessEntity nWFProcessEntity, List<NWFTaskEntity> taskList, List<NWFTaskMsgEntity> taskMsgList, NWFTaskLogEntity taskLogEntity)
- {
- NWFProcessEntity nWFProcessEntityTmp = this.BaseRepository().FindEntity<NWFProcessEntity>(nWFProcessEntity.F_Id);
- IEnumerable<NWFTaskEntity> uTaskList = this.BaseRepository().FindList<NWFTaskEntity>(t => t.F_ProcessId == nWFProcessEntity.F_Id && t.F_NodeId == taskLogEntity.F_NodeId && t.F_IsFinished == 0);
- var db = this.BaseRepository().BeginTrans();
- try
- {
- if (nWFProcessEntityTmp == null)
- {
- db.Insert(nWFProcessEntity);
- }
- else
- {
- db.Update(nWFProcessEntity);
- }
- foreach (var task in taskList)
- {
- task.F_ModifyDate = DateTime.Now;
- db.Insert(task);
- int num = 1;
- if (task.nWFUserInfoList != null)
- {
- foreach (var taskUser in task.nWFUserInfoList)
- {
- NWFTaskRelationEntity nWFTaskRelationEntity = new NWFTaskRelationEntity();
- nWFTaskRelationEntity.Create();
- nWFTaskRelationEntity.F_TaskId = task.F_Id;
- nWFTaskRelationEntity.F_UserId = taskUser.Id;
- nWFTaskRelationEntity.F_Mark = taskUser.Mark;
- nWFTaskRelationEntity.F_Result = 0;
- nWFTaskRelationEntity.F_Sort = num;
- db.Insert(nWFTaskRelationEntity);
- num++;
- }
- }
- }
- foreach (var taskMsg in taskMsgList)
- {
- db.Insert(taskMsg);
- }
-
- db.Insert(taskLogEntity);
- foreach (var item in uTaskList)
- {
- item.F_IsFinished = 1;
- db.Update(item);
- }
-
-
- // 父流程
- db.Insert(pTaskLogEntity);
- db.Update(pTaskRelationEntity);
- db.Update(pTaskEntityUpdate);
- if (pProcessEntity != null)
- {
- db.Update(pProcessEntity);
- }
-
- foreach (var task in pTaskList)
- {
- task.F_ModifyDate = DateTime.Now;
- db.Insert(task);
- int num = 1;
- if (task.nWFUserInfoList != null)
- {
- foreach (var taskUser in task.nWFUserInfoList)
- {
- NWFTaskRelationEntity nWFTaskRelationEntity = new NWFTaskRelationEntity();
- nWFTaskRelationEntity.Create();
- nWFTaskRelationEntity.F_TaskId = task.F_Id;
- nWFTaskRelationEntity.F_UserId = taskUser.Id;
- nWFTaskRelationEntity.F_Mark = taskUser.Mark;
- nWFTaskRelationEntity.F_Result = 0;
- nWFTaskRelationEntity.F_Sort = num;
- db.Insert(nWFTaskRelationEntity);
- num++;
- }
- }
- }
- foreach (var taskMsg in pTaskMsgList)
- {
- db.Insert(taskMsg);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
- /// <summary>
- /// (流程撤销)
- /// </summary>
- /// <param name="processId">流程进程实例</param>
- /// <param name="taskList">流程任务列表</param>
- /// <param name="EnabledMark">2草稿3作废</param>
- public void Save(string processId, IEnumerable<NWFTaskEntity> taskList, int EnabledMark, NWFTaskLogEntity nWFTaskLogEntity = null)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- NWFProcessEntity nWFProcessEntity = new NWFProcessEntity();
- nWFProcessEntity.F_Id = processId;
- nWFProcessEntity.F_EnabledMark = EnabledMark;
- db.Update(nWFProcessEntity);
- if (EnabledMark == 2)
- {
- db.Delete<NWFTaskLogEntity>(t => t.F_ProcessId == processId);
- }
- foreach (var task in taskList)
- {
- db.Delete(task);
- string taskId = task.F_Id;
- db.Delete<NWFTaskMsgEntity>(t => t.F_TaskId == taskId);
- db.Delete<NWFTaskRelationEntity>(t => t.F_TaskId == taskId);
- }
- if (nWFTaskLogEntity != null)
- {
- db.Insert(nWFTaskLogEntity);
- }
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 删除流程进程实体
- /// </summary>
- /// <param name="processId">流程进程主键</param>
- public void DeleteEntity(string processId)
- {
- try
- {
- this.BaseRepository().Delete<NWFProcessEntity>(t => t.F_Id == processId);
- }
- catch (Exception ex)
- {
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 删除流程进程所有信息(流程撤销)
- /// </summary>
- /// <param name="processId">流程进程实例</param>
- /// <param name="taskList">流程任务列表</param>
- public void Delete(string processId, IEnumerable<NWFTaskEntity> taskList)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- db.Delete<NWFProcessEntity>(t => t.F_Id == processId);
- db.Delete<NWFTaskLogEntity>(t => t.F_ProcessId == processId);
- foreach (var task in taskList)
- {
- db.Delete(task);
- string taskId = task.F_Id;
- db.Delete<NWFTaskMsgEntity>(t => t.F_TaskId == taskId);
- db.Delete<NWFTaskRelationEntity>(t => t.F_TaskId == taskId);
- }
-
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
-
- /// <summary>
- /// 撤销审核
- /// </summary>
- /// <param name="taskList">需要撤回的任务节点</param>
- /// <param name="taskUser">当前处理人</param>
- /// <param name="taskEntity">当前任务</param>
- /// <param name="taskLogEntity">日志信息</param>
- /// <param name="taskUserNew">当前任务节点的处理人(串行多人审核)</param>
- public void RevokeAudit(List<string> taskList, NWFTaskRelationEntity taskUser, NWFTaskEntity taskEntity, NWFTaskLogEntity taskLogEntity, NWFTaskRelationEntity taskUserNew = null)
- {
- var db = this.BaseRepository().BeginTrans();
- try
- {
- if (taskList != null)
- {
- foreach (var taskId in taskList)
- {
- db.Delete<NWFTaskEntity>(t => t.F_Id == taskId);
- db.Delete<NWFTaskRelationEntity>(t => t.F_TaskId == taskId);
- db.Delete<NWFTaskMsgEntity>(t => t.F_TaskId == taskId);
- }
- }
-
- if (taskEntity != null)
- {
- db.Update(taskEntity);
- }
-
- taskUser.F_Mark = 0;
- taskUser.F_Result = 0;
- db.Update(taskUser);
-
- db.Insert(taskLogEntity);
-
- if (taskUserNew != null)
- {
- taskUserNew.F_Mark = 1;
- taskUserNew.F_Result = 0;
- db.Update(taskUserNew);
- }
-
-
- // 更新下流程实例(处理重新发起状态)
- NWFProcessEntity nWFProcessEntity = new NWFProcessEntity();
- nWFProcessEntity.F_Id = taskLogEntity.F_ProcessId;
- nWFProcessEntity.F_IsAgain = 0;
- db.Update(nWFProcessEntity);
-
- db.Commit();
- }
- catch (Exception ex)
- {
- db.Rollback();
- if (ex is ExceptionEx)
- {
- throw;
- }
- else
- {
- throw ExceptionEx.ThrowServiceException(ex);
- }
- }
- }
-
- /// <summary>
- /// 保存任务
- /// </summary>
- /// <param name="taskList">任务列表</param>
- public void SaveTask(List<NWFTaskEntity> taskList)
- {
- var db = this.BaseRepository().BeginTrans();
-
- try
- {
- foreach (var task in taskList)
- {
- task.F_ModifyDate = DateTime.Now;
- db.Insert(task);
- int num = 1;
- if (task.nWFUserInfoList != null)
- {
- foreach (var taskUser in task.nWFUserInfoList)
- {
- NWFTaskRelationEntity nWFTaskRelationEntity = new NWFTaskRelationEntity();
- nWFTaskRelationEntity.Create();
- nWFTaskRelationEntity.F_TaskId = task.F_Id;
- nWFTaskRelationEntity.F_UserId = taskUser.Id;
- nWFTaskRelationEntity.F_Mark = taskUser.Mark;
- nWFTaskRelationEntity.F_Result = 0;
- nWFTaskRelationEntity.F_Sort = num;
- db.Insert(nWFTaskRelationEntity);
- num++;
- }
- }
- }
-
- db.Commit();
- }
- catch (Exception)
- {
- db.Rollback();
- throw;
- }
-
-
- }
- #endregion
- }
- }
|