| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096209720982099210021012102210321042105210621072108210921102111211221132114211521162117211821192120212121222123212421252126212721282129213021312132213321342135213621372138213921402141214221432144214521462147214821492150215121522153215421552156215721582159216021612162216321642165216621672168216921702171217221732174217521762177217821792180218121822183218421852186218721882189219021912192219321942195219621972198219922002201220222032204220522062207220822092210221122122213221422152216221722182219222022212222222322242225222622272228222922302231223222332234223522362237223822392240224122422243224422452246224722482249225022512252225322542255225622572258225922602261226222632264226522662267226822692270227122722273227422752276227722782279228022812282228322842285228622872288228922902291229222932294229522962297229822992300230123022303230423052306230723082309231023112312231323142315231623172318231923202321232223232324232523262327232823292330233123322333233423352336233723382339234023412342234323442345234623472348234923502351235223532354235523562357235823592360236123622363236423652366236723682369 |
- package cn.com.lzt.sign.controller;
- import cn.com.lzt.arrangedutyoperate.dto.UserAndUserPersonnelDto;
- import cn.com.lzt.post.entity.PostEntity;
- import cn.com.lzt.sign.entity.*;
- import cn.com.lzt.sign.service.TBRequestFeedbackService;
- import cn.com.lzt.sign.service.TBRequestRuleService;
- import cn.com.lzt.sign.service.TBRequestService;
- import cn.com.lzt.sign.service.TBRequestTypeRuleRelService;
- import cn.com.lzt.sysmsg.entity.SysMsgEntity;
- import cn.com.lzt.sysmsg.service.SysMsgServiceI;
- import cn.com.lzt.sysmsgdetail.entity.SysMsgDetailEntity;
- import cn.com.lzt.sysmsgdetail.service.SysMsgDetailServiceI;
- import cn.com.lzt.useractiviti.data.controller.ActivitiToolsController;
- import cn.com.lzt.useroptions.entity.TBusUserOptionsEntity;
- import com.alibaba.fastjson.JSONObject;
- import com.daju.common.util.Result;
- import org.apache.commons.lang.StringUtils;
- import org.hibernate.criterion.Restrictions;
- import org.jeecgframework.core.common.controller.BaseController;
- import org.jeecgframework.core.common.exception.BusinessException;
- import org.jeecgframework.core.common.hibernate.qbc.CriteriaQuery;
- import org.jeecgframework.core.common.model.json.*;
- import org.jeecgframework.core.constant.Globals;
- import org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil;
- import org.jeecgframework.core.util.*;
- import org.jeecgframework.tag.core.easyui.TagUtil;
- import org.jeecgframework.tag.vo.datatable.SortDirection;
- import org.jeecgframework.web.system.pojo.base.TSBaseUser;
- import org.jeecgframework.web.system.pojo.base.TSDepart;
- import org.jeecgframework.web.system.pojo.base.TSUser;
- import org.jeecgframework.web.system.pojo.base.TSUserOrg;
- import org.jeecgframework.web.system.service.SystemService;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Controller;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.bind.annotation.*;
- import org.springframework.web.servlet.ModelAndView;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.http.HttpSession;
- import java.text.SimpleDateFormat;
- import java.util.*;
- import java.util.logging.Logger;
- @Controller
- @RequestMapping("/tBRequestController")
- public class TBRequestController extends BaseController {
- private static final Logger logger = Logger.getLogger(String.valueOf(TBRequestController.class));
- @Autowired
- private TBRequestService tBRequestService;
- @Autowired
- private TBRequestTypeRuleRelService tBRequestTypeRuleRelService;
- @Autowired
- private TBRequestRuleService tBRequestRuleService;
- @Autowired
- private TBRequestFeedbackService tBRequestFeedbackService;
- @Autowired
- private SystemService systemService;
- // add-刘梦祥-2022年8月5日14:31:50(签报业务添加系统消息提示)
- @Autowired
- private SysMsgServiceI sysMsgService;
- SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- /**
- * 申请表列表 页面跳转
- *
- * @return
- */
- @RequestMapping(params = "list")
- public ModelAndView list(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/sign/tBRequest/tBRequestList");
- }
- /**
- * 签名板 页面跳转
- *
- * @return
- */
- @RequestMapping(params = "goToSignature")
- public ModelAndView goToSignature(HttpServletRequest request) {
- return new ModelAndView("cn/com/lzt/sign/approve/signature");
- }
- /**
- * easyui AJAX请求数据
- *
- * @param request
- * @param response
- * @param dataGrid
- */
- @RequestMapping(params = "datagrid")
- public void datagrid(TBRequestEntity tBRequest, HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- CriteriaQuery cq = new CriteriaQuery(TBRequestEntity.class, dataGrid);
- //查询条件组装器
- org.jeecgframework.core.extend.hqlsearch.HqlGenerateUtil.installHql(cq, tBRequest);
- /*try{
- //自定义追加查询条件
- TSUser user = ResourceUtil.getSessionUser();
- cq.add(Restrictions.eq("createBy",user.getUserName()));
- }catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }*/
- cq.add();
- this.tBRequestService.getDataGridReturn(cq, true);
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 返回limit条件
- *
- * @param pagination
- * @return
- * @author 刘梦祥
- * @Date 2021年12月21日18:32:27
- */
- public String getLimitStr(Pagination pagination) {
- int limitA = (pagination.getCurrentPage() - 1) * pagination.getPageSize();
- int limitB = (pagination.getCurrentPage()) * pagination.getPageSize();
- return "LIMIT " + limitA + "," + limitB + ";";
- }
- /**
- * 返回字段对照集合
- *
- * @param prop
- * @return
- * @author 刘梦祥
- * @Date 2021年12月21日18:32:27
- */
- public List<Map<String, String>> getPropsByprop(Map<String, String> prop) {
- List<Map<String, String>> props = new ArrayList<>();
- if (prop.size() > 0) {
- for (String key : prop.keySet()) {
- Map<String, String> propItem = new HashMap<>();
- propItem.put("name", key);
- propItem.put("label", prop.get(key));
- props.add(propItem);
- }
- }
- return props;
- }
- /**
- * 返回异常对象
- *
- * @param responseJson 结果集
- * @param msg 提示信息
- * @return ResponseJson
- * @author 刘梦祥
- * @Date 2021年12月22日15:54:20
- */
- public ResponseJson returnErrorResponseJson(ResponseJson responseJson, String msg) {
- responseJson.setSuccess(false);
- responseJson.setData(null);
- responseJson.setCode(500);
- responseJson.setMsg(msg);
- return responseJson;
- }
- /**
- * 判断并封装排序条件
- *
- * @param request
- * @param prop
- * @param sqlStr
- * @author 刘梦祥
- * @Date 2021年12月21日18:32:27
- */
- public String sortToSql(HttpServletRequest request, Map<String, String> prop, String sqlStr) {
- if (StringUtil.isNotEmpty(request.getParameter("sortColumn")) && StringUtil.isNotEmpty(request.getParameter("sort"))) {
- if (prop.containsKey(request.getParameter("sortColumn")) && ("ASC".equals(request.getParameter("sort").toUpperCase()) || "DESC".equals(request.getParameter("sort").toUpperCase()))) {
- sqlStr += "ORDER BY " + request.getParameter("sortColumn") + " " + request.getParameter("sort") + "\n";
- } else {
- System.err.println("排序参数接收错误!可接收参数:" + prop.keySet() + ";传入参数:" + request.getParameter("sortColumn") + ";可接收排序方式:[DESC,ASC];排序方式:" + request.getParameter("sort") + ";将取消排序");
- }
- }
- return sqlStr;
- }
- /**
- * 返回物料申购基本信息
- *
- * @param responseJson
- * @param mapresult
- * @param requestId
- * @author 刘梦祥
- * @Data 2021年12月27日10:13:13
- */
- public void getMaterialMaintenanceData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\ttbm.id tableId,\n" +
- "\ttbw.warehouse_name storehouse,\n" +
- "\ttbm.create_name manager,\n" +
- "\tDATE_FORMAT(tbm.material_date,'%Y-%m-%d') date,\n" +
- "\ttbm.material_remarks description\n" +
- "FROM\n" +
- "\tt_b_material tbm\n" +
- "LEFT JOIN t_b_warehouse tbw ON tbw.id = tbm.material_warehouse_id\n" +
- "WHERE\n" +
- "\trequest_id =? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- if (selectTableData.containsKey("tableId")) {
- String selectTableInfoSql = "SELECT\n" +
- "\ttbgi.goods_name goodsName,\n" +
- "\ttt.typename baseUnit,\n" +
- "\ttbgi.specification specification,\n" +
- "\tgt.category_name goodsType,\n" +
- "\ttbmi.material_info_num number,\n" +
- "\tDATE_FORMAT(tbmi.create_date,'%Y-%m-%d %H:%I:%s') times,\n" +
- "\ttbmi.material_info_remarks infoRemark\n" +
- "FROM\n" +
- "\tt_b_material_info tbmi\n" +
- "LEFT JOIN t_b_goods_info tbgi ON tbgi.id = tbmi.material_info_goods_id\n" +
- "LEFT JOIN (\n" +
- "\tSELECT\n" +
- "\t\t*\n" +
- "\tFROM\n" +
- "\t\tt_s_type\n" +
- "\tWHERE\n" +
- "\t\ttypegroupid = (\n" +
- "\t\t\tSELECT\n" +
- "\t\t\t\tid\n" +
- "\t\t\tFROM\n" +
- "\t\t\t\tt_s_typegroup\n" +
- "\t\t\tWHERE\n" +
- "\t\t\t\ttypegroupcode = \"metering_calcu_unit\"\n" +
- "\t\t)\n" +
- ") tt ON tt.typecode = tbgi.base_unit\n" +
- "LEFT JOIN t_b_goods_category gt ON gt.category_code = tbgi.belong_category\n" +
- "WHERE\n" +
- "\ttbmi.material_id = ?;";
- List<Map<String, Object>> selectTableInfoData = systemService.findForJdbc(selectTableInfoSql, selectTableData.get("tableId"));
- mapresult.put("detailInfo", selectTableInfoData);
- responseJson.setData(mapresult);
- }
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- /**
- * 根据classPath和审批id获取tableId
- *
- * @param classPath
- * @param requestId
- * @author 刘梦祥
- * @Data 2021年12月27日14:03:50
- */
- public String getTableIdByClassPathAndRequest(String classPath, String requestId) {
- // 得到操作表名
- String[] classNameList = classPath.split("\\.");
- String classNameA = classNameList[classNameList.length - 1];
- String tableName = "";
- switch (classNameA) {
- case "TBusActivitiOvertimeEntity":
- tableName = "t_bus_activiti_overtime";
- break;
- case "TBusActivitiOvertimeAuditEntity":
- tableName = "t_bus_activiti_overtime_audit";
- break;
- case "TBusActivitiOvertimeVacationEntity":
- tableName = "t_bus_activiti_overtime_vacation";
- break;
- case "TBAssetsEntity":
- tableName = "t_b_assets";
- break;
- case "TBBeforehandEntity":
- tableName = "t_b_beforehand";
- break;
- case "TBMaterialEntity":
- tableName = "t_b_material";
- break;
- case "TBMessageEntity":
- tableName = "t_b_message";
- break;
- case "TBOfficeEntity":
- tableName = "t_b_office";
- break;
- case "TBSealEntity":
- tableName = "t_b_seal";
- break;
- case "TBSupervisionEntity":
- tableName = "t_b_supervision";
- break;
- default:
- System.out.println("根据classPath对照tableName失败,没有对应的tabelName,classPath:" + classNameA);
- break;
- }
- Map<String, Object> tableinfo = systemService.findOneForJdbc("select id tableId from " + tableName + " where request_id = ? ;", requestId);
- if (tableinfo != null && tableinfo.containsKey("tableId")) {
- return String.valueOf(tableinfo.get("tableId"));
- } else {
- return null;
- }
- }
- /**
- * 返回加班申请基本信息
- *
- * @param responseJson
- * @param mapresult
- * @param requestId
- * @author 刘梦祥
- * @Data 2021年12月27日10:51:13
- */
- public void getActivitiOverTimeData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\ttbao.id tableId,\n" +
- "\ttbao.attachment attachment,\n" +
- "\ttbao.user_count people_number,\n" +
- "\ttbao.depart_id departmentId,\n" +
- "\ttsd.departname department,\n" +
- "\n" +
- "IF (\n" +
- "\ttbao.overtime_settlement_type = 1,\n" +
- "\t'按照工时',\n" +
- "\t'按照吨数'\n" +
- ") pay_type,\n" +
- " tbao.total_hour total_time,\n" +
- " tbao.total_tons total_weight,\n" +
- " tbao.reason reason\n" +
- "FROM\n" +
- "\tt_bus_activiti_overtime tbao\n" +
- "LEFT JOIN t_s_depart tsd ON tsd.id = tbao.depart_id\n" +
- "WHERE\n" +
- "\ttbao.request_id = ?;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- if (selectTableData.containsKey("tableId")) {
- String selectTableInfoSql = "SELECT\n" +
- "\ttbaod.real_name overtimeUser,\n" +
- "\ttst.typename overtimeType,\n" +
- "\ttbaod.start_time overtimeStartTime,\n" +
- "\ttbaod.end_time overtimeEndTime,\n" +
- "tbaod.pickup_truck_number pickupTruckNumber,\n" +
- "tbaod.keep_up_ton_number keepUpTonNumber,\n" +
- "\tTIMESTAMPDIFF(\n" +
- "\t\tHOUR,\n" +
- "\t\ttbaod.start_time,\n" +
- "\t\ttbaod.end_time\n" +
- "\t) overtimeTotalTime,\n" +
- "\n" +
- "IF (\n" +
- "\ttst.typename = \"周末值班\" && tbaod.compensate = \"exchange\",\n" +
- "\t\"调休\",\n" +
- "\t\"加班费\"\n" +
- ") compensate,\n" +
- " tbaod.remark reason\n" +
- "FROM\n" +
- "\tt_bus_activiti_overtime_detail tbaod\n" +
- "LEFT JOIN (\n" +
- "\tSELECT\n" +
- "\t\t*\n" +
- "\tFROM\n" +
- "\t\tt_s_type\n" +
- "\tWHERE\n" +
- "\t\ttypegroupid = (\n" +
- "\t\t\tSELECT\n" +
- "\t\t\t\tid\n" +
- "\t\t\tFROM\n" +
- "\t\t\t\tt_s_typegroup\n" +
- "\t\t\tWHERE\n" +
- "\t\t\t\ttypegroupcode = \"overtime_type\"\n" +
- "\t\t)\n" +
- ") tst ON tst.typecode = tbaod.overtime_type\n" +
- "where tbaod.overtime_id = ?;";
- List<Map<String, Object>> selectTableInfoData = systemService.findForJdbc(selectTableInfoSql, selectTableData.get("tableId"));
- mapresult.put("detailInfo", selectTableInfoData);
- responseJson.setData(mapresult);
- }
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- /**
- * 返回加班审核基本信息
- *
- * @param responseJson
- * @param mapresult
- * @param requestId
- * @author 刘梦祥
- * @Data 2021年12月27日10:51:13
- */
- public void getActivitiOverTimeAuditData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\ttbao.id tableId,\n" +
- "\ttbao.user_count people_number,\n" +
- "\ttbao.create_name manager,\n" +
- "\ttbao.depart_id departmentId,\n" +
- "\ttsd.departname department,\n" +
- "\n" +
- "IF (\n" +
- "\ttbao.overtime_settlement_type = 1,\n" +
- "\t'按照工时',\n" +
- "\t'按照吨数'\n" +
- ") pay_type,\n" +
- " tbao.total_hour total_time,\n" +
- " tbao.total_tons total_weight,\n" +
- " tbao.reason reason,\n" +
- " tbao.attachment attachment\n" +
- "FROM\n" +
- "\tt_bus_activiti_overtime_audit tbaoa\n" +
- "LEFT JOIN t_bus_activiti_overtime tbao on tbao.id = tbaoa.overtime_ids\n" +
- "LEFT JOIN t_s_depart tsd ON tsd.id = tbao.depart_id\n" +
- "WHERE\n" +
- "\ttbaoa.request_id = ?;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- if (selectTableData.containsKey("tableId")) {
- String selectTableInfoSql = "SELECT\n" +
- "\ttbaod.real_name overtimeUser,\n" +
- "\ttst.typename overtimeType,\n" +
- "\ttbaod.start_time overtimeStartTime,\n" +
- "\ttbaod.end_time overtimeEndTime,\n" +
- "tbaod.pickup_truck_number pickupTruckNumber,\n" +
- "tbaod.keep_up_ton_number keepUpTonNumber,\n" +
- "\tTIMESTAMPDIFF(\n" +
- "\t\tHOUR,\n" +
- "\t\ttbaod.start_time,\n" +
- "\t\ttbaod.end_time\n" +
- "\t) overtimeTotalTime,\n" +
- "\n" +
- "IF (\n" +
- "\ttst.typename = \"周末值班\" && tbaod.compensate = \"exchange\",\n" +
- "\t\"调休\",\n" +
- "\t\"加班费\"\n" +
- ") compensate,\n" +
- " tbaod.remark reason\n" +
- "FROM\n" +
- "\tt_bus_activiti_overtime_detail tbaod\n" +
- "LEFT JOIN (\n" +
- "\tSELECT\n" +
- "\t\t*\n" +
- "\tFROM\n" +
- "\t\tt_s_type\n" +
- "\tWHERE\n" +
- "\t\ttypegroupid = (\n" +
- "\t\t\tSELECT\n" +
- "\t\t\t\tid\n" +
- "\t\t\tFROM\n" +
- "\t\t\t\tt_s_typegroup\n" +
- "\t\t\tWHERE\n" +
- "\t\t\t\ttypegroupcode = \"overtime_type\"\n" +
- "\t\t)\n" +
- ") tst ON tst.typecode = tbaod.overtime_type\n" +
- "where tbaod.overtime_id = ?;";
- List<Map<String, Object>> selectTableInfoData = systemService.findForJdbc(selectTableInfoSql, selectTableData.get("tableId"));
- mapresult.put("detailInfo", selectTableInfoData);
- responseJson.setData(mapresult);
- }
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- /**
- * 返回休假申请基本信息
- *
- * @param responseJson
- * @param mapresult
- * @param requestId
- * @author 刘梦祥
- * @Data 2021年12月27日13:03:15
- */
- public void getActivitiOverTimeVacationData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\ttbaov.id tableId,\n" +
- "\ttsbu.realname manager,\n" +
- "\ttsd.departname department,\n" +
- "\ttbaov.attachment attachment,\n" +
- "\ttbaov.other_text otherText,\n" +
- "\ttype.typename type,\n" +
- "\ttbaov.vacation_start_date start_time,\n" +
- "\ttbaov.vacation_end_date end_time,\n" +
- "\tTIMESTAMPDIFF(\n" +
- "\t\tHOUR,\n" +
- "\t\ttbaov.vacation_start_date,\n" +
- "\t\ttbaov.vacation_end_date\n" +
- "\t) total_time,\n" +
- "\tTIMESTAMPDIFF(\n" +
- "\t\tYEAR,\n" +
- "\t\ttsu.employment_date,\n" +
- "\t\tNOW()\n" +
- "\t) serve_year,\n" +
- "\ttbaov.remake reason\n" +
- "FROM\n" +
- "\tt_bus_activiti_overtime_vacation tbaov\n" +
- "LEFT JOIN (\n" +
- "\tSELECT\n" +
- "\t\t*\n" +
- "\tFROM\n" +
- "\t\tt_s_type\n" +
- "\tWHERE\n" +
- "\t\ttypegroupid = (\n" +
- "\t\t\tSELECT\n" +
- "\t\t\t\tid\n" +
- "\t\t\tFROM\n" +
- "\t\t\t\tt_s_typegroup\n" +
- "\t\t\tWHERE\n" +
- "\t\t\t\ttypegroupcode = \"rest_type\"\n" +
- "\t\t)\n" +
- ") type ON type.typecode = tbaov.vacation_type\n" +
- "LEFT JOIN t_s_base_user tsbu ON tsbu.id = tbaov.user_id\n" +
- "LEFT JOIN t_s_user tsu ON tsu.id = tsbu.id\n" +
- "LEFT JOIN t_s_user_org tsuo ON tsuo.user_id = tsbu.ID\n" +
- "LEFT JOIN t_s_depart tsd ON tsd.id = tsuo.org_id\n" +
- "WHERE\n" +
- "\trequest_id = ?;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- /**
- * 微信小程序审批流暴露接口1(根据用户ID,获取所有提交过审批的申请人)
- *
- * @param request
- * @param pagination
- * @return ResponseJson
- * @author 刘梦祥
- * @Date 2021年12月21日16:33:26
- */
- @GetMapping(params = "getAllRequestData")
- @ResponseBody
- public ResponseJson getAllRequestData(HttpServletRequest request, Pagination pagination) {
- // 初始化返回实体
- ResponseJson responseJson = new ResponseJson();
- // 初始化字段对照实体
- List<Map<String, String>> props = new ArrayList<>();
- // 初始化查询sql对象
- String sqlStr = "";
- try {
- // 初始化字段对照集合
- Map<String, String> prop = new HashMap<>();
- prop.put("userId", "用户id");
- prop.put("realName", "用户名");
- prop.put("orgId", "科室id");
- prop.put("departName", "科室名称");
- // 将字段对照集合转换为字段对照实体
- props = getPropsByprop(prop);
- // 初始化查询sql
- sqlStr = "SELECT\n" +
- "\ttbr.user_id userId,\n" +
- "\ttsbu.realname realName,\n" +
- "\ttsuo.org_id orgId,\n" +
- "\ttsd.departname departName\n" +
- "FROM\n" +
- "\tt_b_request tbr\n" +
- "LEFT JOIN t_s_base_user tsbu ON tsbu.id = tbr.user_id\n" +
- "LEFT JOIN t_s_user_org tsuo ON tsuo.user_id = tsbu.id\n" +
- "LEFT JOIN t_s_depart tsd ON tsd.id = tsuo.org_id where tsbu.delete_flag = '0' \n";
- // 判断并封装查询条件
- if (StringUtil.isNotEmpty(request.getParameter("realName"))) {
- sqlStr += "and tsbu.realname like '%" + request.getParameter("realName") + "%'\n";
- } else if (StringUtil.isNotEmpty(request.getParameter("userId"))) {
- sqlStr += "and tsbu.id like '%" + request.getParameter("userId") + "%'\n";
- }
- // 根据userId去重
- sqlStr += "GROUP BY tbr.user_id \n";
- // 判断并封装排序条件
- sqlStr = sortToSql(request, prop, sqlStr);
- // 初始化总条数sql
- String sqlTotal = sqlStr;
- // 根据pagination对象封装分页条件
- sqlStr += getLimitStr(pagination);
- // 执行sql得到总条数
- List<Object> total = systemService.findListbySql(sqlTotal);
- // 将得到的总条数返回给pagination对象
- pagination.setTotal(total.size());
- // 执行查询sql
- List<Map<String, Object>> mapresult = systemService.findForJdbc(sqlStr, pagination.getCurrentPage(), pagination.getPageSize());
- if (mapresult != null && mapresult.size() > 0) {
- // 将得到的数据返回给pagination对象
- responseJson.setData(mapresult);
- } else {
- responseJson.setMsg("没有该用户的审批提交记录!");
- }
- } catch (Exception e) {
- System.err.println("根据用户ID,获取所有提交过审批的申请人Exception" + e.getLocalizedMessage() + "\nsql:\n" + sqlStr);
- returnErrorResponseJson(responseJson, e.getMessage());
- }
- responseJson.setProps(props);
- responseJson.setPagination(pagination);
- return responseJson;
- }
- /**
- * 微信小程序审批流暴露接口2(获取所有审批类型)
- *
- * @param pagination
- * @return ResponseJson
- * @author 刘梦祥
- * @Date 2021年12月22日13:16:28
- */
- @GetMapping(params = "getAllRequestType")
- @ResponseBody
- public ResponseJson getAllRequestType(Pagination pagination) {
- // 初始化返回实体
- ResponseJson responseJson = new ResponseJson();
- // 初始化字段对照实体
- List<Map<String, String>> props = new ArrayList<>();
- // 初始化查询sql对象
- String sqlStr = "";
- try {
- // 初始化字段对照集合
- Map<String, String> prop = new HashMap<>();
- prop.put("id", "审批类型id");
- prop.put("typeName", "审批类型");
- prop.put("description", "审批流程");
- // 将字段对照集合转换为字段对照实体
- props = getPropsByprop(prop);
- // 初始化查询sql
- sqlStr = "SELECT\n" +
- "\tid,\n" +
- "\t`name` typeName,\n" +
- "\tdescription\n" +
- "FROM\n" +
- "\tt_b_request_rule\n";
- // 初始化总条数sql
- String sqlTotal = sqlStr;
- // 根据pagination对象封装分页条件
- sqlStr += getLimitStr(pagination);
- // 执行sql得到总条数
- List<Object> total = systemService.findListbySql(sqlTotal);
- // 将得到的总条数返回给pagination对象
- pagination.setTotal(total.size());
- // 执行查询sql
- List<Map<String, Object>> mapresult = systemService.findForJdbc(sqlStr, pagination.getCurrentPage(), pagination.getPageSize());
- // 将得到的数据返回给pagination对象
- responseJson.setData(mapresult);
- } catch (Exception e) {
- System.err.println("获取所有审批类型Exception:" + e.getLocalizedMessage() + "\nsql:\n" + sqlStr);
- returnErrorResponseJson(responseJson, e.getMessage());
- }
- responseJson.setProps(props);
- responseJson.setPagination(pagination);
- return responseJson;
- }
- /**
- * 微信小程序审批流暴露接口3(根据用户id,获取申请列表)
- *
- * @param request
- * @param pagination
- * @return ResponseJson
- * @author 刘梦祥
- * @Date 2021年12月22日13:39:52
- */
- @GetMapping(params = "getAllRequestList")
- @ResponseBody
- public ResponseJson getAllRequestList(HttpServletRequest request, Pagination pagination) {
- // 初始化返回实体
- ResponseJson responseJson = new ResponseJson();
- // 初始化字段对照实体
- List<Map<String, String>> props = new ArrayList<>();
- // 初始化查询sql对象
- String sqlStr = "";
- try {
- if (StringUtil.isNotEmpty(request.getParameter("loginUserId")) && StringUtil.isNotEmpty(request.getParameter("pageType"))) {
- // 初始化字段对照集合
- Map<String, String> prop = new HashMap<>();
- prop.put("id", "审批id");
- prop.put("type", "审批类型");
- prop.put("tableName", "操作对照表名");
- prop.put("status", "审批状态");
- prop.put("invoker_name", "申请人姓名");
- prop.put("userId", "申请人id");
- prop.put("feedbackStatus", "审批结果");
- prop.put("created_at", "申请时间");
- prop.put("timeBegin", "查询申请时间开始时间");
- prop.put("timeEnd", "查询申请时间结束时间");
- prop.put("detail", "审批表单详情");
- prop.put("reason", "申请原因");
- // 将字段对照集合转换为字段对照实体
- props = getPropsByprop(prop);
- sqlStr = "SELECT\n" +
- "\ttbr.id requestId,\n" +
- "\ttbrtrr.type tableName,\n" +
- "\ttbr.type type,\n" +
- "\ttbrf.feedback_status feedbackStatus,\n" +
- "\ttbr.`status` `status`,\n" +
- "\ttsbu.realname invoker_name,\n" +
- "\ttbr.user_id userId,\n" +
- "\ttbr.created_at created_at\n" +
- "FROM\n" +
- "\tt_b_request_feedback tbrf\n" +
- "RIGHT JOIN t_b_request tbr ON tbr.id = tbrf.request_id\n" +
- "LEFT JOIN t_s_base_user tsbu ON tsbu.id = tbr.user_id\n" +
- "LEFT JOIN t_b_request_type_rule_rel tbrtrr ON tbrtrr.rule_id = tbr.rule_id\n";
- // 判断并封装查询条件
- sqlStr += "where ";
- // 初始化查询sql
- switch (request.getParameter("pageType")) {
- case "待处理":
- // 首先根据小程序登录用户的userid得到科室和职位
- String sql = "SELECT\n" +
- "\ttsbu.id loginUserId,\n" +
- "\ttsuo.org_id orgId,\n" +
- "\ttbup.in_postid inPostId\n" +
- "FROM\n" +
- "\tt_s_base_user tsbu\n" +
- "LEFT JOIN t_s_user_org tsuo ON tsuo.user_id = tsbu.id\n" +
- "LEFT JOIN t_bus_user_personnel tbup ON tbup.userid = tsuo.user_id\n" +
- "WHERE\n" +
- "\ttsbu.id = ?;";
- Map<String, Object> uopData = systemService.findOneForJdbc(sql, request.getParameter("loginUserId"));
- if (uopData != null) {
- sqlStr += "tbr.`status` = \"待审批\"\n" +
- "AND tbr.current_ruler_id IN (\n" +
- "\t'{\"userId\":\"" + request.getParameter("loginUserId") + "\"}',\n" +
- "\t'{\"departId\":\"" + uopData.get("orgId") + "\",\"inPostid\":\"" + uopData.get("inPostId") + "\"}'\n" +
- ") and ";
- }
- break;
- case "已处理":
- sqlStr += "tbrf.user_id = \"" + request.getParameter("loginUserId") + "\" and ";
- break;
- case "已提交":
- sqlStr += "tbr.user_id = \"" + request.getParameter("loginUserId") + "\" and ";
- break;
- default:
- // 全部
- String sqlAll = "SELECT\n" +
- "\ttsbu.id loginUserId,\n" +
- "\ttsuo.org_id orgId,\n" +
- "\ttbup.in_postid inPostId\n" +
- "FROM\n" +
- "\tt_s_base_user tsbu\n" +
- "LEFT JOIN t_s_user_org tsuo ON tsuo.user_id = tsbu.id\n" +
- "LEFT JOIN t_bus_user_personnel tbup ON tbup.userid = tsuo.user_id\n" +
- "WHERE\n" +
- "\ttsbu.id = ?;";
- Map<String, Object> uopDataAll = systemService.findOneForJdbc(sqlAll, request.getParameter("loginUserId"));
- if (uopDataAll != null) {
- sqlStr += "tbr.current_ruler_id IN (\n" +
- "\t'{\"userId\":\"" + request.getParameter("loginUserId") + "\"}',\n" +
- "\t'{\"departId\":\"" + uopDataAll.get("orgId") + "\",\"inPostid\":\"" + uopDataAll.get("inPostId") + "\"}'\n" +
- ") or ";
- }
- sqlStr += "tbrf.user_id = \"" + request.getParameter("loginUserId") + "\" or ";
- sqlStr += "tbr.user_id LIKE \"%" + request.getParameter("loginUserId") + "%\" and ";
- break;
- }
- for (String key : prop.keySet()) {
- if (StringUtil.isNotEmpty(request.getParameter(key))) {
- switch (key) {
- case "userId":
- sqlStr += "tbr.user_id LIKE \"%" + request.getParameter(key) + "%\" and ";
- break;
- case "type":
- sqlStr += "tbr.type LIKE \"%" + request.getParameter(key) + "%\" and ";
- break;
- case "status":
- sqlStr += "tbr.`status` LIKE \"%" + request.getParameter(key) + "%\" and ";
- break;
- case "timeBegin":
- sqlStr += "date_format(tbr.created_at,'%Y-%m-%d') BETWEEN \"" + request.getParameter(key) + "\" and \"" + request.getParameter(key.substring(0, key.length() - 5) + "End") + "\" and ";
- break;
- default:
- break;
- }
- }
- }
- sqlStr = sqlStr.substring(0, sqlStr.length() - 4);
- sqlStr += " GROUP BY tbr.id \n";
- // 判断并封装排序条件
- sqlStr = sortToSql(request, prop, sqlStr);
- // 初始化总条数sql
- String sqlTotal = sqlStr;
- // 根据pagination对象封装分页条件
- sqlStr += getLimitStr(pagination);
- // 执行sql得到总条数
- List<Object> total = systemService.findListbySql(sqlTotal);
- // 将得到的总条数返回给pagination对象
- pagination.setTotal(total.size());
- // 执行查询sql
- List<Map<String, Object>> mapresult = systemService.findForJdbc(sqlStr, pagination.getCurrentPage(), pagination.getPageSize());
- if (mapresult != null && mapresult.size() > 0) {
- for (Map<String, Object> mapItem : mapresult) {
- if (mapItem.containsKey("tableName") && mapItem.get("tableName") != null && mapItem.containsKey("requestId") && mapItem.get("requestId") != null) {
- // 申请表名
- String formTableName = "";
- // 备注字段名
- String remakeColumn = "";
- switch (String.valueOf(mapItem.get("tableName"))) {
- // 加班申请
- case "t_bus_activiti_overtime":
- formTableName = "t_bus_activiti_overtime";
- remakeColumn = "reason";
- break;
- // 加班审核
- case "t_bus_activiti_overtime_audit":
- formTableName = "t_bus_activiti_overtime_audit";
- remakeColumn = "remake";
- break;
- // 休假签报
- case "t_bus_activiti_overtime_vacation":
- formTableName = "t_bus_activiti_overtime_vacation";
- remakeColumn = "remake";
- break;
- // 物料申购(维修类和非维修类)
- case "t_b_material_maintenance":
- case "t_b_material_un_maintenance":
- formTableName = "t_b_material";
- mapItem.put("tableName", formTableName);
- remakeColumn = "material_remarks";
- break;
- // 用印
- case "t_b_seal":
- formTableName = "t_b_seal";
- remakeColumn = "seal_reason";
- break;
- // 资产申购
- case "t_b_assets":
- formTableName = "t_b_assets";
- remakeColumn = "assets_remarks";
- break;
- // 事前
- case "t_b_beforehand":
- formTableName = "t_b_beforehand";
- remakeColumn = "beforehand_reason";
- break;
- // 办公
- case "t_b_office":
- formTableName = "t_b_office";
- remakeColumn = "office_cont";
- break;
- // 消息
- case "t_b_message":
- formTableName = "t_b_message";
- remakeColumn = "message_title";
- break;
- // 督查奖惩
- case "t_b_supervision":
- formTableName = "t_b_supervision";
- remakeColumn = "supervision_pro_cont";
- break;
- default:
- System.err.println("审批规则表对应失败!");
- break;
- }
- if (StringUtil.isNotEmpty(formTableName)) {
- String selectTableSql = "select * from " + formTableName + " where request_id = ? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, mapItem.get("requestId"));
- if (selectTableData != null && selectTableData.containsKey(remakeColumn) && selectTableData.get(remakeColumn) != null) {
- Map<String, String> remakes = new HashMap<>();
- remakes.put("reason", String.valueOf(selectTableData.get(remakeColumn)));
- mapItem.put("detail", remakes);
- }
- }
- }
- }
- }
- // 将得到的数据返回给pagination对象
- responseJson.setData(mapresult);
- } else {
- System.err.println("缺少必须参数loginUserId、pageType!");
- returnErrorResponseJson(responseJson, "缺少必须参数loginUserId、pageType!");
- }
- } catch (Exception e) {
- System.err.println("获取所有审批类型Exception:" + e.getLocalizedMessage() + "\nsql:\n" + sqlStr);
- returnErrorResponseJson(responseJson, e.getMessage());
- }
- responseJson.setProps(props);
- responseJson.setPagination(pagination);
- return responseJson;
- }
- /**
- * 微信小程序审批流暴露接口4(根据申请id获取申请详情)
- *
- * @param request
- * @param pagination
- * @return ResponseJson
- * @author 刘梦祥
- * @Date 2021年12月22日15:14:10
- */
- @GetMapping(params = "getRequestInfoById")
- @ResponseBody
- public ResponseJson getRequestInfoById(HttpServletRequest request, Pagination pagination) {
- // 初始化返回实体
- ResponseJson responseJson = new ResponseJson();
- // 初始化字段对照实体
- List<Map<String, String>> props = new ArrayList<>();
- // 初始化查询sql对象
- String sqlStr = "";
- try {
- // 初始化字段对照集合
- Map<String, String> prop = new HashMap<>();
- prop.put("requestId", "审批id");
- prop.put("tableName", "操作对照表名");
- prop.put("type", "审批类型");
- prop.put("status", "审批状态");
- prop.put("name", "申请人姓名");
- prop.put("userId", "申请人id");
- prop.put("time", "申请时间");
- // 初始化查询sql
- sqlStr = "SELECT\n" +
- "\ttbr.id requestId,\n" +
- "\ttbrtrr.type tableName,\n" +
- "\ttbr.type type,\n" +
- "\ttbr.`status` `status`,\n" +
- "\ttsbu.realname `name`,\n" +
- "\ttbr.user_id userId,\n" +
- "\ttbr.created_at time\n" +
- "FROM\n" +
- "\tt_b_request tbr\n" +
- "LEFT JOIN t_s_base_user tsbu ON tsbu.id = tbr.user_id\n" +
- "LEFT JOIN t_b_request_type_rule_rel tbrtrr ON tbrtrr.rule_id = tbr.rule_id\n";
- // 判断并封装查询条件
- if (StringUtil.isNotEmpty(request.getParameter("requestId"))) {
- sqlStr += "where tbr.id =\"" + request.getParameter("requestId") + "\" \n";
- // 判断并封装排序条件
- sqlStr = sortToSql(request, prop, sqlStr);
- // 初始化总条数sql
- String sqlTotal = sqlStr;
- // 根据pagination对象封装分页条件
- sqlStr += getLimitStr(pagination);
- // 执行sql得到总条数
- List<Object> total = systemService.findListbySql(sqlTotal);
- // 将得到的总条数返回给pagination对象
- pagination.setTotal(total.size());
- // 执行查询sql
- Map<String, Object> mapresult = new HashMap<>();
- Map<String, Object> infoData = systemService.findOneForJdbc(sqlStr);
- // 写入基本信息
- mapresult.put("baseInfo", infoData);
- if (infoData != null && infoData.containsKey("tableName") && infoData.get("tableName") != null) {
- switch (String.valueOf(infoData.get("tableName"))) {
- // 加班申请
- case "t_bus_activiti_overtime":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.department", "科室");
- prop.put("detail.people_number", "加班人数合计");
- prop.put("detail.pay_type", "加班结算方式");
- prop.put("detail.total_time", "加班时长总计");
- prop.put("detail.total_weight", "加班吨数总计");
- prop.put("detail.reason", "加班原因");
- prop.put("detail.attachment", "附件");
- // 详细信息列表字段对照
- prop.put("detailInfo.overtimeUser", "加班员工");
- prop.put("detailInfo.overtimeType", "加班类型");
- prop.put("detailInfo.overtimeStartTime", "加班开始时间");
- prop.put("detailInfo.overtimeEndTime", "加班结束时间");
- prop.put("detailInfo.overtimeTotalTime", "加班时长");
- prop.put("detailInfo.pickupTruckNumber", "清运车数");
- prop.put("detailInfo.keepUpTonNumber", "清运吨数");
- prop.put("detailInfo.compensate", "补偿方式");
- prop.put("detailInfo.reason", "备注");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- // 查询详情信息
- getActivitiOverTimeData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 加班审核
- case "t_bus_activiti_overtime_audit":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.manager", "制单人");
- prop.put("detail.department", "科室");
- prop.put("detail.people_number", "加班人数合计");
- prop.put("detail.pay_type", "加班结算方式");
- prop.put("detail.total_time", "加班时长总计");
- prop.put("detail.total_weight", "加班吨数总计");
- prop.put("detail.attachment", "附件");
- prop.put("detail.reason", "加班原因");
- // 详细信息列表字段对照
- prop.put("detailInfo.overtimeUser", "加班员工");
- prop.put("detailInfo.overtimeType", "加班类型");
- prop.put("detailInfo.overtimeStartTime", "加班开始时间");
- prop.put("detailInfo.overtimeEndTime", "加班结束时间");
- prop.put("detailInfo.overtimeTotalTime", "加班时长");
- prop.put("detailInfo.pickupTruckNumber", "清运车数");
- prop.put("detailInfo.keepUpTonNumber", "清运吨数");
- prop.put("detailInfo.compensate", "补偿方式");
- prop.put("detailInfo.reason", "备注");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getActivitiOverTimeAuditData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 休假签报
- case "t_bus_activiti_overtime_vacation":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.manager", "休假员工");
- prop.put("detail.department", "科室");
- prop.put("detail.serve_year", "工龄");
- prop.put("detail.type", "休假类型");
- prop.put("detail.start_time", "休假开始时间");
- prop.put("detail.end_time", "休假结束时间");
- prop.put("detail.total_time", "休假总时长");
- prop.put("detail.reason", "休假原因");
- prop.put("detail.attachment", "附件");
- prop.put("detail.otherText", "休假类型描述");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getActivitiOverTimeVacationData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 物料申购(维修类和非维修类)
- case "t_b_material_maintenance":
- case "t_b_material_un_maintenance":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.storehouse", "仓库");
- prop.put("detail.manager", "经办人");
- prop.put("detail.date", "申请日期");
- prop.put("detail.description", "备注说明");
- // 详细信息列表字段对照
- prop.put("detailInfo.goodsName", "货品名称");
- prop.put("detailInfo.baseUnit", "计量单位");
- prop.put("detailInfo.specifications", "规格型号");
- prop.put("detailInfo.goodsType", "货品分类");
- prop.put("detailInfo.number", "数量");
- prop.put("detailInfo.times", "请购时间");
- prop.put("detailInfo.infoRemark", "备注");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- // 查询详情信息
- getMaterialMaintenanceData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // TODO:请补充其他申请类型的对照
- // 资产申购
- case "t_b_assets":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.assets_date", "申购日期");
- prop.put("detail.assets_dapt_id", "科室id");
- prop.put("detail.assets_dept", "科室");
- prop.put("detail.assets_username", "经办人");
- prop.put("detail.assets_remarks", "备注");
- // prop.put("detail.assets_cont", "子表信息");
- //详细信息
- prop.put("detailinfo.assets_info_goodsname", "货品名称");
- prop.put("detailinfo.assets_info_measure", "计量单位");
- prop.put("detailinfo.assets_info_model", "规格型号");
- prop.put("detailinfo.assets_info_num", "数量");
- prop.put("detailinfo.assets_info_remarks", "备注信息");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getAssetsData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 用印
- case "t_b_seal":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.seal_dept", "科室");
- prop.put("detail.seal_dept_id", "科室id");
- prop.put("detail.seal_type", "用印类别");
- prop.put("detail.seal_type_id", "用印类别id");
- prop.put("detail.seal_maindept", "主送单位");
- prop.put("detail.seal_username", "经办人");
- prop.put("detail.seal_file", "用印文件");
- prop.put("detail.seal_date", "用印日期");
- prop.put("detail.seal_num", "用印份数");
- prop.put("detail.seal_num_china", "份数(大写)");
- prop.put("detail.seal_reason", "用印事由");
- prop.put("detail.seal_file_url", "附件路径");
- prop.put("detail.seal_filename", "附件名称");
- prop.put("detail.attachment", "附件");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getSealData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 事前
- case "t_b_beforehand":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.beforehand_dept", "科室");
- prop.put("detail.beforehand_dept_id", "科室id");
- prop.put("detail.beforehand_receive_user", "接待员工");
- prop.put("detail.beforehand_post", "职务");
- prop.put("detail.beforehand_station", "岗位");
- prop.put("detail.beforehand_accompany_user", "陪同员工");
- prop.put("detail.beforehand_receive_dapt", "招待单位");
- prop.put("detail.beforehand_start_date", "招待开始时间");
- prop.put("detail.beforehand_end_date", "招待结束时间");
- prop.put("detail.beforehand_day", "招待天数");
- prop.put("detail.beforehand_reason", "招待事由");
- prop.put("detail.beforehand_file_url", "附件路径");
- prop.put("detail.beforehand_filename", "附件名称");
- prop.put("detail.attachment", "附件");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getBeforehandData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 消息
- case "t_b_message":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.message_title", "标题");
- prop.put("detail.message_range_dept", "发送范围");
- // prop.put("detail.message_range_dept", "发送范围部门名称");
- prop.put("detail.message_range_dept_id", "发送范围部门ids");
- prop.put("detail.message_mode", "发送方式");
- prop.put("detail.message_date_type", "发送时间类型");
- prop.put("detail.message_type", "通知类型");
- prop.put("detail.message_cont", "内容");
- prop.put("detail.message_send", "是否发送");
- prop.put("detail.message_file_url", "附件路径");
- prop.put("detail.message_filename", "附件名称");
- prop.put("detail.attachment", "附件");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getMessageData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 办公
- case "t_b_office":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.create_date", "申请日期");
- prop.put("detail.office_dept", "科室");
- prop.put("detail.office_dept_id", "科室id");
- prop.put("detail.office_travel_user", "公务出行人员");
- prop.put("detail.office_drive_user", "驾驶人员");
- prop.put("detail.office_address", "公务活动地点");
- prop.put("detail.office_start_date", "公务活动开始时间");
- prop.put("detail.office_end_date", "公务活动结束时间");
- prop.put("detail.office_day", "公务活动总天数");
- prop.put("detail.office_cont", "公务活动内容");
- prop.put("detail.office_file_url", "附件路径");
- prop.put("detail.office_filename", "附件名称");
- prop.put("detail.attachment", "附件");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getOfficeData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- // 督查奖惩
- case "t_b_supervision":
- // 附加字段对照集合
- prop.put("detail.tableId", "操作表id");
- prop.put("detail.supervision_bill_id", "督查单据id");
- prop.put("detail.supervision_bill_code", "督查单据编码");
- prop.put("detail.supervision_bill_date", "督查单据日期");
- prop.put("detail.supervision_bill_user", "督查单据人员");
- prop.put("detail.supervision_bill_region", "督查单据区域");
- prop.put("detail.supervision_type", "业务类型");
- prop.put("detail.supervision_address", "问题作业位置");
- prop.put("detail.supervision_pro_cont", "问题描述");
- prop.put("detail.supervision_one_img_url", "问题照片路径1");
- prop.put("detail.supervision_two_img_url", "问题照片路径2");
- prop.put("detail.supervision_three_img_url", "问题照片路径3");
- prop.put("detail.supervision_duty_user", "责任人");
- prop.put("detail.supervision_class_user", "班组长");
- prop.put("detail.supervision_cont", "奖惩内容");
- prop.put("detail.supervision_res_type", "奖惩类型");
- prop.put("detail.supervision_res", "奖惩处理");
- // 将字段对照集合添加到对照实体
- props = getPropsByprop(prop);
- getSupervisionData(responseJson, mapresult, request.getParameter("requestId"));
- break;
- default:
- System.err.println("审批规则表对应失败!");
- break;
- }
- } else {
- returnErrorResponseJson(responseJson, "审批类型查询失败!");
- }
- } else {
- returnErrorResponseJson(responseJson, "缺少参数requestId!");
- }
- } catch (Exception e) {
- System.err.println("获取所有审批类型Exception:" + e.getLocalizedMessage());
- returnErrorResponseJson(responseJson, e.getMessage());
- }
- responseJson.setProps(props);
- responseJson.setPagination(pagination);
- return responseJson;
- }
- private void getSupervisionData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = " SELECT \n" +
- " id tableId, \n" +
- " supervision_bill_id, \n" +
- " supervision_bill_code, \n" +
- " DATE_FORMAT(supervision_bill_date,'%Y-%m-%d') supervision_bill_date, \n" +
- " (select realname from t_s_base_user where id = supervision_bill_user) supervision_bill_user, \n" +
- " supervision_bill_region, \n" +
- " supervision_type, \n" +
- " supervision_address, \n" +
- " supervision_pro_cont, \n" +
- " supervision_one_img_url, \n" +
- " supervision_two_img_url, \n" +
- " supervision_three_img_url, \n" +
- " (select realname from t_s_base_user where id = supervision_duty_user) supervision_duty_user, \n" +
- " (select realname from t_s_base_user where id = supervision_class_user) supervision_class_user, \n" +
- " supervision_cont, \n" +
- " supervision_res_type, \n" +
- " supervision_res \n" +
- " FROM \n" +
- " t_b_supervision " +
- " WHERE\n" +
- "\trequest_id =? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- private void getMessageData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\tid tableId,\n" +
- "\tmessage_title,\n" +
- //"\tmessage_range,\n" +
- "\tmessage_range_dept,\n" +
- "\tmessage_range_dept_id,\n" +
- "\tmessage_mode,\n" +
- "\tmessage_date_type,\n" +
- "\tmessage_type,\n" +
- "\tmessage_cont,\n" +
- "\tmessage_send,\n" +
- "\tmessage_file_url,\n" +
- "\tmessage_filename \n" +
- "FROM\n" +
- "\tt_b_message" +
- " WHERE\n" +
- "\trequest_id =? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- if(selectTableData.get("message_file_url")!=null){
- String[] sealFileUrl = (String.valueOf(selectTableData.get("message_file_url"))).split(",");
- String[] sealFilename = (String.valueOf(selectTableData.get("message_filename"))).split(",");
- String attachment = "[";
- for(int i=0;i<sealFileUrl.length;i++){
- if(i==0){
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"}";
- }else{
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"},";
- }
- }
- attachment+="]";
- selectTableData.put("attachment",attachment);
- }
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- private void getOfficeData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\tid tableId,\n" +
- "\toffice_dept,\n" +
- "\toffice_dept_id,\n" +
- "\toffice_travel_user,\n" +
- "\toffice_drive_user,\n" +
- "\toffice_address,\n" +
- "\t DATE_FORMAT(office_start_date,'%Y-%m-%d') office_start_date,\n" +
- "\t DATE_FORMAT(office_end_date,'%Y-%m-%d') office_end_date,\n" +
- "\toffice_day,\n" +
- "\toffice_cont,\n" +
- "\toffice_file_url,\n" +
- "\toffice_filename, \n" +
- "\t DATE_FORMAT(create_date,'%Y-%m-%d') create_date \n" +
- "FROM\n" +
- "\tt_b_office" +
- " WHERE\n" +
- "\trequest_id =? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- if(selectTableData.get("office_file_url")!=null){
- String[] sealFileUrl = (String.valueOf(selectTableData.get("office_file_url"))).split(",");
- String[] sealFilename = (String.valueOf(selectTableData.get("office_filename"))).split(",");
- String attachment = "[";
- for(int i=0;i<sealFileUrl.length;i++){
- if(i==0){
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"}";
- }else{
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"},";
- }
- }
- attachment+="]";
- selectTableData.put("attachment",attachment);
- }
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- private void getBeforehandData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\tid tableId,\n" +
- "\tbeforehand_dept,\n" +
- "\tbeforehand_dept_id,\n" +
- "\tbeforehand_receive_user,\n" +
- "\tbeforehand_post,\n" +
- "\tbeforehand_station,\n" +
- "\tbeforehand_accompany_user,\n" +
- "\tbeforehand_receive_dapt,\n" +
- "\t DATE_FORMAT(beforehand_start_date,'%Y-%m-%d') beforehand_start_date,\n" +
- "\t DATE_FORMAT(beforehand_end_date,'%Y-%m-%d') beforehand_end_date,\n" +
- "\tbeforehand_day,\n" +
- "\tbeforehand_reason,\n" +
- "\tbeforehand_file_url,\n" +
- "\tbeforehand_filename \n" +
- "FROM\n" +
- "\tt_b_beforehand" +
- " WHERE\n" +
- "\trequest_id =? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- if(selectTableData.get("beforehand_file_url")!=null){
- String[] sealFileUrl = (String.valueOf(selectTableData.get("beforehand_file_url"))).split(",");
- String[] sealFilename = (String.valueOf(selectTableData.get("beforehand_filename"))).split(",");
- String attachment = "[";
- for(int i=0;i<sealFileUrl.length;i++){
- if(i==0){
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"}";
- }else{
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"},";
- }
- }
- attachment+="]";
- selectTableData.put("attachment",attachment);
- }
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- private void getSealData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- String selectTableSql = "SELECT\n" +
- "\tid tableId,\n" +
- "\tseal_dept,\n" +
- "\tseal_dept_id,\n" +
- "\t (select typename from t_s_type where typecode = seal_type_id) seal_type,\n" +
- "\tseal_type_id,\n" +
- "\tseal_maindept,\n" +
- "\tseal_username,\n" +
- "\tseal_file,\n" +
- "\t DATE_FORMAT(seal_date,'%Y-%m-%d') seal_date,\n" +
- "\tseal_num,\n" +
- "\tseal_num_china,\n" +
- "\tseal_reason,\n" +
- "\tseal_file_url,\n" +
- "\tseal_filename \n" +
- "FROM\n" +
- "\tt_b_seal" +
- " WHERE\n" +
- "\trequest_id =? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- if (selectTableData != null) {
- if(selectTableData.get("seal_file_url")!=null){
- String[] sealFileUrl = (String.valueOf(selectTableData.get("seal_file_url"))).split(",");
- String[] sealFilename = (String.valueOf(selectTableData.get("seal_filename"))).split(",");
- String attachment = "[";
- for(int i=0;i<sealFileUrl.length;i++){
- if(i==0){
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"}";
- }else{
- attachment += "{\"name\":\""+sealFilename[i]+"\",\"url\":\""+sealFileUrl[i]+"\"},";
- }
- }
- attachment+="]";
- selectTableData.put("attachment",attachment);
- }
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- private void getAssetsData(ResponseJson responseJson, Map<String, Object> mapresult, String requestId) {
- //主表
- String selectTableSql = "\tselect id tableId, DATE_FORMAT(assets_date,'%Y-%m-%d') assets_date,assets_dapt_id, " +
- "\tassets_dept,assets_username,assets_remarks from t_b_assets " +
- "WHERE\n" +
- "\trequest_id =? ;";
- Map<String, Object> selectTableData = systemService.findOneForJdbc(selectTableSql, requestId);
- //详情
- if (selectTableData != null) {
- String selectTableInfoSql = " SELECT assets_info_goodsname,\n" +
- " assets_info_measure,\n" +
- " assets_info_model,\n" +
- " assets_info_num,\n" +
- " assets_info_remarks\n" +
- " FROM t_b_assets_info where assets_id =?";
- List<Map<String, Object>> selectTableInfoData = systemService.findForJdbc(selectTableInfoSql, String.valueOf(selectTableData.get("tableId")));
- if (selectTableInfoData != null) {
- mapresult.put("detailInfo", selectTableInfoData);
- responseJson.setData(mapresult);
- }
- }
- if (selectTableData != null) {
- mapresult.put("detail", selectTableData);
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到申请表单的基本信息,请检查流程是否已通过或该表单已被删除!");
- }
- }
- /**
- * 微信小程序审批流暴露接口5(根据申请id获取申请流程)
- *
- * @param request
- * @param pagination
- * @return ResponseJson
- * @author 刘梦祥
- * @Date 2021年12月22日15:29:39
- */
- @GetMapping(params = "getRequestById")
- @ResponseBody
- public ResponseJson getRequestById(HttpServletRequest request, Pagination pagination) {
- // 初始化返回实体
- ResponseJson responseJson = new ResponseJson();
- // 初始化字段对照实体
- List<Map<String, String>> props = new ArrayList<>();
- // 初始化查询sql对象
- String sqlStr = "";
- try {
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntityArrayList = new ArrayList<>();
- List<Map<String, Object>> mapresult = new ArrayList<>();
- String requestId = "";
- if (StringUtil.isNotEmpty(request.getParameter("requestId"))) {
- requestId = request.getParameter("requestId");
- // 初始化字段对照集合
- Map<String, String> prop = new HashMap<>();
- prop.put("name", "审批人姓名");
- prop.put("image", "审批人头像");
- prop.put("requestId", "审批id");
- prop.put("content", "审批意见");
- prop.put("time", "审批时间");
- prop.put("deny", "是否拒绝");
- // 将字段对照集合转换为字段对照实体
- props = getPropsByprop(prop);
- // 根据流程id得到对应流程规则的流程明细
- Map<String, Object> rulersOne = systemService.findOneForJdbc("select rulers,user_id userId from t_b_request_rule tbrr LEFT JOIN t_b_request tbr on tbr.rule_id = tbrr.id where tbr.id = ?;", requestId);
- if (rulersOne != null && rulersOne.containsKey("rulers") && StringUtil.isNotEmpty(rulersOne.get("rulers")) && rulersOne.containsKey("userId") && StringUtil.isNotEmpty(rulersOne.get("userId"))) {
- String rulers = String.valueOf(rulersOne.get("rulers"));
- List<String> ruleList = Arrays.asList(rulers.split(","));
- List<Map<String, Object>> requestInfoList = systemService.findForJdbc("select * from t_b_request_feedback tbrf LEFT JOIN t_s_base_user tsbu on tbrf.user_id = tsbu.ID where request_id = ? ORDER BY created_at ASC;", requestId);
- if (requestInfoList != null) {
- int index = 0;
- boolean returenStatus = false;
- for (Map<String, Object> feedBackItem : requestInfoList) {
- TBRequestFeedbackEntity tbRequestFeedbackEntity = new TBRequestFeedbackEntity();
- tbRequestFeedbackEntity.setUserId(String.valueOf(feedBackItem.get("realname")));
- tbRequestFeedbackEntity.setId(String.valueOf(feedBackItem.get("id")));
- tbRequestFeedbackEntity.setRequestId(String.valueOf(feedBackItem.get("request_id")));
- tbRequestFeedbackEntity.setFeedbackStatus(String.valueOf(feedBackItem.get("feedback_status")));
- tbRequestFeedbackEntity.setFeedbackOpinion(String.valueOf(feedBackItem.get("feedback_opinion")));
- tbRequestFeedbackEntity.setSignatureBaseUrl(String.valueOf(feedBackItem.get("signature_base_url")));
- if (feedBackItem.get("created_at") != null) {
- tbRequestFeedbackEntity.setCreatedAt(simpleDateFormat.parse(String.valueOf(feedBackItem.get("created_at"))));
- } else {
- tbRequestFeedbackEntity.setCreatedAt(null);
- }
- if ("驳回".equals(feedBackItem.get("feedback_status"))) {
- index++;
- returenStatus = true;
- } else if ("同意".equals(feedBackItem.get("feedback_status"))) {
- index++;
- }
- tbRequestFeedbackEntityArrayList.add(tbRequestFeedbackEntity);
- }
- if (index < ruleList.size()) {
- // 代表未完成
- for (int i = index; i < ruleList.size(); i++) {
- // 暂存科室id
- String departId = "";
- String inPostid = "";
- TBRequestFeedbackEntity tbRequestFeedbackEntity = new TBRequestFeedbackEntity();
- tbRequestFeedbackEntity.setFeedbackStatus(returenStatus ? "流程驳回,待经办人确认,并执行其他操作" : "待审批");
- String userRuleMapStr = this.getUserRuleMap(ruleList.get(i), String.valueOf(rulersOne.get("userId")));
- if (StringUtil.isNotEmpty(userRuleMapStr)) {
- JSONObject userRuleObj = JSONObject.parseObject(userRuleMapStr);
- if (userRuleObj.containsKey("departId") && userRuleObj.containsKey("inPostid")) {
- departId = userRuleObj.get("departId").toString();
- inPostid = userRuleObj.get("inPostid").toString();
- // 根据科室和职位查询用户
- CriteriaQuery criteriaQuery1 = new CriteriaQuery(UserAndUserPersonnelDto.class, new DataGrid());
- criteriaQuery1.eq("inPostid", userRuleObj.get("inPostid").toString());
- criteriaQuery1.add();
- List<UserAndUserPersonnelDto> userAndUserPersonnelDtoList = this.systemService.getListByCriteriaQuery(criteriaQuery1, true);
- if (userAndUserPersonnelDtoList != null && userAndUserPersonnelDtoList.size() > 0) {
- userAndUserPersonnelDtoList.get(0).getRealname();
- for (UserAndUserPersonnelDto userDto : userAndUserPersonnelDtoList) {
- List<Map<String, Object>> userJoinList = systemService.findForJdbc("select * from t_s_base_user tsbu LEFT JOIN t_s_user tsu on tsu.id = tsbu.ID LEFT JOIN t_s_user_org tsuo on tsuo.user_id = tsu.ID where tsuo.user_id = ? and tsuo.org_id = ? ;", userDto.getUserid(), userRuleObj.get("departId"));
- if (userJoinList != null && userJoinList.size() > 0) {
- for (Map<String, Object> tsItem : userJoinList) {
- String oldUserId = StringUtil.isNotEmpty(tbRequestFeedbackEntity.getUserId()) ? tbRequestFeedbackEntity.getUserId() + "-" : "";
- tbRequestFeedbackEntity.setUserId(oldUserId + tsItem.get("realname"));
- String oldUserImage = StringUtil.isNotEmpty(tbRequestFeedbackEntity.getImage()) ? tbRequestFeedbackEntity.getImage() + "-" : "";
- tbRequestFeedbackEntity.setImage(oldUserImage + tsItem.get("image"));
- }
- }
- }
- }
- } else if (userRuleObj.containsKey("userId")) {
- Map<String, Object> userItem = systemService.findOneForJdbc("select * from t_s_base_user tsbu LEFT JOIN t_s_user tsu on tsu.id = tsbu.ID where tsbu.id = ?;", userRuleObj.get("userId").toString());
- if (userItem.containsKey("realname")) {
- tbRequestFeedbackEntity.setUserId(userItem.get("realname").toString());
- if (userItem.get("image") != null) {
- tbRequestFeedbackEntity.setImage(userItem.get("image").toString());
- }
- } else {
- tbRequestFeedbackEntity.setUserId(null);
- }
- }
- }
- if (StringUtil.isEmpty(tbRequestFeedbackEntity.getUserId())) {
- TSDepart tsDepart = this.systemService.getEntity(TSDepart.class, departId);
- PostEntity postEntity = this.systemService.getEntity(PostEntity.class, inPostid);
- tbRequestFeedbackEntity.setUserId("系统暂无该职位用户!部门:" + tsDepart.getDepartname() + ";岗位:" + postEntity.getPostName() + "!");
- }
- tbRequestFeedbackEntityArrayList.add(tbRequestFeedbackEntity);
- }
- }
- // 将实体类转换为微信小程序识别的数据结构
- if (tbRequestFeedbackEntityArrayList.size() > 0) {
- for (TBRequestFeedbackEntity tbRequestFeedbackEntity : tbRequestFeedbackEntityArrayList) {
- Map<String, Object> resultItem = new HashMap<>();
- resultItem.put("name", tbRequestFeedbackEntity.getUserId());
- resultItem.put("image", tbRequestFeedbackEntity.getImage());
- resultItem.put("requestId", tbRequestFeedbackEntity.getRequestId());
- resultItem.put("content", tbRequestFeedbackEntity.getFeedbackOpinion());
- resultItem.put("time", tbRequestFeedbackEntity.getCreatedAt());
- if(tbRequestFeedbackEntity.getSignatureBaseUrl() == null){
- tbRequestFeedbackEntity.setSignatureBaseUrl("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAEsCAYAAACbnn2RAAAAAXNSR0IArs4c6QAAFK1JREFUeF7t10EBAAAIAjHpX9ogNxsw/LBzBAgQIECAAAECBAgQIJAUWDK10AQIECBAgAABAgQIECBwBqEnIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQOAB6HkBLXgQOl0AAAAASUVORK5CYII=");
- }
- resultItem.put("signatureBaseUrl", tbRequestFeedbackEntity.getSignatureBaseUrl());
- resultItem.put("deny", tbRequestFeedbackEntity.getFeedbackStatus() != null ? "驳回".equals(tbRequestFeedbackEntity.getFeedbackStatus()) : null);
- mapresult.add(resultItem);
- }
- }
- // 将得到的数据返回给pagination对象
- responseJson.setData(mapresult);
- } else {
- returnErrorResponseJson(responseJson, "未查询到流程id为" + requestId + "的审批记录。");
- }
- } else {
- returnErrorResponseJson(responseJson, "未查询到流程id为" + requestId + "的审批规则。");
- }
- } else {
- returnErrorResponseJson(responseJson, "缺少参数requestId");
- }
- } catch (Exception e) {
- System.err.println("获取所有审批类型Exception:" + e.getLocalizedMessage());
- returnErrorResponseJson(responseJson, e.getMessage());
- }
- responseJson.setProps(props);
- responseJson.setPagination(pagination);
- return responseJson;
- }
- /**
- * 微信小程序审批流暴露接口6(提交审批意见)
- *
- * @param requestDto
- * @return ResponseJson
- * @author 刘梦祥
- * @Date 2021年12月22日19:15:53
- */
- @PostMapping(params = "putRequest")
- @ResponseBody
- @Transactional(rollbackFor = Exception.class)
- public ResponseJson putRequest(RequestDto requestDto) {
- // 初始化返回实体
- ResponseJson responseJson = new ResponseJson();
- try {
- if (requestDto != null && requestDto.getDeny() != null && requestDto.getRequestId() != null && requestDto.getContent() != null && requestDto.getUserId() != null && requestDto.getSignatureBaseUrl() != null) {
- requestDto.setContent(new String(requestDto.getContent().getBytes("ISO-8859-1"),"UTF-8"));
- TBRequestFeedbackEntity tBRequestFeedback = new TBRequestFeedbackEntity();
- //保存审批详细数据
- tBRequestFeedback.setId(UUID.randomUUID().toString());
- tBRequestFeedback.setUserId(requestDto.getUserId());
- tBRequestFeedback.setRequestId(requestDto.getRequestId());
- tBRequestFeedback.setFeedbackStatus(requestDto.getDeny() ? "驳回" : "同意");
- tBRequestFeedback.setFeedbackOpinion(requestDto.getContent());
- tBRequestFeedback.setCreatedAt(new Date());
- tBRequestFeedback.setSignatureBaseUrl(requestDto.getSignatureBaseUrl());
- // 根据审批id查询对应classPath和rulers
- Map<String, Object> rulersOne = systemService.findOneForJdbc("select tbrtrr.class_path classPath,tbrr.rulers rulers,tbr.current_ruler_id currentRulerId from t_b_request tbr LEFT JOIN t_b_request_type_rule_rel tbrtrr on tbrtrr.rule_id = tbr.rule_id LEFT JOIN t_b_request_rule tbrr on tbrr.id = tbrtrr.rule_id where tbr.id = ?;", requestDto.getRequestId());
- if (rulersOne != null && rulersOne.containsKey("classPath") && rulersOne.containsKey("rulers") && rulersOne.get("classPath") != null && rulersOne.get("rulers") != null && rulersOne.containsKey("currentRulerId") && rulersOne.get("currentRulerId") != null) {
- // 验证该用户是否有审批权限
- JSONObject currentRulerIdObj = JSONObject.parseObject(String.valueOf(rulersOne.get("currentRulerId")));
- Boolean currentRulerStatus = null;
- if (currentRulerIdObj.containsKey("userId")) {
- if (requestDto.getUserId().equals(currentRulerIdObj.get("userId"))) {
- currentRulerStatus = true;
- } else {
- currentRulerStatus = false;
- }
- } else if (currentRulerIdObj.containsKey("inPostid") && currentRulerIdObj.containsKey("departId")) {
- String currentRulerUserListSql = "select * from t_s_user_org tsuo left JOIN t_bus_user_personnel tbup on tbup.userid = tsuo.user_id where tsuo.user_id = ? and tsuo.org_id = ? and tbup.in_postid = ?;";
- List<Map<String, Object>> currentRulerUserList = systemService.findForJdbc(currentRulerUserListSql, requestDto.getUserId(), currentRulerIdObj.get("departId"), currentRulerIdObj.get("inPostid"));
- if (currentRulerUserList != null && currentRulerUserList.size() > 0) {
- currentRulerStatus = true;
- } else {
- currentRulerStatus = false;
- }
- } else {
- currentRulerStatus = false;
- }
- if (currentRulerStatus) {
- TBRequestEntity tBRequestA = systemService.getEntity(TBRequestEntity.class, requestDto.getRequestId());
- if ("待审批".equals(tBRequestA.getStatus())) {
- String rules = String.valueOf(rulersOne.get("rulers"));
- List<String> ruleList = Arrays.asList(rules.split(","));
- //判断下一个审批的人
- String nextRole = "";
- // 根据审批id查询审批日志表数据
- CriteriaQuery feedbackCq = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid());
- feedbackCq.eq("requestId", tBRequestFeedback.getRequestId());
- feedbackCq.addOrder("createdAt", SortDirection.asc);
- feedbackCq.add();
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntityList = this.systemService.getListByCriteriaQuery(feedbackCq, true);
- nextRole = null;
- int index = 1;
- for (TBRequestFeedbackEntity feedBackItem : tbRequestFeedbackEntityList) {
- if ("驳回".equals(feedBackItem.getFeedbackStatus())) {
- index = 1;
- } else if ("同意".equals(feedBackItem.getFeedbackStatus())) {
- index++;
- }
- }
- if (index >= ruleList.size()) {
- // 代表已完成
- tBRequestA.setStatus(tBRequestFeedback.getFeedbackStatus().equals("同意") ? "已通过" : "已驳回");
- tBRequestA.setCurrentRulerId(nextRole);
- } else {
- // 代表未完成
- nextRole = this.getUserRuleMap(ruleList.get(index), requestDto.getUserId());
- tBRequestA.setStatus(tBRequestFeedback.getFeedbackStatus().equals("同意") ? "待审批" : "已驳回");
- tBRequestA.setCurrentRulerId(nextRole);
- }
- if (tBRequestFeedback.getFeedbackStatus().equals("同意")) {
- responseJson.setMsg("审批成功!");
- } else {
- responseJson.setMsg("单据已驳回!");
- }
- // 根据classPath和审批id获取tableId
- String tableId = getTableIdByClassPathAndRequest(String.valueOf(rulersOne.get("classPath")), tBRequestFeedback.getRequestId());
- if (tableId != null && StringUtil.isNotEmpty(tableId)) {
- systemService.save(tBRequestFeedback);
- this.tBRequestService.saveOrUpdate(tBRequestA);
- this.tBRequestService.withdrawbyClassPath(String.valueOf(rulersOne.get("classPath")), tableId, tBRequestA.getStatus(), tBRequestFeedback.getRequestId());
- } else {
- System.err.println("该审批流未查询到对应的表单id,请刷新后重试!");
- returnErrorResponseJson(responseJson, "该审批流未查询到对应的表单id,请刷新后重试!");
- }
- } else {
- System.err.println("该审批流状态为:" + tBRequestA.getStatus() + ",请刷新后重试!");
- returnErrorResponseJson(responseJson, "该审批流状态为:" + tBRequestA.getStatus() + ",请刷新后重试!");
- }
- } else {
- System.err.println("该用户没有审批权限!");
- returnErrorResponseJson(responseJson, "该用户没有审批权限!");
- }
- } else {
- System.err.println("根据审批id查询信息失败rulersOne:" + rulersOne);
- returnErrorResponseJson(responseJson, "根据审批id查询信息失败rulersOne:" + rulersOne);
- }
- } else {
- System.err.println("缺少必传参数:requestDto:" + requestDto);
- returnErrorResponseJson(responseJson, "缺少必传参数:requestDto:" + requestDto);
- }
- } catch (Exception e) {
- System.err.println("提交审批意见Exception:" + e.getLocalizedMessage());
- returnErrorResponseJson(responseJson, e.getMessage());
- }
- return responseJson;
- }
- /**
- * 根据流程id查询得到所有的审批记录
- *
- * @param request
- * @param response
- * @param dataGrid
- */
- @RequestMapping(params = "goodsdatagrid")
- public void goodsdatagrid(HttpServletRequest request, HttpServletResponse response, DataGrid dataGrid) {
- String requestId = request.getParameter("requestId");
- CriteriaQuery cq = new CriteriaQuery(TBRequestFeedbackEntity.class, dataGrid);
- TBRequestFeedbackEntity tBRequestFeedback = new TBRequestFeedbackEntity();
- tBRequestFeedback.setRequestId(requestId);
- HqlGenerateUtil.installHql(cq, tBRequestFeedback, request.getParameterMap());
- try {
- cq.eq("requestId", requestId);
- cq.addOrder("createdAt", SortDirection.asc);
- } catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
- List<TBRequestFeedbackEntity> TBRequestFeedbackEntityList = this.tBRequestFeedbackService.getListByCriteriaQuery(cq, true);
- String userId = "";
- Map<String, Object> rulersOne = systemService.findOneForJdbc("select rulers,user_id userId from t_b_request_rule tbrr LEFT JOIN t_b_request tbr on tbr.rule_id = tbrr.id where tbr.id = ?;", requestId);
- if (rulersOne != null && rulersOne.containsKey("userId") && StringUtil.isNotEmpty(rulersOne.get("userId"))) {
- userId = rulersOne.get("userId").toString();
- }
- // 显示所有的待审批流程
- if (StringUtil.isNotEmpty(userId)) {
- CriteriaQuery feedbackCq = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid());
- feedbackCq.eq("requestId", tBRequestFeedback.getRequestId());
- feedbackCq.addOrder("createdAt", SortDirection.asc);
- feedbackCq.add();
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntityList = this.systemService.getListByCriteriaQuery(feedbackCq, true);
- CriteriaQuery criteriaQuery = new CriteriaQuery(TBRequestEntity.class, new DataGrid());
- criteriaQuery.eq("id", tBRequestFeedback.getRequestId());
- criteriaQuery.add();
- List<TBRequestEntity> TBRequestEntityList = this.systemService.getListByCriteriaQuery(criteriaQuery, true);
- TBRequestRuleEntity tBRequestRule = this.tBRequestRuleService.getEntity(TBRequestRuleEntity.class, TBRequestEntityList.get(0).getRuleId());
- String rules = tBRequestRule.getRulers();
- List<String> ruleList = Arrays.asList(rules.split(","));
- int index = 0;
- boolean returenStatus = false;
- if (tbRequestFeedbackEntityList != null && tbRequestFeedbackEntityList.size() > 0) {
- for (TBRequestFeedbackEntity feedBackItem : tbRequestFeedbackEntityList) {
- // add-刘梦祥-2022年5月9日10:39:42(添加角色名称)
- if(ruleList.get(index).contains("userId")){
- TBRequestFeedbackEntityList.get(index).setRequestUserRole(ruleList.get(index).substring(7));
- }else{
- TBRequestFeedbackEntityList.get(index).setRequestUserRole(ruleList.get(index));
- }
- if ("驳回".equals(feedBackItem.getFeedbackStatus())) {
- // update-刘梦祥-2021年12月3日11:11:26(就算是用户驳回,也不会重新显示下面的数据)
- index++;
- returenStatus = true;
- } else if ("同意".equals(feedBackItem.getFeedbackStatus())) {
- index++;
- }
- }
- }
- if (index < ruleList.size()) {
- // 代表未完成
- for (int i = index; i < ruleList.size(); i++) {
- // 暂存科室id
- String departId = "";
- String inPostid = "";
- TBRequestFeedbackEntity tbRequestFeedbackEntity = new TBRequestFeedbackEntity();
- tbRequestFeedbackEntity.setFeedbackStatus(returenStatus ? "流程驳回,待经办人确认,并执行其他操作" : "待审批");
- // add-刘梦祥-2022年5月9日10:39:42(添加角色名称)
- tbRequestFeedbackEntity.setRequestUserRole(ruleList.get(i));
- if(ruleList.get(i).contains("userId")){
- tbRequestFeedbackEntity.setRequestUserRole(ruleList.get(i).substring(7));
- }else{
- tbRequestFeedbackEntity.setRequestUserRole(ruleList.get(i));
- }
- String userRuleMapStr = this.getUserRuleMap(ruleList.get(i), userId);
- if (StringUtil.isNotEmpty(userRuleMapStr)) {
- JSONObject userRuleObj = JSONObject.parseObject(userRuleMapStr);
- if (userRuleObj.containsKey("departId") && userRuleObj.containsKey("inPostid")) {
- departId = userRuleObj.get("departId").toString();
- inPostid = userRuleObj.get("inPostid").toString();
- // 根据科室和职位查询用户
- CriteriaQuery criteriaQuery1 = new CriteriaQuery(UserAndUserPersonnelDto.class, new DataGrid());
- criteriaQuery1.eq("inPostid", userRuleObj.get("inPostid").toString());
- criteriaQuery1.add();
- List<UserAndUserPersonnelDto> userAndUserPersonnelDtoList = this.systemService.getListByCriteriaQuery(criteriaQuery1, true);
- if (userAndUserPersonnelDtoList != null && userAndUserPersonnelDtoList.size() > 0) {
- userAndUserPersonnelDtoList.get(0).getRealname();
- for (UserAndUserPersonnelDto userDto : userAndUserPersonnelDtoList) {
- CriteriaQuery criteriaQuery2 = new CriteriaQuery(TSBaseUser.class, new DataGrid());
- criteriaQuery2.eq("id", userDto.getUserid());
- criteriaQuery2.eq("departid", userRuleObj.get("departId"));
- criteriaQuery2.add();
- List<TSBaseUser> tsBaseUserList = this.systemService.getListByCriteriaQuery(criteriaQuery2, true);
- if (tsBaseUserList != null && tsBaseUserList.size() > 0) {
- for (TSBaseUser tsItem : tsBaseUserList) {
- String oldUserId = StringUtil.isNotEmpty(tbRequestFeedbackEntity.getUserId()) ? tbRequestFeedbackEntity.getUserId() + "-" : "";
- tbRequestFeedbackEntity.setUserId(oldUserId + tsItem.getRealName());
- }
- }
- }
- }
- } else if (userRuleObj.containsKey("userId")) {
- tbRequestFeedbackEntity.setUserId(userRuleObj.get("userId").toString());
- }
- if(StringUtils.isEmpty(tbRequestFeedbackEntity.getSignatureBaseUrl())){
- tbRequestFeedbackEntity.setSignatureBaseUrl("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAEsCAYAAACbnn2RAAAAAXNSR0IArs4c6QAAFK1JREFUeF7t10EBAAAIAjHpX9ogNxsw/LBzBAgQIECAAAECBAgQIJAUWDK10AQIECBAgAABAgQIECBwBqEnIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQOAB6HkBLXgQOl0AAAAASUVORK5CYII=");
- }
- }
- if (StringUtil.isEmpty(tbRequestFeedbackEntity.getUserId())) {
- TSDepart tsDepart = this.systemService.getEntity(TSDepart.class, departId);
- PostEntity postEntity = this.systemService.getEntity(PostEntity.class, inPostid);
- tbRequestFeedbackEntity.setUserId("系统暂无该职位用户!部门:" + tsDepart.getDepartname() + ";岗位:" + postEntity.getPostName() + "!");
- }
- TBRequestFeedbackEntityList.add(tbRequestFeedbackEntity);
- }
- }
- }
- dataGrid.setResults(null);
- dataGrid.setResults(TBRequestFeedbackEntityList);
- dataGrid.setTotal(TBRequestFeedbackEntityList.size());
- TagUtil.datagrid(response, dataGrid);
- }
- /**
- * 查看流程
- *
- * @param request
- * @return
- */
- @RequestMapping(params = "goUpdate")
- public ModelAndView goUpdate(HttpServletRequest request) {
- // 获取审批流程id
- String requestId = request.getParameter("requestId");
- DataGrid dataGrid = new DataGrid();
- CriteriaQuery cq = new CriteriaQuery(TBRequestFeedbackEntity.class, dataGrid);
- TBRequestFeedbackEntity tBRequestFeedback = new TBRequestFeedbackEntity();
- tBRequestFeedback.setRequestId(requestId);
- HqlGenerateUtil.installHql(cq, tBRequestFeedback, request.getParameterMap());
- // 查询审批流程进度的日志
- try {
- cq.eq("requestId", requestId);
- cq.addOrder("createdAt", SortDirection.asc);
- } catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
- List<TBRequestFeedbackEntity> TBRequestFeedbackEntityList = this.tBRequestFeedbackService.getListByCriteriaQuery(cq, true);
- for (TBRequestFeedbackEntity TBRequestFeedbackEntityItem : TBRequestFeedbackEntityList){
- if(TBRequestFeedbackEntityItem.getSignatureBaseUrl() == null){
- TBRequestFeedbackEntityItem.setSignatureBaseUrl("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAA4QAAAEsCAYAAACbnn2RAAAAAXNSR0IArs4c6QAAFK1JREFUeF7t10EBAAAIAjHpX9ogNxsw/LBzBAgQIECAAAECBAgQIJAUWDK10AQIECBAgAABAgQIECBwBqEnIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQMAg9AMECBAgQIAAAQIECBCIChiE0eLFJkCAAAECBAgQIECAgEHoBwgQIECAAAECBAgQIBAVMAijxYtNgAABAgQIECBAgAABg9APECBAgAABAgQIECBAICpgEEaLF5sAAQIECBAgQIAAAQIGoR8gQIAAAQIECBAgQIBAVMAgjBYvNgECBAgQIECAAAECBAxCP0CAAAECBAgQIECAAIGogEEYLV5sAgQIECBAgAABAgQIGIR+gAABAgQIECBAgAABAlEBgzBavNgECBAgQIAAAQIECBAwCP0AAQIECBAgQIAAAQIEogIGYbR4sQkQIECAAAECBAgQIGAQ+gECBAgQIECAAAECBAhEBQzCaPFiEyBAgAABAgQIECBAwCD0AwQIECBAgAABAgQIEIgKGITR4sUmQIAAAQIECBAgQICAQegHCBAgQIAAAQIECBAgEBUwCKPFi02AAAECBAgQIECAAAGD0A8QIECAAAECBAgQIEAgKmAQRosXmwABAgQIECBAgAABAgahHyBAgAABAgQIECBAgEBUwCCMFi82AQIECBAgQIAAAQIEDEI/QIAAAQIECBAgQIAAgaiAQRgtXmwCBAgQIECAAAECBAgYhH6AAAECBAgQIECAAAECUQGDMFq82AQIECBAgAABAgQIEDAI/QABAgQIECBAgAABAgSiAgZhtHixCRAgQIAAAQIECBAgYBD6AQIECBAgQIAAAQIECEQFDMJo8WITIECAAAECBAgQIEDAIPQDBAgQIECAAAECBAgQiAoYhNHixSZAgAABAgQIECBAgIBB6AcIECBAgAABAgQIECAQFTAIo8WLTYAAAQIECBAgQIAAAYPQDxAgQIAAAQIECBAgQCAqYBBGixebAAECBAgQIECAAAECBqEfIECAAAECBAgQIECAQFTAIIwWLzYBAgQIECBAgAABAgQMQj9AgAABAgQIECBAgACBqIBBGC1ebAIECBAgQIAAAQIECBiEfoAAAQIECBAgQIAAAQJRAYMwWrzYBAgQIECAAAECBAgQMAj9AAECBAgQIECAAAECBKICBmG0eLEJECBAgAABAgQIECBgEPoBAgQIECBAgAABAgQIRAUMwmjxYhMgQIAAAQIECBAgQOAB6HkBLXgQOl0AAAAASUVORK5CYII=");
- }
- }
- request.setAttribute("requestId", requestId);
- request.setAttribute("tBRequestFeedbackList", TBRequestFeedbackEntityList);
- if (StringUtil.isNotEmpty(request.getParameter("agentUserId"))) {
- request.setAttribute("agentUserId", request.getParameter("agentUserId"));
- } else {
- Map<String, Object> rulersOne = systemService.findOneForJdbc("select rulers,user_id userId from t_b_request_rule tbrr LEFT JOIN t_b_request tbr on tbr.rule_id = tbrr.id where tbr.id = ?;", requestId);
- if (rulersOne != null && rulersOne.containsKey("userId") && StringUtil.isNotEmpty(rulersOne.get("userId"))) {
- request.setAttribute("agentUserId", rulersOne.get("userId"));
- }
- }
- return new ModelAndView("cn/com/lzt/sign/approve/approve-view");
- }
- /**
- * 打开审批流程页面
- *
- * @param request
- * @return
- */
- @RequestMapping(params = "goAdd")
- public ModelAndView goAdd(HttpServletRequest request) {
- String requestId = request.getParameter("requestId");
- String type = request.getParameter("type");
- String id = request.getParameter("id");
- //查询上一个人的审批数据
- DataGrid dataGrid = new DataGrid();
- // 根据审批流id查询申请审批反馈表
- CriteriaQuery cq = new CriteriaQuery(TBRequestFeedbackEntity.class, dataGrid);
- TBRequestFeedbackEntity tBRequestFeedback = new TBRequestFeedbackEntity();
- tBRequestFeedback.setRequestId(requestId);
- HqlGenerateUtil.installHql(cq, tBRequestFeedback, request.getParameterMap());
- try {
- // 根据时间倒序
- cq.addOrder("createdAt", SortDirection.desc);
- } catch (Exception e) {
- throw new BusinessException(e.getMessage());
- }
- cq.add();
- this.tBRequestFeedbackService.getDataGridReturn(cq, true);
- request.setAttribute("type", type);
- if (StringUtil.isNotEmpty(request.getParameter("statusId"))) {
- request.setAttribute("statusId", request.getParameter("statusId"));
- } else {
- request.setAttribute("statusId", id);
- }
- request.setAttribute("requestId", requestId);
- if (StringUtil.isNotEmpty(request.getParameter("agentUserId"))) {
- request.setAttribute("agentUserId", request.getParameter("agentUserId"));
- } else {
- Map<String, Object> rulersOne = systemService.findOneForJdbc("select rulers,user_id userId from t_b_request_rule tbrr LEFT JOIN t_b_request tbr on tbr.rule_id = tbrr.id where tbr.id = ?;", requestId);
- if (rulersOne != null && rulersOne.containsKey("userId") && StringUtil.isNotEmpty(rulersOne.get("userId"))) {
- request.setAttribute("agentUserId", rulersOne.get("userId"));
- }
- }
- if (StringUtil.isNotEmpty(request.getParameter("detailPageRequest"))) {
- request.setAttribute("detailPageRequest", request.getParameter("detailPageRequest") + "&load=detail&id=" + id);
- }
- if (dataGrid.getResults() != null && dataGrid.getResults().size() > 0) {
- request.setAttribute("tBRequestFeedback", (dataGrid.getResults()).get(0));
- } else {
- request.setAttribute("blog", "1");
- }
- return new ModelAndView("cn/com/lzt/sign/approve/approve-update");
- }
- /**
- * 提交审批
- *
- * @param tBRequestFeedback 申请审批反馈表
- * @param request
- * @return
- */
- @RequestMapping(params = {"doSubmitIo"})
- @ResponseBody
- public AjaxJson doSubmitIo(TBRequestFeedbackEntity tBRequestFeedback, HttpServletRequest request) {
- AjaxJson j = new AjaxJson();
- try {
- //保存审批详细数据
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser) session.getAttribute("LOCAL_CLINET_USER");
- tBRequestFeedback.setUserId(tuser.getId());
- tBRequestFeedback.setCreatedAt(new Date());
- this.tBRequestFeedbackService.save(tBRequestFeedback);
- //取出审批流程
- String id = request.getParameter("type");
- TBRequestTypeRuleRelEntity tBRequestTypeRuleRel = new TBRequestTypeRuleRelEntity();
- tBRequestTypeRuleRel.setId(id);
- DataGrid dataGrid = new DataGrid();
- CriteriaQuery cq = new CriteriaQuery(TBRequestTypeRuleRelEntity.class, dataGrid);
- HqlGenerateUtil.installHql(cq, tBRequestTypeRuleRel, request.getParameterMap());
- this.tBRequestTypeRuleRelService.getDataGridReturn(cq, true);
- tBRequestTypeRuleRel = (TBRequestTypeRuleRelEntity) (dataGrid.getResults()).get(0);
- //修改审批结果
- String requestId = tBRequestFeedback.getRequestId();
- TBRequestEntity tBRequestA = new TBRequestEntity();
- tBRequestA.setId(requestId);
- DataGrid dataGridA = new DataGrid();
- CriteriaQuery cqA = new CriteriaQuery(TBRequestEntity.class, dataGridA);
- HqlGenerateUtil.installHql(cqA, tBRequestA, request.getParameterMap());
- this.tBRequestService.getDataGridReturn(cqA, true);
- tBRequestA = (TBRequestEntity) (dataGridA.getResults()).get(0);
- String CurrentRulerId = tBRequestA.getCurrentRulerId();
- String ruleId = tBRequestTypeRuleRel.getRuleId();
- TBRequestRuleEntity tBRequestRule = this.tBRequestRuleService.getEntity(TBRequestRuleEntity.class, ruleId);
- String rules = tBRequestRule.getRulers();
- List<String> ruleList = Arrays.asList(rules.split(","));
- //判断下一个审批的人
- String nextRole = "";
- // 根据审批id查询审批日志表数据
- String userId = "";
- Map<String, Object> rulersOne = systemService.findOneForJdbc("select rulers,user_id userId from t_b_request_rule tbrr LEFT JOIN t_b_request tbr on tbr.rule_id = tbrr.id where tbr.id = ?;", requestId);
- if (rulersOne != null && rulersOne.containsKey("userId") && StringUtil.isNotEmpty(rulersOne.get("userId"))) {
- userId = rulersOne.get("userId").toString();
- }
- if (StringUtil.isNotEmpty(userId) && StringUtil.isNotEmpty(tBRequestTypeRuleRel.getClassPath())) {
- CriteriaQuery feedbackCq = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid());
- feedbackCq.eq("requestId", tBRequestFeedback.getRequestId());
- feedbackCq.addOrder("createdAt", SortDirection.asc);
- feedbackCq.add();
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntityList = this.systemService.getListByCriteriaQuery(feedbackCq, true);
- nextRole = null;
- if (tbRequestFeedbackEntityList != null && tbRequestFeedbackEntityList.size() > 0) {
- int index = 0;
- for (TBRequestFeedbackEntity feedBackItem : tbRequestFeedbackEntityList) {
- if ("驳回".equals(feedBackItem.getFeedbackStatus())) {
- index = 0;
- } else if ("同意".equals(feedBackItem.getFeedbackStatus())) {
- index++;
- }
- }
- if (index >= ruleList.size()) {
- // 代表已完成
- tBRequestA.setStatus(tBRequestFeedback.getFeedbackStatus().equals("同意") ? "已通过" : "已驳回");
- tBRequestA.setCurrentRulerId(nextRole);
- } else {
- // 代表未完成
- nextRole = this.getUserRuleMap(ruleList.get(index), userId);
- tBRequestA.setStatus(tBRequestFeedback.getFeedbackStatus().equals("同意") ? "待审批" : "已驳回");
- tBRequestA.setCurrentRulerId(nextRole);
- }
- } else {
- System.err.println("---------------------------------------根据审批id查询审批日志表数据为空-审批id为:" + tBRequestFeedback.getRequestId());
- }
- if (tBRequestFeedback.getFeedbackStatus().equals("同意")) {
- j.setMsg("审批成功!");
- } else {
- j.setMsg("单据已驳回!");
- }
- this.tBRequestService.saveOrUpdate(tBRequestA);
- String statusId = request.getParameter("statusId");
- this.tBRequestService.withdrawbyClassPath(tBRequestTypeRuleRel.getClassPath(), statusId, tBRequestA.getStatus(), tBRequestFeedback.getRequestId());
- } else {
- for (int i = 0; i < ruleList.size(); i++) {
- if (CurrentRulerId.equals(ruleList.get(i)) && i != (ruleList.size() - 1)) {
- nextRole = ruleList.get(i + 1);
- }
- }
- if ("".equals(nextRole) && "同意".equals(tBRequestFeedback.getFeedbackStatus())) {
- tBRequestA.setStatus("已通过");
- tBRequestA.setCurrentRulerId(nextRole);
- }
- if ("".equals(nextRole) && "驳回".equals(tBRequestFeedback.getFeedbackStatus())) {
- tBRequestA.setStatus("已驳回");
- tBRequestA.setCurrentRulerId("");
- }
- if (!"".equals(nextRole) && "同意".equals(tBRequestFeedback.getFeedbackStatus())) {
- tBRequestA.setStatus("待审批");
- tBRequestA.setCurrentRulerId(nextRole);
- }
- if (!"".equals(nextRole) && "驳回".equals(tBRequestFeedback.getFeedbackStatus())) {
- tBRequestA.setStatus("已驳回");
- tBRequestA.setCurrentRulerId("");
- }
- this.tBRequestService.saveOrUpdate(tBRequestA);
- String statusId = request.getParameter("statusId");
- this.tBRequestService.updateStatus(id, tBRequestA, statusId);
- }
- if(tBRequestA.getStatus().equals("已通过")){
- sysMsgService.saveSysMsg(Globals.MSG_TITLE_REQUEST_2,Globals.MSG_CONTENT_REQUEST_2,tuser.getId(),tBRequestA.getUserId());
- }else if(tBRequestA.getStatus().equals("已驳回")){
- sysMsgService.saveSysMsg(Globals.MSG_TITLE_REQUEST_2,Globals.MSG_CONTENT_REQUEST_3+tBRequestFeedback.getFeedbackOpinion(),tuser.getId(),tBRequestA.getUserId());
- }else if(tBRequestA.getStatus().equals("待审批")){
- sysMsgService.saveSysMsg(Globals.MSG_TITLE_REQUEST_1,Globals.MSG_CONTENT_REQUEST_1,tuser.getId(),tBRequestA.getCurrentRulerId());
- }
- } catch (Exception e) {
- e.printStackTrace();
- j.setMsg("审批失败");
- throw new BusinessException(e.getMessage());
- }
- return j;
- }
- /**
- * 生成当前经办人的审批权限集合
- *
- * @return
- * @author刘梦祥
- * @Date 2021年11月29日00:42:57
- */
- public String getUserRuleMap(String ruleType, String agentUserId) {
- DataGrid dataGrid1 = new DataGrid();
- dataGrid1.setRows(99999);
- CriteriaQuery criteriaQuery = new CriteriaQuery(TSUserOrg.class, dataGrid1);
- criteriaQuery.eq("tsUser.id", agentUserId);
- criteriaQuery.add();
- List<TSUserOrg> tsUserOrgList = this.systemService.getListByCriteriaQuery(criteriaQuery, true);
- List<String> departidList = new ArrayList<>();
- String departidStr = "";
- if (tsUserOrgList != null && tsUserOrgList.size() > 0) {
- for (TSUserOrg tsUserOrg : tsUserOrgList) {
- departidList.add(tsUserOrg.getTsDepart().getId());
- if (StringUtil.isNotEmpty(tsUserOrg.getTsDepart().getId())) {
- departidStr = tsUserOrg.getTsDepart().getId();
- break;
- }
- }
- }
- // update-刘梦祥-2021年12月17日11:15:06(审批流程BUG修复:用户的科室信息应该从TSUserOrg表中获取)
- if (StringUtil.isNotEmpty(departidStr)) {
- Map<String, String> ruleMap = new HashMap<>();
- switch (ruleType) {
- // 科室组长(组长)
- case "groupLeader":
- ruleMap.put("departId", departidStr);
- ruleMap.put("inPostid", "ff8080817b760b5d017b805b3b3301de");
- break;
- // 安全保障科科长(科长)
- case "securitySectionChief":
- ruleMap.put("departId", "ff8080817b5e7d81017b62bca59a0136");
- ruleMap.put("inPostid", "ff8080817b760b5d017b8057b15901c6");
- break;
- // 人事科科科长(科长)
- case "personnelSectionChief":
- ruleMap.put("departId", "ff8080817b5e7d81017b62bc58860132");
- ruleMap.put("inPostid", "ff8080817b760b5d017b8057b15901c6");
- break;
- // 科室科长(科长)
- case "sectionChief":
- ruleMap.put("departId", departidStr);
- if("ff8080817b5e7d81017b62bc1cb4012e".equals(departidStr)){
- ruleMap.put("inPostid", "ff8080817b760b5d017b805789b201c4");
- }else{
- ruleMap.put("inPostid", "ff8080817b760b5d017b8057b15901c6");
- }
- break;
- // 分管领导(根据情况确定)
- case "inChargeOfTheLeadership":
- // 如果是人事科或者办公室科(高总)
- if ("ff8080817b5e7d81017b62bc58860132".equals(departidStr) || "ff8080817b5e7d81017b62bc1cb4012e".equals(departidStr) || "ff8080817b760b5d017b76ef38ff0018".equals(departidStr)) {
- ruleMap.put("userId", "2c9e7297812325a7018141f5f9fb003b");
- // 仓库科、保洁科、市场部(周总)
- } else if ("ff8080817b5e7d81017b62bcff99013c".equals(departidStr) || "ff8080817b5e7d81017b62bcc47a0138".equals(departidStr) || "ff8080817b5e7d81017b62bc74480134".equals(departidStr)) {
- ruleMap.put("userId", "2c9e7297812325a7018141e044cc0036");
- // 安全保障科、清运科(潘总)
- } else if ("ff8080817b5e7d81017b62bca59a0136".equals(departidStr) || "ff8080817b5e7d81017b62bcea8c013a".equals(departidStr)) {
- ruleMap.put("userId", "2c9e7297812325a7018141f5fb120040");
- }
- break;
- // 总经理(田总)
- case "generalManager":
- ruleMap.put("userId", "2c9e7297812325a7018141e043a30031");
- break;
- default:
- ruleMap.put("userId", ruleType.substring(7));
- break;
- }
- return JSONObject.toJSONString(ruleMap);
- } else {
- return null;
- }
- }
- /**
- * 提交审批
- *
- * @param requestId 流程id
- * @param id 关联字段(操作数据id,流程日志表的id)
- * @param type 流程规则
- * @return AjaxJson
- * @author 刘梦祥
- * @Date 2021年11月24日18:19:09
- */
- @RequestMapping(params = {"doSubmit"})
- @ResponseBody
- public AjaxJson doSubmit(String requestId, String id, String type) {
- // 根据审批type获取审批对照表
- TBRequestTypeRuleRelEntity TBRequestTypeRuleRel = this.tBRequestTypeRuleRelService.getEntity(TBRequestTypeRuleRelEntity.class, type);
- HttpSession session = ContextHolderUtils.getSession();
- TSUser tuser = (TSUser) session.getAttribute("LOCAL_CLINET_USER");
- AjaxJson j = new AjaxJson();
- //先判断是否在审批流程中
- try {
- if ("".equals(requestId) || null == requestId || "undefined".equals(requestId)) {
- j.setMsg("操作成功");
- //插入审批进度到审批流程进度表
- TBRequestEntity tBRequest = new TBRequestEntity();
- String s = UUID.randomUUID().toString();
- s = s.substring(0, 8) + s.substring(9, 13) + s.substring(14, 18) + s.substring(19, 23) + s.substring(24);
- tBRequest.setId(s);
- tBRequest.setUserId(tuser.getId());
- tBRequest.setType(TBRequestTypeRuleRel.getTypeInfo());
- tBRequest.setRuleId(TBRequestTypeRuleRel.getRuleId());
- tBRequest.setStatus("待审批");
- Date day = new Date();
- tBRequest.setDate(day);
- tBRequest.setCreatedAt(day);
- tBRequest.setUpdatedAt(day);
- //取需要审批的userid
- String ruleId = TBRequestTypeRuleRel.getRuleId();
- // 根据审批对照表的ruleId获取审批流程表
- TBRequestRuleEntity tBRequestRule = this.tBRequestRuleService.getEntity(TBRequestRuleEntity.class, ruleId);
- // 获取审批流程
- String rules = tBRequestRule.getRulers();
- List<String> roleList = Arrays.asList(rules.split(","));
- if ("personnelSectionChief".equals(roleList.get(0)) || "securitySectionChief".equals(roleList.get(0)) || "groupLeader".equals(roleList.get(0)) || "sectionChief".equals(roleList.get(0)) || "inChargeOfTheLeadership".equals(roleList.get(0)) || "generalManager".equals(roleList.get(0)) || roleList.get(0).contains("userId:")) {
- // 将第一个审批的规则map写入到审批流程进度表
- String userRuleMapStr = this.getUserRuleMap(roleList.get(0), tuser.getId());
- if (userRuleMapStr != null) {
- tBRequest.setCurrentRulerId(userRuleMapStr);
- } else {
- j.setSuccess(false);
- j.setMsg("经办人缺少部门信息!");
- }
- } else {
- // 将第一个审批的人员或部门写入到审批流程进度表
- tBRequest.setCurrentRulerId(roleList.get(0));
- }
- this.tBRequestService.save(tBRequest);
- if (TBRequestTypeRuleRel.getClassPath() != null) {
- //反序列化的方式操作
- this.tBRequestService.withdrawbyClassPath(TBRequestTypeRuleRel.getClassPath(), id, "待审批", tBRequest.getId());
- } else {
- //根据表名(TBRequestTypeRuleRel.getType())和id修改对应记录的流程id(tBRequest.getId())和状态
- this.tBRequestService.updatebydate(TBRequestTypeRuleRel.getType(), id, tBRequest.getId());
- }
- sysMsgService.saveSysMsg(Globals.MSG_TITLE_REQUEST_1,Globals.MSG_CONTENT_REQUEST_1,tuser.getId(),tBRequest.getCurrentRulerId());
- } else {
- //在流程中的
- j.setSuccess(false);
- j.setMsg("操作异常:该信息已经在审批流程中!");
- }
- } catch (Exception e) {
- e.printStackTrace();
- j.setSuccess(false);
- j.setMsg("操作失败!" + e.getMessage());
- throw new BusinessException(e.getMessage());
- }
- return j;
- }
- /**
- * 撤回审批流程
- *
- * @param requestId 流程id
- * @param id 关联字段(操作数据id,流程日志表的id)
- * @param type 流程规则
- * @return AjaxJson
- * @author 刘梦祥
- * @Date 2021年11月29日03:11:52
- */
- @RequestMapping(params = {"doWithdraw"})
- @ResponseBody
- public AjaxJson doWithdraw(String requestId, String id, String type) {
- // 根据审批type获取审批对照表
- TBRequestTypeRuleRelEntity TBRequestTypeRuleRel = this.tBRequestTypeRuleRelService.getEntity(TBRequestTypeRuleRelEntity.class, type);
- AjaxJson j = new AjaxJson();
- j.setSuccess(true);
- j.setMsg("流程撤回成功!");
- //先判断是否在审批流程中
- try {
- if (TBRequestTypeRuleRel.getClassPath() != null) {
- if (StringUtil.isNotEmpty(requestId) && !"undefined".equals(requestId)) {
- //反序列化的方式操作
- this.tBRequestService.withdrawbyClassPath(TBRequestTypeRuleRel.getClassPath(), id, "待提交", null);
- this.tBRequestService.deleteEntityById(TBRequestEntity.class, requestId);
- CriteriaQuery criteriaQuery = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid());
- criteriaQuery.eq("requestId", requestId);
- criteriaQuery.add();
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntitiesList = this.tBRequestFeedbackService.getListByCriteriaQuery(criteriaQuery, true);
- if (tbRequestFeedbackEntitiesList != null && tbRequestFeedbackEntitiesList.size() > 0) {
- for (TBRequestFeedbackEntity tbr : tbRequestFeedbackEntitiesList) {
- this.tBRequestService.deleteEntityById(TBRequestFeedbackEntity.class, tbr.getId());
- }
- }
- } else {
- j.setSuccess(true);
- j.setMsg("流程撤回失败,没有找到流程id!");
- }
- } else {
- if (StringUtil.isNotEmpty(requestId) && !"undefined".equals(requestId)) {
- this.tBRequestService.delbydate(TBRequestTypeRuleRel.getType(), id, requestId);
- this.tBRequestService.deleteEntityById(TBRequestEntity.class, requestId);
- CriteriaQuery criteriaQuery = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid());
- criteriaQuery.eq("requestId", requestId);
- criteriaQuery.add();
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntitiesList = this.tBRequestFeedbackService.getListByCriteriaQuery(criteriaQuery, true);
- if (tbRequestFeedbackEntitiesList != null && tbRequestFeedbackEntitiesList.size() > 0) {
- for (TBRequestFeedbackEntity tbr : tbRequestFeedbackEntitiesList) {
- this.tBRequestService.deleteEntityById(TBRequestFeedbackEntity.class, tbr.getId());
- }
- }
- } else {
- j.setSuccess(true);
- j.setMsg("流程撤回失败,没有找到流程id!");
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- j.setSuccess(false);
- j.setMsg("流程撤回失败:" + e.getMessage());
- }
- return j;
- }
- /**
- * 作废审批流程
- *
- * @param requestId 流程id
- * @param id 关联字段(操作数据id,流程日志表的id)
- * @param type 流程规则
- * @return AjaxJson
- * @author dugc
- * @Date 2021年01月04日03:11:52
- */
- @RequestMapping(params = {"doVoid"})
- @ResponseBody
- public AjaxJson doVoid(String requestId, String id, String type) {
- // 根据审批type获取审批对照表
- TBRequestTypeRuleRelEntity TBRequestTypeRuleRel = this.tBRequestTypeRuleRelService.getEntity(TBRequestTypeRuleRelEntity.class, type);
- AjaxJson j = new AjaxJson();
- j.setSuccess(true);
- j.setMsg("流程作废成功!");
- //先判断是否在审批流程中
- try {
- if (TBRequestTypeRuleRel.getClassPath() != null) {
- if (StringUtil.isNotEmpty(requestId) && !"undefined".equals(requestId)) {
- //反序列化的方式操作
- this.tBRequestService.withdrawbyClassPath(TBRequestTypeRuleRel.getClassPath(), id, "已作废", null);
- this.tBRequestService.deleteEntityById(TBRequestEntity.class, requestId);
- CriteriaQuery criteriaQuery = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid());
- criteriaQuery.eq("requestId", requestId);
- criteriaQuery.add();
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntitiesList = this.tBRequestFeedbackService.getListByCriteriaQuery(criteriaQuery, true);
- if (tbRequestFeedbackEntitiesList != null && tbRequestFeedbackEntitiesList.size() > 0) {
- for (TBRequestFeedbackEntity tbr : tbRequestFeedbackEntitiesList) {
- this.tBRequestService.deleteEntityById(TBRequestFeedbackEntity.class, tbr.getId());
- }
- }
- } else {
- j.setSuccess(true);
- j.setMsg("流程作废失败,没有找到流程id!");
- }
- } else {
- if (StringUtil.isNotEmpty(requestId) && !"undefined".equals(requestId)) {
- this.tBRequestService.delbydate(TBRequestTypeRuleRel.getType(), id, requestId);
- this.tBRequestService.deleteEntityById(TBRequestEntity.class, requestId);
- CriteriaQuery criteriaQuery = new CriteriaQuery(TBRequestFeedbackEntity.class, new DataGrid());
- criteriaQuery.eq("requestId", requestId);
- criteriaQuery.add();
- List<TBRequestFeedbackEntity> tbRequestFeedbackEntitiesList = this.tBRequestFeedbackService.getListByCriteriaQuery(criteriaQuery, true);
- if (tbRequestFeedbackEntitiesList != null && tbRequestFeedbackEntitiesList.size() > 0) {
- for (TBRequestFeedbackEntity tbr : tbRequestFeedbackEntitiesList) {
- this.tBRequestService.deleteEntityById(TBRequestFeedbackEntity.class, tbr.getId());
- }
- }
- } else {
- j.setSuccess(true);
- j.setMsg("流程作废失败,没有找到流程id!");
- }
- }
- } catch (Exception e) {
- e.printStackTrace();
- j.setSuccess(false);
- j.setMsg("流程作废失败:" + e.getMessage());
- }
- return j;
- }
- }
|