|
@@ -0,0 +1,129 @@
|
|
|
+package com.ruoyi.web.controller.dragForm;
|
|
|
+
|
|
|
+import com.fasterxml.jackson.core.JsonProcessingException;
|
|
|
+import com.ruoyi.common.constant.ButtonTypeConstants;
|
|
|
+import com.ruoyi.common.core.controller.BaseController;
|
|
|
+import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
+import com.ruoyi.common.utils.form.FromUtils;
|
|
|
+import com.ruoyi.system.entity.CommonEntity;
|
|
|
+import com.ruoyi.system.entity.DragForm;
|
|
|
+import com.ruoyi.system.entity.DragTableBtn;
|
|
|
+import com.ruoyi.system.service.*;
|
|
|
+import org.springframework.web.bind.annotation.PostMapping;
|
|
|
+import org.springframework.web.bind.annotation.RequestBody;
|
|
|
+import org.springframework.web.bind.annotation.RequestMapping;
|
|
|
+import org.springframework.web.bind.annotation.RestController;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.HashMap;
|
|
|
+import java.util.Map;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author hanzihang
|
|
|
+ * @date 2023/11/16 5:49 PM
|
|
|
+ */
|
|
|
+@RestController
|
|
|
+@RequestMapping("/dragform/commonbtn")
|
|
|
+public class CommonBtnController extends BaseController {
|
|
|
+ @Resource // 共通crud
|
|
|
+ private ICommonService commonService;
|
|
|
+
|
|
|
+ @Resource // 动态表单
|
|
|
+ private IDragFormService dragFormService;
|
|
|
+
|
|
|
+ @Resource // 表格按钮
|
|
|
+ private IDragTableBtnService iDragTableBtnService;
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ private FromUtils fromUtils;
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 处理按钮通用接口(新增、修改、删除)
|
|
|
+ */
|
|
|
+ @PostMapping("/commonBtnHandle")
|
|
|
+ public AjaxResult commonBtnHandle(@RequestBody CommonEntity commonEntity) throws JsonProcessingException {
|
|
|
+
|
|
|
+ //按钮类型
|
|
|
+ Long btnType = Long.valueOf(commonEntity.getBasicMap().get("btnType").toString());
|
|
|
+ String type = "";
|
|
|
+ if (btnType == ButtonTypeConstants.INSERT) {
|
|
|
+ type = "INSERT";
|
|
|
+ } else if (btnType == ButtonTypeConstants.UPDATE) {
|
|
|
+ type = "UPDATE";
|
|
|
+ } else if (btnType == ButtonTypeConstants.DELETE) {
|
|
|
+ type = "DELETE";
|
|
|
+ }
|
|
|
+ /*
|
|
|
+ * 判断什么类型走什么接口:
|
|
|
+ * btnType 10:新增、8:修改、9:删除、5:脚本
|
|
|
+ * visible false代表弹窗未开启时走回显表单模板及数据信息接口;true代表弹窗开启时走保存数据接口
|
|
|
+ * */
|
|
|
+ //是否提交表单操作 true是 false回显表单数据 commonEntity.getBasicMap().get("visible").toString()
|
|
|
+ switch (type) {
|
|
|
+ case "INSERT":
|
|
|
+ return insertBtn(commonEntity);
|
|
|
+ case "UPDATE":
|
|
|
+ return updateBtn(commonEntity);
|
|
|
+ case "DELETE":
|
|
|
+ return deleteBtn(commonEntity);
|
|
|
+ default:
|
|
|
+ return warn("暂不支持该操作!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 新增类型按钮
|
|
|
+ public AjaxResult insertBtn(CommonEntity commonEntity) throws JsonProcessingException {
|
|
|
+ if (commonEntity.getBasicMap().get("visible").toString().equals("true")) {
|
|
|
+ return AjaxResult.btnMessage(commonService.batchInsert(commonEntity));
|
|
|
+ } else if (commonEntity.getBasicMap().get("visible").toString().equals("false")) {
|
|
|
+ String sqlKey = commonEntity.getBasicMap().get("sqlKey").toString();
|
|
|
+ return success(dragFormService.selectDragFormBySqlKey(sqlKey));
|
|
|
+ } else {
|
|
|
+ return warn("暂不支持该操作!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // 修改类型按钮
|
|
|
+ public AjaxResult updateBtn(CommonEntity commonEntity) throws JsonProcessingException {
|
|
|
+ //是否开启弹窗
|
|
|
+ if (commonEntity.getBasicMap().get("visible").toString().equals("true")) {
|
|
|
+ if (commonEntity.getBasicMap().containsKey("btnKey")) { // 按钮提交时会触发别的操作
|
|
|
+ // 根据按钮别名查询按钮详细信息
|
|
|
+ DragTableBtn dragTableBtn = iDragTableBtnService.selectDragTableBtnByBtnKey(commonEntity.getBasicMap().get("btnKey").toString());
|
|
|
+ // 根据流程的key判断当前按钮是否执行触发流程
|
|
|
+ if (!dragTableBtn.getBtnProcessKey().isEmpty()) {
|
|
|
+ // 调用发起流程接口
|
|
|
+ fromUtils.runBpmProductionScheduling(commonEntity);
|
|
|
+
|
|
|
+// if (dragTableBtn.getBtnFormKey().isEmpty()) { // 校验当前按钮是否是直接触发流程 或者脚本 (新增按钮类型)
|
|
|
+// fromUtils.runBpmProductionScheduling(commonEntity);
|
|
|
+// }
|
|
|
+
|
|
|
+ } else if (!dragTableBtn.getBtnScriptKey().isEmpty()) {
|
|
|
+ // 调用执行脚本接口
|
|
|
+ fromUtils.triggerScript(commonEntity);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ return toAjax(commonService.edit(commonEntity));
|
|
|
+ } else if (commonEntity.getBasicMap().get("visible").toString().equals("false")) {
|
|
|
+ Map<String, Object> map = new HashMap<>();
|
|
|
+ //获取模板信息
|
|
|
+ String sqlKey = commonEntity.getBasicMap().get("sqlKey").toString();
|
|
|
+ DragForm dragForm = dragFormService.selectDragFormBySqlKey(sqlKey);
|
|
|
+ map.put("template", dragForm);
|
|
|
+ //返回结果
|
|
|
+ map.put("result", commonService.getInfoById(commonEntity));
|
|
|
+ return success(map);
|
|
|
+ } else {
|
|
|
+ return warn("暂不支持该操作!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 删除类型按钮
|
|
|
+ public AjaxResult deleteBtn(CommonEntity commonEntity) {
|
|
|
+ return toAjax(commonService.batchDelete(commonEntity));
|
|
|
+ }
|
|
|
+
|
|
|
+}
|