|
@@ -0,0 +1,260 @@
|
|
|
+package com.huyi.service.common.flowable.controller;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.huyi.service.base.entity.PubApprovalProcess;
|
|
|
+import com.huyi.service.base.service.IPubApprovalProcessService;
|
|
|
+import com.keao.tianhu.starter.mybatis.plus.entity.QueryRequest;
|
|
|
+import com.tianhu.common.core.utils.CommonUtil;
|
|
|
+import com.tianhu.common.core.utils.DateUtils;
|
|
|
+import com.tianhu.common.core.utils.IdUtils;
|
|
|
+import com.tianhu.common.core.web.controller.BaseController;
|
|
|
+import com.tianhu.common.core.web.domain.AjaxResult;
|
|
|
+import com.tianhu.common.log.annotation.Log;
|
|
|
+import com.tianhu.common.log.enums.BusinessType;
|
|
|
+import com.tianhu.common.security.annotation.PreAuthorize;
|
|
|
+import com.tianhu.common.security.service.TokenService;
|
|
|
+import com.tianhu.system.api.model.LoginUser;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.transaction.annotation.Transactional;
|
|
|
+import org.springframework.validation.annotation.Validated;
|
|
|
+import org.springframework.web.bind.annotation.*;
|
|
|
+
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
+import java.text.ParseException;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * 审批流程
|
|
|
+ */
|
|
|
+@RestController
|
|
|
+@RequestMapping("/flowable")
|
|
|
+public class FlowableController extends BaseController
|
|
|
+{
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 自动生成的流程审批服务类
|
|
|
+ */
|
|
|
+ @Autowired
|
|
|
+ private IPubApprovalProcessService approvalProcessService;
|
|
|
+ /**
|
|
|
+ * token
|
|
|
+ */
|
|
|
+ @Autowired
|
|
|
+ private TokenService tokenService;
|
|
|
+
|
|
|
+ //自动生成的合同服务类
|
|
|
+// @Autowired
|
|
|
+// private IWcContractInfService wcContractInfService;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询需要审批的流程
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping("/list")
|
|
|
+ public AjaxResult getFlowAbleInfo(QueryRequest request)
|
|
|
+ {
|
|
|
+ //获取用户信息
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ //企业id
|
|
|
+ String companyId = userInfo.getSysUser().getCompanyId();
|
|
|
+ LambdaQueryWrapper<PubApprovalProcess> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ IPage<PubApprovalProcess> list = approvalProcessService.findPubApprovalProcesss(request,lambdaQueryWrapper);
|
|
|
+ List<PubApprovalProcess> approvalProcessList = list.getRecords();
|
|
|
+ for ( int i = 0 ; i < approvalProcessList.size() ;i++){
|
|
|
+ PubApprovalProcess p = approvalProcessList.get(i);
|
|
|
+ Map<String,Object> map = CommonUtil. entityToMap(p);
|
|
|
+ map.put("companyId",companyId);
|
|
|
+ }
|
|
|
+ return AjaxResult.success(list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 审批通过
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping("/agreeApproval")
|
|
|
+ public AjaxResult agreeApproval(
|
|
|
+ @RequestParam("id") String id,
|
|
|
+ @RequestParam("menuId") String menuId,
|
|
|
+ @RequestParam("companyId") String companyId) throws Exception {
|
|
|
+ //合同审批通过
|
|
|
+ /*if("1000000000".equals(menuId)){
|
|
|
+ LambdaQueryWrapper<WcContractInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ String [] arr = id.split("\\|");
|
|
|
+ lambdaQueryWrapper.eq(WcContractInf::getCifId,arr[0]);
|
|
|
+ lambdaQueryWrapper.eq(WcContractInf::getCifCompanyId,arr[1]);
|
|
|
+ WcContractInf wcContractInf = new WcContractInf();
|
|
|
+ //审批通过
|
|
|
+ wcContractInf.setCifState("02");
|
|
|
+ wcContractInfService.update(wcContractInf,lambdaQueryWrapper);
|
|
|
+ }*/
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 审批拒绝
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @RequestMapping("/rejectApproval")
|
|
|
+ public AjaxResult rejectApproval(
|
|
|
+ @RequestParam("id") String id,
|
|
|
+ @RequestParam("menuId") String menuId,
|
|
|
+ @RequestParam("companyId") String companyId,
|
|
|
+ @RequestParam("state") String state) throws Exception {
|
|
|
+ //合同
|
|
|
+ /*if("1000000000".equals(menuId)){
|
|
|
+ LambdaQueryWrapper<WcContractInf> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ String [] arr = id.split("\\|");
|
|
|
+ lambdaQueryWrapper.eq(WcContractInf::getCifId,arr[0]);
|
|
|
+ lambdaQueryWrapper.eq(WcContractInf::getCifCompanyId,arr[1]);
|
|
|
+ WcContractInf wcContractInf = new WcContractInf();
|
|
|
+ //审批拒绝
|
|
|
+ if("delete".equals(state)){
|
|
|
+ wcContractInf.setCifState("01");
|
|
|
+ }else if("recall".equals(state)){
|
|
|
+ //撤回
|
|
|
+ //更改为保存状态
|
|
|
+ wcContractInf.setCifState("03");
|
|
|
+ }
|
|
|
+ wcContractInfService.update(wcContractInf,lambdaQueryWrapper);
|
|
|
+ }*/
|
|
|
+
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 审批设置
|
|
|
+ * @param approvalProcess
|
|
|
+ * @return
|
|
|
+ * @throws ParseException
|
|
|
+ */
|
|
|
+ @PreAuthorize(hasPermi = "approval:approval:add")
|
|
|
+ @Log(title = "审批管理", businessType = BusinessType.INSERT)
|
|
|
+ @Transactional(rollbackFor=Exception.class)
|
|
|
+ @PostMapping
|
|
|
+ public AjaxResult add(@Validated @RequestBody PubApprovalProcess approvalProcess) throws ParseException {
|
|
|
+ //获取用户信息
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ //用户id
|
|
|
+ String userId = CommonUtil.objToString(userInfo.getUserid());
|
|
|
+ if(CommonUtil.isEmpty(approvalProcess.getPapBusinessName())){
|
|
|
+ return AjaxResult.error("请输入业务名称");
|
|
|
+ }
|
|
|
+ if(CommonUtil.isEmpty(approvalProcess.getPapTableName())){
|
|
|
+ return AjaxResult.error("请输入表名称");
|
|
|
+ }
|
|
|
+ if(CommonUtil.isEmpty(approvalProcess.getPapType())){
|
|
|
+ return AjaxResult.error("请选择类型");
|
|
|
+ }
|
|
|
+ //先查询业务名称是否存在
|
|
|
+ LambdaQueryWrapper<PubApprovalProcess> approvalProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ approvalProcessLambdaQueryWrapper.eq(PubApprovalProcess::getPapBusinessName,approvalProcess.getPapBusinessName());
|
|
|
+ List<PubApprovalProcess> processesList = approvalProcessService.findPubApprovalProcesss(approvalProcessLambdaQueryWrapper);
|
|
|
+ if(processesList.size() > 0 ){
|
|
|
+ return AjaxResult.error("业务名称已经存在");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<PubApprovalProcess> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PubApprovalProcess::getPapTableName,approvalProcess.getPapTableName());
|
|
|
+ List<PubApprovalProcess> list = approvalProcessService.findPubApprovalProcesss(lambdaQueryWrapper);
|
|
|
+ if(list.size() > 0 ){
|
|
|
+ return AjaxResult.error("表名称已经存在");
|
|
|
+ }
|
|
|
+ //获取主键
|
|
|
+ String id = IdUtils.fastSimpleUUID();
|
|
|
+ approvalProcess.setPapId(id);
|
|
|
+ approvalProcess.setCreateBy(userId);
|
|
|
+ approvalProcess.setCreateTime(DateUtils.getNowDate());
|
|
|
+ approvalProcessService.createPubApprovalProcess(approvalProcess);
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询审批列表
|
|
|
+ * @param approvalProcess
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @PreAuthorize(hasPermi = "approval:approval:list")
|
|
|
+ @RequestMapping("/approvalList")
|
|
|
+ public AjaxResult getFlowAbleList(PubApprovalProcess approvalProcess,QueryRequest request)
|
|
|
+ {
|
|
|
+ LambdaQueryWrapper<PubApprovalProcess> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ if(!CommonUtil.isEmpty(approvalProcess.getPapBusinessName())){
|
|
|
+ lambdaQueryWrapper.like(PubApprovalProcess::getPapBusinessName,approvalProcess.getPapBusinessName());
|
|
|
+ }
|
|
|
+ IPage<PubApprovalProcess> list = approvalProcessService.findPubApprovalProcesss(request,lambdaQueryWrapper);
|
|
|
+ return AjaxResult.success(list);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 修改审批设置
|
|
|
+ * @param approvalProcess
|
|
|
+ * @return
|
|
|
+ * @throws ParseException
|
|
|
+ */
|
|
|
+ @PreAuthorize(hasPermi = "approval:approval:edit")
|
|
|
+ @Log(title = "审批管理", businessType = BusinessType.UPDATE)
|
|
|
+ @Transactional(rollbackFor=Exception.class)
|
|
|
+ @PutMapping
|
|
|
+ public AjaxResult edit(@RequestBody PubApprovalProcess approvalProcess) throws ParseException {
|
|
|
+ //获取用户信息
|
|
|
+ LoginUser userInfo = tokenService.getLoginUser();
|
|
|
+ //用户id
|
|
|
+ String userId = CommonUtil.objToString(userInfo.getUserid());
|
|
|
+ if(CommonUtil.isEmpty(approvalProcess.getPapBusinessName())){
|
|
|
+ return AjaxResult.error("请输入业务名称");
|
|
|
+ }
|
|
|
+ if(CommonUtil.isEmpty(approvalProcess.getPapTableName())){
|
|
|
+ return AjaxResult.error("请输入表名称");
|
|
|
+ }
|
|
|
+ if(CommonUtil.isEmpty(approvalProcess.getPapType())){
|
|
|
+ return AjaxResult.error("请选择类型");
|
|
|
+ }
|
|
|
+ //先查询业务名称是否存在
|
|
|
+ LambdaQueryWrapper<PubApprovalProcess> approvalProcessLambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ approvalProcessLambdaQueryWrapper.eq(PubApprovalProcess::getPapBusinessName,approvalProcess.getPapBusinessName());
|
|
|
+ approvalProcessLambdaQueryWrapper.ne(PubApprovalProcess::getPapId,approvalProcess.getPapId());
|
|
|
+ List<PubApprovalProcess> processesList = approvalProcessService.findPubApprovalProcesss(approvalProcessLambdaQueryWrapper);
|
|
|
+ if(processesList.size() > 0 ){
|
|
|
+ return AjaxResult.error("业务名称已经存在");
|
|
|
+ }
|
|
|
+ LambdaQueryWrapper<PubApprovalProcess> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
|
|
+ lambdaQueryWrapper.eq(PubApprovalProcess::getPapTableName,approvalProcess.getPapTableName());
|
|
|
+ lambdaQueryWrapper.ne(PubApprovalProcess::getPapId,approvalProcess.getPapId());
|
|
|
+ List<PubApprovalProcess> list = approvalProcessService.findPubApprovalProcesss(lambdaQueryWrapper);
|
|
|
+ if(list.size() > 0 ){
|
|
|
+ return AjaxResult.error("表名称已经存在");
|
|
|
+ }
|
|
|
+ approvalProcess.setUpdateBy(userId);
|
|
|
+ approvalProcess.setUpdateTime(DateUtils.getNowDate());
|
|
|
+ approvalProcessService.updateById(approvalProcess);
|
|
|
+ return AjaxResult.success();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询详情
|
|
|
+ * @param papId
|
|
|
+ * @param request
|
|
|
+ * @return
|
|
|
+ * @throws NoSuchMethodException
|
|
|
+ * @throws IllegalAccessException
|
|
|
+ * @throws InvocationTargetException
|
|
|
+ */
|
|
|
+ @GetMapping(value = "/{papId}")
|
|
|
+ public AjaxResult getContractInfo(@PathVariable("papId") String papId, QueryRequest request){
|
|
|
+ //获取用户信息
|
|
|
+ PubApprovalProcess approvalProcesses = approvalProcessService.getById(papId);
|
|
|
+ return AjaxResult.success(approvalProcesses);
|
|
|
+ }
|
|
|
+}
|