weidy
2023-06-20 cfededd9721be4322e660fc879f11a806fcc7963
Source/UBCS/ubcs-ops/ubcs-flow/src/main/java/com/vci/ubcs/flow/engine/controller/FlowProcessTSController.java
¶Ô±ÈÐÂÎļþ
@@ -0,0 +1,111 @@
package com.vci.ubcs.flow.engine.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.vci.ubcs.flow.engine.entity.FlowTaskDTO;
import com.vci.ubcs.flow.engine.entity.ProcessStageAttr;
import com.vci.ubcs.flow.engine.entity.ProcessTemplate;
import com.vci.ubcs.flow.engine.service.FlowEngineService;
import com.vci.ubcs.flow.engine.service.ProcessStageAttrService;
import com.vci.ubcs.flow.engine.service.ProcessTemplateService;
import lombok.AllArgsConstructor;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tenant.annotation.NonDS;
import org.springblade.core.tool.api.R;
import org.springframework.web.bind.annotation.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 *流程模板、流程阶段控制 processTemplate processStage
 *
 * @author wang1
 */
@NonDS
@RestController
@RequestMapping("processTS")
@AllArgsConstructor
public class FlowProcessTSController {
   private final FlowEngineService flowEngineService;
   private final ProcessTemplateService processTemplateService;
   private final ProcessStageAttrService processStageAttrService;
   /**
    * æµç¨‹æ¨¡æ¿åˆ†é¡µ
    */
   @GetMapping("/tlist")
   public R<IPage<ProcessTemplate>> tlist(@RequestParam Map<String, Object> flow, Query query) {
      IPage<ProcessTemplate> pages = processTemplateService.page(Condition.getPage(query), Condition.getQueryWrapper(flow, ProcessTemplate.class)
         .select("id,model_key modelKey,model_name modelName,button_Type_Key buttonTypeKey,button_Type_value buttonTypeValue,description")
         .orderByDesc("last_updated"));
      return R.data(pages);
   }
   /**
    * æµç¨‹æ¨¡æ¿ç”¨é€”属性
    * @return
    */
   @PostMapping("tt")
   public R<List<Map<String,String>>> processTemplateType() {
      return R.data(processTemplateService.processTemplateType());
   }
   /**
    * æµç¨‹æ¨¡æ¿æ–°å¢žã€ä¿®æ”¹
    * @param processTemplate
    * @return
    */
   @PostMapping("tsou")
   public R<ProcessTemplate> processTemplateSaveOrUpdate(@RequestBody ProcessTemplate processTemplate) {
      processTemplateService.saveOrUpdateUser(processTemplate);
      return R.success("保存成功");
   }
   /**
    * æµç¨‹æ¨¡æ¿åˆ é™¤
    * @param processTemplate
    * @return
    */
   @DeleteMapping("dt")
   public R<ProcessTemplate> deleteProcessTemplate(ProcessTemplate processTemplate) {
      processTemplateService.deleteProcessTemplate(processTemplate.getId());
      return R.success("删除成功");
   }
   /**
    * æµç¨‹é˜¶æ®µï¼Œè¿™ä¸ªæµç¨‹çš„各个节点
    */
   @GetMapping("/sslist")
   public R<List<FlowTaskDTO>> sslist(@RequestParam String modelKey) {
      return R.data(flowEngineService.getNodeByFlowableKey(modelKey));
   }
   /**
    * æµç¨‹é˜¶æ®µï¼Œè¿™ä¸ªæµç¨‹,这个节点,绑定的属性
    */
   @GetMapping("/ssslist")
   public R<List<ProcessStageAttr>> ssslist(@RequestParam String templateId,@RequestParam String modelKey,@RequestParam String taskId) {
      Map<String, Object> m = new HashMap<>();
      m.put("template_id", templateId);
      m.put("task_id", taskId);
      m.put("model_key", modelKey);
      QueryWrapper q = Condition.getQueryWrapper(m, ProcessStageAttr.class)
         .select("attr_id attrId,attr_name attrName,attr_group attrGroup");
      return R.data(processStageAttrService.list(q));
   }
   /**
    * æ¨¡æ¿é˜¶æ®µå±žæ€§æ–°å¢žã€ä¿®æ”¹
    * @param flowTaskUserC
    * @return
    */
   @PostMapping("sasou")
   public R<ProcessTemplate> stageAttributeSaveOrUpdate(@RequestBody FlowTaskDTO flowTaskUserC) {
      processStageAttrService.saveOrUpdateUser(flowTaskUserC);
      return R.success("保存成功");
   }
}