ソースを参照

去除工作流activiti

tianwu.sun 8 ヶ月 前
コミット
46d278bd94
54 ファイル変更114 行追加4895 行削除
  1. 0 22
      pom.xml
  2. 0 82
      src/main/java/com/bootdo/activiti/config/ActivitiConfig.java
  3. 0 8
      src/main/java/com/bootdo/activiti/config/ActivitiConstant.java
  4. 0 260
      src/main/java/com/bootdo/activiti/controller/ModelController.java
  5. 0 164
      src/main/java/com/bootdo/activiti/controller/ProcessController.java
  6. 0 136
      src/main/java/com/bootdo/activiti/controller/SalaryController.java
  7. 0 107
      src/main/java/com/bootdo/activiti/controller/TaskController.java
  8. 0 31
      src/main/java/com/bootdo/activiti/dao/SalaryDao.java
  9. 0 251
      src/main/java/com/bootdo/activiti/domain/ActivitiDO.java
  10. 0 373
      src/main/java/com/bootdo/activiti/domain/SalaryDO.java
  11. 0 47
      src/main/java/com/bootdo/activiti/domain/TaskDO.java
  12. 0 35
      src/main/java/com/bootdo/activiti/domain/Variable.java
  13. 0 23
      src/main/java/com/bootdo/activiti/service/ActTaskService.java
  14. 0 16
      src/main/java/com/bootdo/activiti/service/ProcessService.java
  15. 0 30
      src/main/java/com/bootdo/activiti/service/SalaryService.java
  16. 0 279
      src/main/java/com/bootdo/activiti/service/impl/ActTaskServiceImpl.java
  17. 0 82
      src/main/java/com/bootdo/activiti/service/impl/ProcessServiceImpl.java
  18. 0 69
      src/main/java/com/bootdo/activiti/service/impl/SalaryServiceImpl.java
  19. 0 41
      src/main/java/com/bootdo/activiti/utils/ActivitiUtils.java
  20. 0 56
      src/main/java/com/bootdo/activiti/vo/DeploymentResponse.java
  21. 0 45
      src/main/java/com/bootdo/activiti/vo/ProcessVO.java
  22. 0 103
      src/main/java/com/bootdo/activiti/vo/TaskVO.java
  23. 4 0
      src/main/java/com/bootdo/common/config/DateConverConfig.java
  24. 39 0
      src/main/java/com/bootdo/datas/controller/DataExpertController.java
  25. 14 0
      src/main/java/com/bootdo/datas/controller/DataUnionController.java
  26. 3 2
      src/main/java/com/bootdo/datas/controller/DataVerifyController.java
  27. 3 0
      src/main/java/com/bootdo/datas/service/GyDataService.java
  28. 21 1
      src/main/java/com/bootdo/datas/service/impl/GyDataServiceImpl.java
  29. 0 184
      src/main/resources/mybatis/activiti/SalaryMapper.xml
  30. 8 3
      src/main/resources/mybatis/datas/GyDataMapper.xml
  31. 0 48
      src/main/resources/static/js/appjs/act/SalaryAdjustment/form.js
  32. 0 122
      src/main/resources/static/js/appjs/act/model/add.js
  33. 0 125
      src/main/resources/static/js/appjs/act/model/edit.js
  34. 0 207
      src/main/resources/static/js/appjs/act/model/model.js
  35. 0 114
      src/main/resources/static/js/appjs/act/process/add.js
  36. 0 125
      src/main/resources/static/js/appjs/act/process/edit.js
  37. 0 231
      src/main/resources/static/js/appjs/act/process/process.js
  38. 0 67
      src/main/resources/static/js/appjs/act/salary/add.js
  39. 0 49
      src/main/resources/static/js/appjs/act/salary/edit.js
  40. 0 249
      src/main/resources/static/js/appjs/act/salary/salary.js
  41. 0 92
      src/main/resources/static/js/appjs/act/task/gotoTask.js
  42. 0 180
      src/main/resources/static/js/appjs/act/task/totoTask.js
  43. 16 2
      src/main/resources/static/js/appjs/datas/expertVerify/data.js
  44. 0 65
      src/main/resources/templates/act/model/model.html
  45. 0 140
      src/main/resources/templates/act/modeler.html
  46. 0 49
      src/main/resources/templates/act/process/add.html
  47. 0 65
      src/main/resources/templates/act/process/process.html
  48. 0 113
      src/main/resources/templates/act/salary/add.html
  49. 0 158
      src/main/resources/templates/act/salary/edit.html
  50. 0 70
      src/main/resources/templates/act/salary/start.html
  51. 0 45
      src/main/resources/templates/act/task/gotoTask.html
  52. 0 65
      src/main/resources/templates/act/task/task.html
  53. 0 64
      src/main/resources/templates/act/task/todoTask.html
  54. 6 0
      src/main/resources/templates/datas/expertVerify/data.html

+ 0 - 22
pom.xml

@@ -182,28 +182,6 @@
 <!--            <artifactId>spring-boot-devtools</artifactId>-->
 <!--            <optional>true</optional>-->
 <!--        </dependency>-->
-        <!--activiti-->
-        <dependency>
-            <groupId>org.activiti</groupId>
-            <artifactId>activiti-engine</artifactId>
-            <version>${activiti.version}</version>
-        </dependency>
-
-        <dependency>
-            <groupId>org.activiti</groupId>
-            <artifactId>activiti-spring</artifactId>
-            <version>${activiti.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.activiti</groupId>
-            <artifactId>activiti-modeler</artifactId>
-            <version>${activiti.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.activiti</groupId>
-            <artifactId>activiti-diagram-rest</artifactId>
-            <version>${activiti.version}</version>
-        </dependency>
 
         <!--swagger2-->
         <dependency>

+ 0 - 82
src/main/java/com/bootdo/activiti/config/ActivitiConfig.java

@@ -1,82 +0,0 @@
-package com.bootdo.activiti.config;
-
-import org.activiti.engine.*;
-import org.activiti.engine.impl.cfg.ProcessEngineConfigurationImpl;
-import org.activiti.spring.ProcessEngineFactoryBean;
-import org.activiti.spring.SpringProcessEngineConfiguration;
-import org.springframework.context.annotation.Bean;
-import org.springframework.context.annotation.Configuration;
-import org.springframework.transaction.PlatformTransactionManager;
-
-import javax.sql.DataSource;
-@Configuration
-public class ActivitiConfig {
-    //流程配置,与spring整合采用SpringProcessEngineConfiguration这个实现
-    @Bean
-    public ProcessEngineConfiguration processEngineConfiguration(DataSource dataSource, PlatformTransactionManager transactionManager){
-        SpringProcessEngineConfiguration processEngineConfiguration = new SpringProcessEngineConfiguration();
-        processEngineConfiguration.setDataSource(dataSource);
-        processEngineConfiguration.setDatabaseSchemaUpdate("true");
-        processEngineConfiguration.setDatabaseType("mysql");
-
-        processEngineConfiguration.setTransactionManager(transactionManager);
-
-        //流程图字体
-        processEngineConfiguration.setActivityFontName("宋体");
-        processEngineConfiguration.setAnnotationFontName("宋体");
-        processEngineConfiguration.setLabelFontName("宋体");
-
-        return processEngineConfiguration;
-    }
-
-    //流程引擎,与spring整合使用factoryBean
-    @Bean
-    public ProcessEngineFactoryBean processEngine(ProcessEngineConfiguration processEngineConfiguration){
-        ProcessEngineFactoryBean processEngineFactoryBean = new ProcessEngineFactoryBean();
-        processEngineFactoryBean.setProcessEngineConfiguration((ProcessEngineConfigurationImpl) processEngineConfiguration);
-        return processEngineFactoryBean;
-    }
-
-    //八大接口
-    @Bean
-    public RepositoryService repositoryService(ProcessEngine processEngine){
-        return processEngine.getRepositoryService();
-    }
-
-    @Bean
-    public RuntimeService runtimeService(ProcessEngine processEngine){
-        return processEngine.getRuntimeService();
-    }
-
-    @Bean
-    public TaskService taskService(ProcessEngine processEngine){
-        return processEngine.getTaskService();
-    }
-
-    @Bean
-    public HistoryService historyService(ProcessEngine processEngine){
-        return processEngine.getHistoryService();
-    }
-
-    @Bean
-    public FormService formService(ProcessEngine processEngine){
-        return processEngine.getFormService();
-    }
-
-    @Bean
-    public IdentityService identityService(ProcessEngine processEngine){
-        return processEngine.getIdentityService();
-    }
-
-    @Bean
-    public ManagementService managementService(ProcessEngine processEngine){
-        return processEngine.getManagementService();
-    }
-
-    @Bean
-    public DynamicBpmnService dynamicBpmnService(ProcessEngine processEngine){
-        return processEngine.getDynamicBpmnService();
-    }
-
-    //八大接口 end
-}

+ 0 - 8
src/main/java/com/bootdo/activiti/config/ActivitiConstant.java

@@ -1,8 +0,0 @@
-package com.bootdo.activiti.config;
-
-/**
-
- */
-public class ActivitiConstant {
-    public static final String[] ACTIVITI_SALARY = new String[]{"salary","salary"};
-}

+ 0 - 260
src/main/java/com/bootdo/activiti/controller/ModelController.java

@@ -1,260 +0,0 @@
-package com.bootdo.activiti.controller;
-
-import com.bootdo.common.config.Constant;
-import com.bootdo.common.controller.BaseController;
-import com.bootdo.common.utils.PageUtils;
-import com.bootdo.common.utils.R;
-import com.fasterxml.jackson.databind.JsonNode;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.bpmn.converter.BpmnXMLConverter;
-import org.activiti.bpmn.model.BpmnModel;
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.editor.language.json.converter.BpmnJsonConverter;
-import org.activiti.engine.ActivitiException;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.repository.Model;
-import org.activiti.rest.editor.model.ModelEditorJsonRestResource;
-import org.apache.batik.transcoder.TranscoderInput;
-import org.apache.batik.transcoder.TranscoderOutput;
-import org.apache.batik.transcoder.image.PNGTranscoder;
-import org.apache.commons.io.IOUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.http.HttpStatus;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.*;
-import java.util.List;
-
-import static org.activiti.editor.constants.ModelDataJsonConstants.*;
-
-/**
- * @author bootdo 1992lcg@163.com
- */
-@RequestMapping("/activiti")
-@RestController
-public class ModelController extends BaseController{
-    protected static final Logger LOGGER = LoggerFactory.getLogger(ModelEditorJsonRestResource.class);
-
-    @Autowired
-    private RepositoryService repositoryService;
-
-    @Autowired
-    private ObjectMapper objectMapper;
-
-    @GetMapping("/model")
-    ModelAndView model() {
-        return new ModelAndView("act/model/model");
-    }
-
-    @GetMapping("/model/list")
-    PageUtils list(int offset, int limit) {
-        List<Model> list = repositoryService.createModelQuery().listPage(offset
-                , limit);
-        int total = (int) repositoryService.createModelQuery().count();
-        PageUtils pageUtil = new PageUtils(list, total);
-        return pageUtil;
-    }
-
-    @RequestMapping("/model/add")
-    public void newModel(HttpServletResponse response) throws UnsupportedEncodingException {
-
-        //初始化一个空模型
-        Model model = repositoryService.newModel();
-        //设置一些默认信息
-        String name = "new-process";
-        String description = "";
-        int revision = 1;
-        String key = "process";
-
-        ObjectNode modelNode = objectMapper.createObjectNode();
-        modelNode.put(ModelDataJsonConstants.MODEL_NAME, name);
-        modelNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, description);
-        modelNode.put(ModelDataJsonConstants.MODEL_REVISION, revision);
-
-        model.setName(name);
-        model.setKey(key);
-        model.setMetaInfo(modelNode.toString());
-
-        repositoryService.saveModel(model);
-        String id = model.getId();
-
-        //完善ModelEditorSource
-        ObjectNode editorNode = objectMapper.createObjectNode();
-        editorNode.put("id", "canvas");
-        editorNode.put("resourceId", "canvas");
-        ObjectNode stencilSetNode = objectMapper.createObjectNode();
-        stencilSetNode.put("namespace",
-                "http://b3mn.org/stencilset/bpmn2.0#");
-        editorNode.put("stencilset", stencilSetNode);
-        repositoryService.addModelEditorSource(id, editorNode.toString().getBytes("utf-8"));
-        try {
-            response.sendRedirect("/modeler.html?modelId=" + id);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-    @GetMapping(value = "/model/{modelId}/json")
-    public ObjectNode getEditorJson(@PathVariable String modelId) {
-        ObjectNode modelNode = null;
-        Model model = repositoryService.getModel(modelId);
-        if (model != null) {
-            try {
-                if (StringUtils.isNotEmpty(model.getMetaInfo())) {
-                    modelNode = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
-                } else {
-                    modelNode = objectMapper.createObjectNode();
-                    modelNode.put(MODEL_NAME, model.getName());
-                }
-                modelNode.put(MODEL_ID, model.getId());
-                ObjectNode editorJsonNode = (ObjectNode) objectMapper.readTree(
-                        new String(repositoryService.getModelEditorSource(model.getId()), "utf-8"));
-                modelNode.put("model", editorJsonNode);
-
-            } catch (Exception e) {
-                LOGGER.error("Error creating model JSON", e);
-                throw new ActivitiException("Error creating model JSON", e);
-            }
-        }
-        return modelNode;
-    }
-
-    @RequestMapping(value = "/editor/stencilset", method = RequestMethod.GET, produces = "application/json;charset=utf-8")
-    public String getStencilset() {
-        InputStream stencilsetStream = this.getClass().getClassLoader().getResourceAsStream("stencilset.json");
-        try {
-            return IOUtils.toString(stencilsetStream, "utf-8");
-        } catch (Exception e) {
-            throw new ActivitiException("Error while loading stencil set", e);
-        }
-    }
-
-    @GetMapping("/model/edit/{id}")
-    public void edit(HttpServletResponse response, @PathVariable("id") String id) {
-        try {
-            response.sendRedirect("/modeler.html?modelId=" + id);
-        } catch (IOException e) {
-            e.printStackTrace();
-        }
-    }
-
-    @DeleteMapping("/model/{id}")
-    public R remove(@PathVariable("id") String id) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        repositoryService.deleteModel(id);
-        return R.ok();
-    }
-
-    @PostMapping("/model/deploy/{id}")
-    public R deploy(@PathVariable("id") String id) throws Exception {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        //获取模型
-        Model modelData = repositoryService.getModel(id);
-        byte[] bytes = repositoryService.getModelEditorSource(modelData.getId());
-
-        if (bytes == null) {
-            return R.error("模型数据为空,请先设计流程并成功保存,再进行发布。");
-        }
-
-        JsonNode modelNode = new ObjectMapper().readTree(bytes);
-
-        BpmnModel model = new BpmnJsonConverter().convertToBpmnModel(modelNode);
-        if (model.getProcesses().size() == 0) {
-            return R.error("数据模型不符要求,请至少设计一条主线流程。");
-        }
-        byte[] bpmnBytes = new BpmnXMLConverter().convertToXML(model);
-
-        //发布流程
-        String processName = modelData.getName() + ".bpmn20.xml";
-        Deployment deployment = repositoryService.createDeployment()
-                .name(modelData.getName())
-                .addString(processName, new String(bpmnBytes, "UTF-8"))
-                .deploy();
-        modelData.setDeploymentId(deployment.getId());
-        repositoryService.saveModel(modelData);
-
-        return R.ok();
-    }
-
-    @PostMapping("/model/batchRemove")
-    public R batchRemove(@RequestParam("ids[]") String[] ids) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        for (String id : ids) {
-            repositoryService.deleteModel(id);
-        }
-        return R.ok();
-    }
-
-    @RequestMapping(value = "/model/{modelId}/save", method = RequestMethod.PUT)
-    @ResponseStatus(value = HttpStatus.OK)
-    public void saveModel(@PathVariable String modelId
-            , String name, String description
-            , String json_xml, String svg_xml) {
-        try {
-
-            Model model = repositoryService.getModel(modelId);
-
-            ObjectNode modelJson = (ObjectNode) objectMapper.readTree(model.getMetaInfo());
-
-            modelJson.put(MODEL_NAME, name);
-            modelJson.put(MODEL_DESCRIPTION, description);
-            model.setMetaInfo(modelJson.toString());
-            model.setName(name);
-
-            repositoryService.saveModel(model);
-
-            repositoryService.addModelEditorSource(model.getId(), json_xml.getBytes("utf-8"));
-
-            InputStream svgStream = new ByteArrayInputStream(svg_xml.getBytes("utf-8"));
-            TranscoderInput input = new TranscoderInput(svgStream);
-
-            PNGTranscoder transcoder = new PNGTranscoder();
-            // Setup output
-            ByteArrayOutputStream outStream = new ByteArrayOutputStream();
-            TranscoderOutput output = new TranscoderOutput(outStream);
-
-            // Do the transformation
-            transcoder.transcode(input, output);
-            final byte[] result = outStream.toByteArray();
-            repositoryService.addModelEditorSourceExtra(model.getId(), result);
-            outStream.close();
-
-        } catch (Exception e) {
-            LOGGER.error("Error saving model", e);
-            throw new ActivitiException("Error saving model", e);
-        }
-    }
-
-    @GetMapping("/model/export/{id}")
-    public void exportToXml(@PathVariable("id") String id, HttpServletResponse response) {
-        try {
-            org.activiti.engine.repository.Model modelData = repositoryService.getModel(id);
-            BpmnJsonConverter jsonConverter = new BpmnJsonConverter();
-            JsonNode editorNode = new ObjectMapper().readTree(repositoryService.getModelEditorSource(modelData.getId()));
-            BpmnModel bpmnModel = jsonConverter.convertToBpmnModel(editorNode);
-            BpmnXMLConverter xmlConverter = new BpmnXMLConverter();
-            byte[] bpmnBytes = xmlConverter.convertToXML(bpmnModel);
-
-            ByteArrayInputStream in = new ByteArrayInputStream(bpmnBytes);
-            IOUtils.copy(in, response.getOutputStream());
-            String filename = bpmnModel.getMainProcess().getId() + ".bpmn20.xml";
-            response.setHeader("Content-Disposition", "attachment; filename=" + filename);
-            response.flushBuffer();
-        } catch (Exception e) {
-            throw new ActivitiException("导出model的xml文件失败,模型ID=" + id, e);
-        }
-    }
-}

+ 0 - 164
src/main/java/com/bootdo/activiti/controller/ProcessController.java

@@ -1,164 +0,0 @@
-package com.bootdo.activiti.controller;
-
-import com.bootdo.activiti.service.ProcessService;
-import com.bootdo.activiti.vo.ProcessVO;
-import com.bootdo.common.config.Constant;
-import com.bootdo.common.controller.BaseController;
-import com.bootdo.common.utils.PageUtils;
-import com.bootdo.common.utils.R;
-import org.activiti.engine.ActivitiException;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.RuntimeService;
-import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.apache.commons.io.FilenameUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.transaction.annotation.Transactional;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-import org.springframework.web.servlet.ModelAndView;
-import org.springframework.web.servlet.mvc.support.RedirectAttributes;
-
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.stream.XMLStreamException;
-import java.io.InputStream;
-import java.io.UnsupportedEncodingException;
-import java.util.ArrayList;
-import java.util.List;
-import java.util.zip.ZipInputStream;
-
-@RequestMapping("activiti/process")
-@RestController
-public class ProcessController extends BaseController{
-
-    @Autowired
-    private RepositoryService repositoryService;
-
-    @Autowired
-    private ProcessService processService;
-
-    @Autowired
-    private RuntimeService runtimeService;
-
-    @GetMapping
-    ModelAndView process() {
-        return new ModelAndView("act/process/process");
-    }
-
-    @GetMapping("list")
-    PageUtils list(int offset, int limit) {
-        List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-                .listPage(offset, limit);
-        int count = (int) repositoryService.createProcessDefinitionQuery().count();
-        List<Object> list = new ArrayList<>();
-        for(ProcessDefinition processDefinition: processDefinitions){
-            list.add(new ProcessVO(processDefinition));
-        }
-        PageUtils pageUtils = new PageUtils(list, count);
-        return pageUtils;
-    }
-
-    @GetMapping("/add")
-    public ModelAndView add() {
-        return new ModelAndView("act/process/add");
-    }
-
-    @PostMapping("/save")
-    @Transactional(readOnly = false)
-    public R deploy(String exportDir, String category, MultipartFile file) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        String message = "";
-        String fileName = file.getOriginalFilename();
-        try {
-            InputStream fileInputStream = file.getInputStream();
-            Deployment deployment = null;
-            String extension = FilenameUtils.getExtension(fileName);
-            if (extension.equals("zip") || extension.equals("bar")) {
-                ZipInputStream zip = new ZipInputStream(fileInputStream);
-                deployment = repositoryService.createDeployment().addZipInputStream(zip).deploy();
-            } else if (extension.equals("png")) {
-                deployment = repositoryService.createDeployment().addInputStream(fileName, fileInputStream).deploy();
-            } else if (fileName.indexOf("bpmn20.xml") != -1) {
-                deployment = repositoryService.createDeployment().addInputStream(fileName, fileInputStream).deploy();
-            } else if (extension.equals("bpmn")) { // bpmn扩展名特殊处理,转换为bpmn20.xml
-                String baseName = FilenameUtils.getBaseName(fileName);
-                deployment = repositoryService.createDeployment().addInputStream(baseName + ".bpmn20.xml", fileInputStream).deploy();
-            } else {
-                message = "不支持的文件类型:" + extension;
-            }
-
-            List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().deploymentId(deployment.getId()).list();
-
-            // 设置流程分类
-            for (ProcessDefinition processDefinition : list) {
-//					ActUtils.exportDiagramToFile(repositoryService, processDefinition, exportDir);
-                repositoryService.setProcessDefinitionCategory(processDefinition.getId(), category);
-                message += "部署成功,流程ID=" + processDefinition.getId() + "<br/>";
-            }
-
-            if (list.size() == 0) {
-                message = "部署失败,没有流程。";
-            }
-
-        } catch (Exception e) {
-            throw new ActivitiException("部署失败!", e);
-        }
-        return R.ok(message);
-    }
-
-    /**
-     * 将部署的流程转换为模型
-     *
-     * @param procDefId
-     * @param redirectAttributes
-     * @return
-     * @throws UnsupportedEncodingException
-     * @throws XMLStreamException
-     */
-    @RequestMapping(value = "/convertToModel/{procDefId}")
-    public R convertToModel(@PathVariable("procDefId") String procDefId, RedirectAttributes redirectAttributes) throws UnsupportedEncodingException, XMLStreamException {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        org.activiti.engine.repository.Model modelData = null;
-        try {
-            modelData = processService.convertToModel(procDefId);
-            return R.ok( "转换模型成功,模型ID=" + modelData.getId());
-        } catch (Exception e) {
-            e.printStackTrace();
-            return R.ok( "转换模型失败");
-        }
-
-    }
-
-    @RequestMapping(value = "/resource/read/{xml}/{id}")
-    public void resourceRead(@PathVariable("xml") String resType, @PathVariable("id") String id, HttpServletResponse response) throws Exception {
-        InputStream resourceAsStream = processService.resourceRead(id,resType);
-        byte[] b = new byte[1024];
-        int len = -1;
-        while ((len = resourceAsStream.read(b, 0, 1024)) != -1) {
-            response.getOutputStream().write(b, 0, len);
-        }
-    }
-
-    @PostMapping("/remove")
-    public R remove(String id){
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        repositoryService.deleteDeployment(id,true);
-        return R.ok();
-    }
-    @PostMapping("/batchRemove")
-    public R batchRemove(@RequestParam("ids[]") String[] ids) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        for (String id : ids) {
-            repositoryService.deleteDeployment(id,true);
-        }
-        return R.ok();
-    }
-}

+ 0 - 136
src/main/java/com/bootdo/activiti/controller/SalaryController.java

@@ -1,136 +0,0 @@
-package com.bootdo.activiti.controller;
-
-import com.bootdo.activiti.domain.SalaryDO;
-import com.bootdo.activiti.service.SalaryService;
-import com.bootdo.activiti.utils.ActivitiUtils;
-import com.bootdo.common.config.Constant;
-import com.bootdo.common.controller.BaseController;
-import com.bootdo.common.utils.PageUtils;
-import com.bootdo.common.utils.Query;
-import com.bootdo.common.utils.R;
-import com.bootdo.common.utils.ShiroUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Controller;
-import org.springframework.ui.Model;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-
-/**
- * 审批流程测试表
- *
- * @author chglee
- * @email 1992lcg@163.com
- * @date 2017-11-25 13:33:16
- */
-
-@Controller
-@RequestMapping("/act/salary")
-public class SalaryController extends BaseController{
-    @Autowired
-    private SalaryService salaryService;
-    @Autowired
-    ActivitiUtils activitiUtils;
-
-    @GetMapping()
-    String Salary() {
-        return "activiti/salary/salary";
-    }
-
-    @ResponseBody
-    @GetMapping("/list")
-    public PageUtils list(@RequestParam Map<String, Object> params) {
-        Query query = new Query(params);
-        List<SalaryDO> salaryList = salaryService.list(query);
-        int total = salaryService.count(query);
-        PageUtils pageUtils = new PageUtils(salaryList, total);
-        return pageUtils;
-    }
-
-    @GetMapping("/form")
-    String add() {
-        return "act/salary/add";
-    }
-
-    @GetMapping("/form/{taskId}")
-    String edit(@PathVariable("taskId") String taskId, Model model) {
-        SalaryDO salary = salaryService.get(activitiUtils.getBusinessKeyByTaskId(taskId));
-        salary.setTaskId(taskId);
-        model.addAttribute("salary", salary);
-        return "act/salary/edit";
-    }
-
-    /**
-     * 保存
-     */
-    @ResponseBody
-    @PostMapping("/save")
-    public R saveOrUpdate(SalaryDO salary) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        salary.setCreateDate(new Date());
-        salary.setUpdateDate(new Date());
-        salary.setCreateBy(ShiroUtils.getUserId().toString());
-        salary.setUpdateBy(ShiroUtils.getUserId().toString());
-        salary.setDelFlag("1");
-        if (salaryService.save(salary) > 0) {
-            return R.ok();
-        }
-        return R.error();
-    }
-
-    /**
-     * 修改
-     */
-    @ResponseBody
-    @RequestMapping("/update")
-    public R update(SalaryDO salary) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        String taskKey = activitiUtils.getTaskByTaskId(salary.getTaskId()).getTaskDefinitionKey();
-        if ("audit2".equals(taskKey)) {
-            salary.setHrText(salary.getTaskComment());
-        } else if ("audit3".equals(taskKey)) {
-            salary.setLeadText(salary.getTaskComment());
-        } else if ("audit4".equals(taskKey)) {
-            salary.setMainLeadText(salary.getTaskComment());
-        } else if("apply_end".equals(salary.getTaskComment())){
-            //流程完成,兑现
-        }
-        salaryService.update(salary);
-        return R.ok();
-    }
-
-    /**
-     * 删除
-     */
-    @PostMapping("/remove")
-    @ResponseBody
-    public R remove(String id) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        if (salaryService.remove(id) > 0) {
-            return R.ok();
-        }
-        return R.error();
-    }
-
-    /**
-     * 删除
-     */
-    @PostMapping("/batchRemove")
-    @ResponseBody
-    public R remove(@RequestParam("ids[]") String[] ids) {
-        if (Constant.DEMO_ACCOUNT.equals(getUsername())) {
-            return R.error(1, "演示系统不允许修改,完整体验请部署程序");
-        }
-        salaryService.batchRemove(ids);
-        return R.ok();
-    }
-
-}

+ 0 - 107
src/main/java/com/bootdo/activiti/controller/TaskController.java

@@ -1,107 +0,0 @@
-package com.bootdo.activiti.controller;
-
-import com.bootdo.activiti.service.ActTaskService;
-import com.bootdo.activiti.vo.ProcessVO;
-import com.bootdo.activiti.vo.TaskVO;
-import com.bootdo.common.utils.PageUtils;
-import org.activiti.engine.FormService;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.TaskService;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.task.Task;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PathVariable;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
-
- */
-@RequestMapping("activiti/task")
-@RestController
-public class TaskController {
-    @Autowired
-    RepositoryService repositoryService;
-    @Autowired
-    FormService formService;
-    @Autowired
-    TaskService taskService;
-    @Autowired
-    ActTaskService actTaskService;
-    @GetMapping("goto")
-    public ModelAndView gotoTask(){
-        return new ModelAndView("act/task/gotoTask");
-    }
-
-    @GetMapping("/gotoList")
-    PageUtils list(int offset, int limit) {
-        List<ProcessDefinition> processDefinitions = repositoryService.createProcessDefinitionQuery()
-                .listPage(offset, limit);
-        int count = (int) repositoryService.createProcessDefinitionQuery().count();
-        List<Object> list = new ArrayList<>();
-        for(ProcessDefinition processDefinition: processDefinitions){
-            list.add(new ProcessVO(processDefinition));
-        }
-
-        PageUtils pageUtils = new PageUtils(list, count);
-        return pageUtils;
-    }
-
-    @GetMapping("/form/{procDefId}")
-    public void startForm(@PathVariable("procDefId") String procDefId  ,HttpServletResponse response) throws IOException {
-        String formKey = actTaskService.getFormKey(procDefId, null);
-        response.sendRedirect(formKey);
-    }
-
-    @GetMapping("/form/{procDefId}/{taskId}")
-    public void form(@PathVariable("procDefId") String procDefId,@PathVariable("taskId") String taskId ,HttpServletResponse response) throws IOException {
-        // 获取流程XML上的表单KEY
-
-        String formKey = actTaskService.getFormKey(procDefId, taskId);
-
-
-        response.sendRedirect(formKey+"/"+taskId);
-    }
-
-    @GetMapping("/todo")
-    ModelAndView todo(){
-        return new ModelAndView("act/task/todoTask");
-    }
-
-    @GetMapping("/todoList")
-    List<TaskVO> todoList(){
-        List<Task> tasks = taskService.createTaskQuery().taskAssignee("admin").list();
-        List<TaskVO> taskVOS =  new ArrayList<>();
-        for(Task task : tasks){
-            TaskVO taskVO = new TaskVO(task);
-            taskVOS.add(taskVO);
-        }
-        return taskVOS;
-    }
-
-
-    /**
-     * 读取带跟踪的图片
-     */
-    @RequestMapping(value = "/trace/photo/{procDefId}/{execId}")
-    public void tracePhoto(@PathVariable("procDefId") String procDefId, @PathVariable("execId") String execId, HttpServletResponse response) throws Exception {
-        InputStream imageStream = actTaskService.tracePhoto(procDefId, execId);
-
-        // 输出资源内容到相应对象
-        byte[] b = new byte[1024];
-        int len;
-        while ((len = imageStream.read(b, 0, 1024)) != -1) {
-            response.getOutputStream().write(b, 0, len);
-        }
-    }
-
-
-}

+ 0 - 31
src/main/java/com/bootdo/activiti/dao/SalaryDao.java

@@ -1,31 +0,0 @@
-package com.bootdo.activiti.dao;
-
-import com.bootdo.activiti.domain.SalaryDO;
-import org.apache.ibatis.annotations.Mapper;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 审批流程测试表
- * @author chglee
- * @email 1992lcg@163.com
- * @date 2017-11-25 13:28:58
- */
-@Mapper
-public interface SalaryDao {
-
-	SalaryDO get(String id);
-	
-	List<SalaryDO> list(Map<String, Object> map);
-	
-	int count(Map<String, Object> map);
-	
-	int save(SalaryDO salary);
-	
-	int update(SalaryDO salary);
-	
-	int remove(String id);
-	
-	int batchRemove(String[] ids);
-}

+ 0 - 251
src/main/java/com/bootdo/activiti/domain/ActivitiDO.java

@@ -1,251 +0,0 @@
-package com.bootdo.activiti.domain;
-
-import org.activiti.engine.history.HistoricActivityInstance;
-import org.activiti.engine.history.HistoricTaskInstance;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
-
-import java.util.Date;
-import java.util.List;
-
-/**
- *
- */
-public class ActivitiDO {
-    private String taskId; 		// 任务编号
-    private String taskName; 	// 任务名称
-    private String taskDefKey; 	// 任务定义Key(任务环节标识)
-
-    private String procInsId; 	// 流程实例ID
-    private String procDefId; 	// 流程定义ID
-    private String procDefKey; 	// 流程定义Key(流程定义标识)
-
-    private String businessTable;	// 业务绑定Table
-    private String businessId;		// 业务绑定ID
-
-    private String title; 		// 任务标题
-
-    private String status; 		// 任务状态(todo/claim/finish)
-
-    private String procExecUrl; 	// 流程执行(办理)RUL
-    private String comment; 	// 任务意见
-    private String flag; 		// 意见状态
-
-    private Task task; 			// 任务对象
-    private ProcessDefinition procDef; 	// 流程定义对象
-    private ProcessInstance procIns;	// 流程实例对象
-    private HistoricTaskInstance histTask; // 历史任务
-    private HistoricActivityInstance histIns;	//历史活动任务
-
-    private String assignee; // 任务执行人编号
-    private String assigneeName; // 任务执行人名称
-
-    private Variable vars; 		// 流程变量
-    private Variable taskVars; 	// 流程任务变量
-
-    private Date beginDate;	// 开始查询日期
-    private Date endDate;	// 结束查询日期
-
-    private List<ActivitiDO> list; // 任务列表
-
-    public String getTaskId() {
-        return taskId;
-    }
-
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
-
-    public String getTaskName() {
-        return taskName;
-    }
-
-    public void setTaskName(String taskName) {
-        this.taskName = taskName;
-    }
-
-    public String getTaskDefKey() {
-        return taskDefKey;
-    }
-
-    public void setTaskDefKey(String taskDefKey) {
-        this.taskDefKey = taskDefKey;
-    }
-
-    public String getProcInsId() {
-        return procInsId;
-    }
-
-    public void setProcInsId(String procInsId) {
-        this.procInsId = procInsId;
-    }
-
-    public String getProcDefId() {
-        return procDefId;
-    }
-
-    public void setProcDefId(String procDefId) {
-        this.procDefId = procDefId;
-    }
-
-    public String getProcDefKey() {
-        return procDefKey;
-    }
-
-    public void setProcDefKey(String procDefKey) {
-        this.procDefKey = procDefKey;
-    }
-
-    public String getBusinessTable() {
-        return businessTable;
-    }
-
-    public void setBusinessTable(String businessTable) {
-        this.businessTable = businessTable;
-    }
-
-    public String getBusinessId() {
-        return businessId;
-    }
-
-    public void setBusinessId(String businessId) {
-        this.businessId = businessId;
-    }
-
-    public String getTitle() {
-        return title;
-    }
-
-    public void setTitle(String title) {
-        this.title = title;
-    }
-
-    public String getStatus() {
-        return status;
-    }
-
-    public void setStatus(String status) {
-        this.status = status;
-    }
-
-    public String getProcExecUrl() {
-        return procExecUrl;
-    }
-
-    public void setProcExecUrl(String procExecUrl) {
-        this.procExecUrl = procExecUrl;
-    }
-
-    public String getComment() {
-        return comment;
-    }
-
-    public void setComment(String comment) {
-        this.comment = comment;
-    }
-
-    public String getFlag() {
-        return flag;
-    }
-
-    public void setFlag(String flag) {
-        this.flag = flag;
-    }
-
-    public Task getTask() {
-        return task;
-    }
-
-    public void setTask(Task task) {
-        this.task = task;
-    }
-
-    public ProcessDefinition getProcDef() {
-        return procDef;
-    }
-
-    public void setProcDef(ProcessDefinition procDef) {
-        this.procDef = procDef;
-    }
-
-    public ProcessInstance getProcIns() {
-        return procIns;
-    }
-
-    public void setProcIns(ProcessInstance procIns) {
-        this.procIns = procIns;
-    }
-
-    public HistoricTaskInstance getHistTask() {
-        return histTask;
-    }
-
-    public void setHistTask(HistoricTaskInstance histTask) {
-        this.histTask = histTask;
-    }
-
-    public HistoricActivityInstance getHistIns() {
-        return histIns;
-    }
-
-    public void setHistIns(HistoricActivityInstance histIns) {
-        this.histIns = histIns;
-    }
-
-    public String getAssignee() {
-        return assignee;
-    }
-
-    public void setAssignee(String assignee) {
-        this.assignee = assignee;
-    }
-
-    public String getAssigneeName() {
-        return assigneeName;
-    }
-
-    public void setAssigneeName(String assigneeName) {
-        this.assigneeName = assigneeName;
-    }
-
-    public Variable getVars() {
-        return vars;
-    }
-
-    public void setVars(Variable vars) {
-        this.vars = vars;
-    }
-
-    public Variable getTaskVars() {
-        return taskVars;
-    }
-
-    public void setTaskVars(Variable taskVars) {
-        this.taskVars = taskVars;
-    }
-
-    public Date getBeginDate() {
-        return beginDate;
-    }
-
-    public void setBeginDate(Date beginDate) {
-        this.beginDate = beginDate;
-    }
-
-    public Date getEndDate() {
-        return endDate;
-    }
-
-    public void setEndDate(Date endDate) {
-        this.endDate = endDate;
-    }
-
-    public List<ActivitiDO> getList() {
-        return list;
-    }
-
-    public void setList(List<ActivitiDO> list) {
-        this.list = list;
-    }
-}

+ 0 - 373
src/main/java/com/bootdo/activiti/domain/SalaryDO.java

@@ -1,373 +0,0 @@
-package com.bootdo.activiti.domain;
-
-import org.springframework.format.annotation.DateTimeFormat;
-
-import java.io.Serializable;
-import java.util.Date;
-
-
-
-/**
- * 审批流程测试表
- * 
- * @author chglee
- * @email 1992lcg@163.com
- * @date 2017-11-25 13:28:58
- */
-public class SalaryDO extends  TaskDO implements Serializable  {
-	private static final long serialVersionUID = 1L;
-	
-	//编号
-	private String id;
-	//流程实例ID
-	private String procInsId;
-	//变动用户
-	private String userId;
-	//归属部门
-	private String officeId;
-	//岗位
-	private String post;
-	//性别
-	private String age;
-	//学历
-	private String edu;
-	//调整原因
-	private String content;
-	//现行标准 薪酬档级
-	private String olda;
-	//现行标准 月工资额
-	private String oldb;
-	//现行标准 年薪总额
-	private String oldc;
-	//调整后标准 薪酬档级
-	private String newa;
-	//调整后标准 月工资额
-	private String newb;
-	//调整后标准 年薪总额
-	private String newc;
-	//月增资
-	private String addNum;
-	//执行时间
-	private String exeDate;
-	//人力资源部门意见
-	private String hrText;
-	//分管领导意见
-	private String leadText;
-	//集团主要领导意见
-	private String mainLeadText;
-	//创建者
-	private String createBy;
-	//创建时间
-	@DateTimeFormat(pattern = "yyyy-MM-dd")
-	private Date createDate;
-	//更新者
-	private String updateBy;
-	//更新时间
-	@DateTimeFormat(pattern = "yyyy-MM-dd")
-	private Date updateDate;
-	//备注信息
-	private String remarks;
-	//删除标记
-	private String delFlag;
-
-	/**
-	 * 设置:编号
-	 */
-	public void setId(String id) {
-		this.id = id;
-	}
-	/**
-	 * 获取:编号
-	 */
-	public String getId() {
-		return id;
-	}
-	/**
-	 * 设置:流程实例ID
-	 */
-	public void setProcInsId(String procInsId) {
-		this.procInsId = procInsId;
-	}
-	/**
-	 * 获取:流程实例ID
-	 */
-	public String getProcInsId() {
-		return procInsId;
-	}
-	/**
-	 * 设置:变动用户
-	 */
-	public void setUserId(String userId) {
-		this.userId = userId;
-	}
-	/**
-	 * 获取:变动用户
-	 */
-	public String getUserId() {
-		return userId;
-	}
-	/**
-	 * 设置:归属部门
-	 */
-	public void setOfficeId(String officeId) {
-		this.officeId = officeId;
-	}
-	/**
-	 * 获取:归属部门
-	 */
-	public String getOfficeId() {
-		return officeId;
-	}
-	/**
-	 * 设置:岗位
-	 */
-	public void setPost(String post) {
-		this.post = post;
-	}
-	/**
-	 * 获取:岗位
-	 */
-	public String getPost() {
-		return post;
-	}
-	/**
-	 * 设置:性别
-	 */
-	public void setAge(String age) {
-		this.age = age;
-	}
-	/**
-	 * 获取:性别
-	 */
-	public String getAge() {
-		return age;
-	}
-	/**
-	 * 设置:学历
-	 */
-	public void setEdu(String edu) {
-		this.edu = edu;
-	}
-	/**
-	 * 获取:学历
-	 */
-	public String getEdu() {
-		return edu;
-	}
-	/**
-	 * 设置:调整原因
-	 */
-	public void setContent(String content) {
-		this.content = content;
-	}
-	/**
-	 * 获取:调整原因
-	 */
-	public String getContent() {
-		return content;
-	}
-	/**
-	 * 设置:现行标准 薪酬档级
-	 */
-	public void setOlda(String olda) {
-		this.olda = olda;
-	}
-	/**
-	 * 获取:现行标准 薪酬档级
-	 */
-	public String getOlda() {
-		return olda;
-	}
-	/**
-	 * 设置:现行标准 月工资额
-	 */
-	public void setOldb(String oldb) {
-		this.oldb = oldb;
-	}
-	/**
-	 * 获取:现行标准 月工资额
-	 */
-	public String getOldb() {
-		return oldb;
-	}
-	/**
-	 * 设置:现行标准 年薪总额
-	 */
-	public void setOldc(String oldc) {
-		this.oldc = oldc;
-	}
-	/**
-	 * 获取:现行标准 年薪总额
-	 */
-	public String getOldc() {
-		return oldc;
-	}
-	/**
-	 * 设置:调整后标准 薪酬档级
-	 */
-	public void setNewa(String newa) {
-		this.newa = newa;
-	}
-	/**
-	 * 获取:调整后标准 薪酬档级
-	 */
-	public String getNewa() {
-		return newa;
-	}
-	/**
-	 * 设置:调整后标准 月工资额
-	 */
-	public void setNewb(String newb) {
-		this.newb = newb;
-	}
-	/**
-	 * 获取:调整后标准 月工资额
-	 */
-	public String getNewb() {
-		return newb;
-	}
-	/**
-	 * 设置:调整后标准 年薪总额
-	 */
-	public void setNewc(String newc) {
-		this.newc = newc;
-	}
-	/**
-	 * 获取:调整后标准 年薪总额
-	 */
-	public String getNewc() {
-		return newc;
-	}
-	/**
-	 * 设置:月增资
-	 */
-	public void setAddNum(String addNum) {
-		this.addNum = addNum;
-	}
-	/**
-	 * 获取:月增资
-	 */
-	public String getAddNum() {
-		return addNum;
-	}
-	/**
-	 * 设置:执行时间
-	 */
-	public void setExeDate(String exeDate) {
-		this.exeDate = exeDate;
-	}
-	/**
-	 * 获取:执行时间
-	 */
-	public String getExeDate() {
-		return exeDate;
-	}
-	/**
-	 * 设置:人力资源部门意见
-	 */
-	public void setHrText(String hrText) {
-		this.hrText = hrText;
-	}
-	/**
-	 * 获取:人力资源部门意见
-	 */
-	public String getHrText() {
-		return hrText;
-	}
-	/**
-	 * 设置:分管领导意见
-	 */
-	public void setLeadText(String leadText) {
-		this.leadText = leadText;
-	}
-	/**
-	 * 获取:分管领导意见
-	 */
-	public String getLeadText() {
-		return leadText;
-	}
-	/**
-	 * 设置:集团主要领导意见
-	 */
-	public void setMainLeadText(String mainLeadText) {
-		this.mainLeadText = mainLeadText;
-	}
-	/**
-	 * 获取:集团主要领导意见
-	 */
-	public String getMainLeadText() {
-		return mainLeadText;
-	}
-	/**
-	 * 设置:创建者
-	 */
-	public void setCreateBy(String createBy) {
-		this.createBy = createBy;
-	}
-	/**
-	 * 获取:创建者
-	 */
-	public String getCreateBy() {
-		return createBy;
-	}
-	/**
-	 * 设置:创建时间
-	 */
-	public void setCreateDate(Date createDate) {
-		this.createDate = createDate;
-	}
-	/**
-	 * 获取:创建时间
-	 */
-	public Date getCreateDate() {
-		return createDate;
-	}
-	/**
-	 * 设置:更新者
-	 */
-	public void setUpdateBy(String updateBy) {
-		this.updateBy = updateBy;
-	}
-	/**
-	 * 获取:更新者
-	 */
-	public String getUpdateBy() {
-		return updateBy;
-	}
-	/**
-	 * 设置:更新时间
-	 */
-	public void setUpdateDate(Date updateDate) {
-		this.updateDate = updateDate;
-	}
-	/**
-	 * 获取:更新时间
-	 */
-	public Date getUpdateDate() {
-		return updateDate;
-	}
-	/**
-	 * 设置:备注信息
-	 */
-	public void setRemarks(String remarks) {
-		this.remarks = remarks;
-	}
-	/**
-	 * 获取:备注信息
-	 */
-	public String getRemarks() {
-		return remarks;
-	}
-	/**
-	 * 设置:删除标记
-	 */
-	public void setDelFlag(String delFlag) {
-		this.delFlag = delFlag;
-	}
-	/**
-	 * 获取:删除标记
-	 */
-	public String getDelFlag() {
-		return delFlag;
-	}
-}

+ 0 - 47
src/main/java/com/bootdo/activiti/domain/TaskDO.java

@@ -1,47 +0,0 @@
-package com.bootdo.activiti.domain;
-
-import java.util.Map;
-
-/**
- * @author bootdo 1992lcg@163.com
- */
-public class TaskDO {
-    private  String taskId;
-    private String taskComment;
-    private String taskPass;
-    private Map<String,Object> vars;
-
-    public String getTaskId() {
-        return taskId;
-    }
-
-    public void setTaskId(String taskId) {
-        this.taskId = taskId;
-    }
-
-    public String getTaskComment() {
-        return taskComment;
-    }
-
-    public void setTaskComment(String taskComment) {
-        this.taskComment = taskComment;
-    }
-
-    public String getTaskPass() {
-        return taskPass;
-    }
-
-    public void setTaskPass(String taskPass) {
-        this.taskPass = taskPass;
-    }
-
-    public Map<String, Object> getVars() {
-        return vars;
-    }
-
-    public void setVars(Map<String, Object> vars) {
-        this.vars = vars;
-    }
-
-
-}

+ 0 - 35
src/main/java/com/bootdo/activiti/domain/Variable.java

@@ -1,35 +0,0 @@
-package com.bootdo.activiti.domain;
-
-
-/**
- */
-public class Variable {
-
-    private String keys;
-    private String values;
-    private String types;
-
-    public String getKeys() {
-        return keys;
-    }
-
-    public void setKeys(String keys) {
-        this.keys = keys;
-    }
-
-    public String getValues() {
-        return values;
-    }
-
-    public void setValues(String values) {
-        this.values = values;
-    }
-
-    public String getTypes() {
-        return types;
-    }
-
-    public void setTypes(String types) {
-        this.types = types;
-    }
-}

+ 0 - 23
src/main/java/com/bootdo/activiti/service/ActTaskService.java

@@ -1,23 +0,0 @@
-package com.bootdo.activiti.service;
-
-import com.bootdo.activiti.domain.ActivitiDO;
-
-import java.io.InputStream;
-import java.util.List;
-import java.util.Map;
-
-/**
- */
-public interface ActTaskService {
-    List<ActivitiDO> listTodo(ActivitiDO act);
-
-    void complete(String taskId, String procInsId, String comment, String title, Map<String, Object> vars);
-
-    void complete(String taskId,Map<String,Object> vars);
-
-    String startProcess(String procDefKey, String businessTable, String businessId, String title, Map<String, Object> vars);
-
-    String getFormKey(String procDefId, String taskDefKey);
-
-    InputStream tracePhoto(String processDefinitionId, String executionId);
-}

+ 0 - 16
src/main/java/com/bootdo/activiti/service/ProcessService.java

@@ -1,16 +0,0 @@
-package com.bootdo.activiti.service;
-
-import org.activiti.engine.repository.Model;
-import org.springframework.stereotype.Service;
-
-import java.io.InputStream;
-
-/**
-
- */
-@Service
-public interface ProcessService {
-    Model convertToModel(String procDefId) throws Exception;
-
-    InputStream resourceRead(String id, String resType) throws Exception;
-}

+ 0 - 30
src/main/java/com/bootdo/activiti/service/SalaryService.java

@@ -1,30 +0,0 @@
-package com.bootdo.activiti.service;
-
-import com.bootdo.activiti.domain.SalaryDO;
-
-import java.util.List;
-import java.util.Map;
-
-/**
- * 审批流程测试表
- * 
- * @author chglee
- * @email 1992lcg@163.com
- * @date 2017-11-25 13:33:16
- */
-public interface SalaryService {
-	
-	SalaryDO get(String id);
-	
-	List<SalaryDO> list(Map<String, Object> map);
-	
-	int count(Map<String, Object> map);
-	
-	int save(SalaryDO salary);
-	
-	int update(SalaryDO salary);
-	
-	int remove(String id);
-	
-	int batchRemove(String[] ids);
-}

+ 0 - 279
src/main/java/com/bootdo/activiti/service/impl/ActTaskServiceImpl.java

@@ -1,279 +0,0 @@
-package com.bootdo.activiti.service.impl;
-
-import com.bootdo.activiti.domain.ActivitiDO;
-import com.bootdo.activiti.service.ActTaskService;
-import com.bootdo.common.utils.ShiroUtils;
-import com.bootdo.common.utils.StringUtils;
-import org.activiti.bpmn.model.BpmnModel;
-import org.activiti.engine.*;
-import org.activiti.engine.history.HistoricActivityInstance;
-import org.activiti.engine.history.HistoricProcessInstance;
-import org.activiti.engine.impl.RepositoryServiceImpl;
-import org.activiti.engine.impl.context.Context;
-import org.activiti.engine.impl.persistence.entity.ProcessDefinitionEntity;
-import org.activiti.engine.impl.pvm.PvmTransition;
-import org.activiti.engine.impl.pvm.process.ActivityImpl;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
-import org.activiti.image.ProcessDiagramGenerator;
-import org.activiti.spring.ProcessEngineFactoryBean;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-
-/**
- */
-@Service
-public class ActTaskServiceImpl implements ActTaskService {
-    @Autowired
-    TaskService taskService;
-    @Autowired
-    IdentityService identityService;
-    @Autowired
-    RuntimeService runtimeService;
-    @Autowired
-    FormService formService;
-
-    @Autowired
-    RepositoryService repositoryService;
-
-    @Autowired
-    private ProcessEngineFactoryBean processEngineFactory;
-
-    @Autowired
-    private ProcessEngine processEngine;
-
-    @Autowired
-    private HistoryService historyService;
-
-    @Override
-    public List<ActivitiDO> listTodo(ActivitiDO act) {
-        String userId = String.valueOf(ShiroUtils.getUserId());
-        List<ActivitiDO> result = new ArrayList<ActivitiDO>();
-        return result;
-    }
-
-    /**
-     * 提交任务, 并保存意见
-     *
-     * @param taskId    任务ID
-     * @param procInsId 流程实例ID,如果为空,则不保存任务提交意见
-     * @param comment   任务提交意见的内容
-     * @param title     流程标题,显示在待办任务标题
-     * @param vars      任务变量
-     */
-    @Override
-    public void complete(String taskId, String procInsId, String comment, String title, Map<String, Object> vars) {
-        // 添加意见
-        if (StringUtils.isNotBlank(procInsId) && StringUtils.isNotBlank(comment)) {
-            taskService.addComment(taskId, procInsId, comment);
-        }
-
-        // 设置流程变量
-        if (vars == null) {
-            vars = new HashMap<>();
-        }
-
-        // 设置流程标题
-        if (StringUtils.isNotBlank(title)) {
-            vars.put("title", title);
-        }
-
-        // 提交任务
-        taskService.complete(taskId, vars);
-    }
-
-    @Override
-    public void complete(String taskId, Map<String, Object> vars) {
-        // 2.1根据人物ID查询流程实力ID
-        Task task = taskService.createTaskQuery()
-                .taskId(taskId).singleResult();
-        // 获取流程实例ID
-        String processInstance = task.getProcessInstanceId();
-        // 2.2根据流程实例ID,人物ID,评论的消息,保存教师或者学术对与该学生申请的评论信息
-//        taskService.addComment(taskId,
-//                processInstance, "");
-//        Map<String,Object> vars = new HashMap<>();
-//        vars.put("pass",  "1" );
-//        vars.put("title","");
-        taskService.complete(taskId, vars);
-    }
-
-    /**
-     * 启动流程
-     *
-     * @param procDefKey    流程定义KEY
-     * @param businessTable 业务表表名
-     * @param businessId    业务表编号
-     * @param title         流程标题,显示在待办任务标题
-     * @param vars          流程变量
-     * @return 流程实例ID
-     */
-    @Override
-    public String startProcess(String procDefKey, String businessTable, String businessId, String title, Map<String, Object> vars) {
-        String userId = ShiroUtils.getUser().getUsername();//ObjectUtils.toString(UserUtils.getUser().getId())
-
-        // 用来设置启动流程的人员ID,引擎会自动把用户ID保存到activiti:initiator中
-        identityService.setAuthenticatedUserId(userId);
-
-        // 设置流程变量
-        if (vars == null) {
-            vars = new HashMap();
-        }
-
-        // 设置流程标题
-        if (StringUtils.isNotBlank(title)) {
-            vars.put("title", title);
-        }
-
-        // 启动流程
-        ProcessInstance procIns = runtimeService.startProcessInstanceByKey(procDefKey, businessId, vars);
-
-        return null;
-    }
-
-    /**
-     * 获取流程表单(首先获取任务节点表单KEY,如果没有则取流程开始节点表单KEY)
-     *
-     * @return
-     */
-    @Override
-    public String getFormKey(String procDefId, String taskDefKey) {
-        String formKey = "";
-        if (StringUtils.isNotBlank(procDefId)) {
-            if (StringUtils.isNotBlank(taskDefKey)) {
-                try {
-                    formKey = formService.getTaskFormKey(procDefId, taskDefKey);
-                } catch (Exception e) {
-                    formKey = "";
-                }
-            }
-            if (StringUtils.isBlank(formKey)) {
-                formKey = formService.getStartFormKey(procDefId);
-            }
-            if (StringUtils.isBlank(formKey)) {
-                formKey = "/404";
-            }
-        }
-        return formKey;
-    }
-
-    @Override
-    public InputStream tracePhoto(String xx, String pProcessInstanceId) {
-////		ProcessInstance processInstance = runtimeService.createProcessInstanceQuery().processInstanceId(executionId).singleResult();
-//        BpmnModel bpmnModel = repositoryService.getBpmnModel(processDefinitionId);
-//
-//        List<String> activeActivityIds = new ArrayList();
-//        if (runtimeService.createExecutionQuery().executionId(executionId).count() > 0){
-//            activeActivityIds = runtimeService.getActiveActivityIds(executionId);
-//        }
-//
-//        // 不使用spring请使用下面的两行代码
-//        // ProcessEngineImpl defaultProcessEngine = (ProcessEngineImpl)ProcessEngines.getDefaultProcessEngine();
-//        // Context.setProcessEngineConfiguration(defaultProcessEngine.getProcessEngineConfiguration());
-//
-//        // 使用spring注入引擎请使用下面的这行代码
-//        Context.setProcessEngineConfiguration(processEngineFactory.getProcessEngineConfiguration());
-////		return ProcessDiagramGenerator.generateDiagram(bpmnModel, "png", activeActivityIds);
-//        return processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator()
-//                .generateDiagram(bpmnModel, "png", activeActivityIds);
-
-        //  获取历史流程实例
-        HistoricProcessInstance historicProcessInstance = historyService.createHistoricProcessInstanceQuery()
-                .processInstanceId(pProcessInstanceId).singleResult();
-
-        if (historicProcessInstance != null) {
-            // 获取流程定义
-            ProcessDefinitionEntity processDefinition = (ProcessDefinitionEntity) ((RepositoryServiceImpl) repositoryService)
-                    .getDeployedProcessDefinition(historicProcessInstance.getProcessDefinitionId());
-
-            // 获取流程历史中已执行节点,并按照节点在流程中执行先后顺序排序
-            List<HistoricActivityInstance> historicActivityInstanceList = historyService.createHistoricActivityInstanceQuery()
-                    .processInstanceId(pProcessInstanceId).orderByHistoricActivityInstanceId().asc().list();
-
-            // 已执行的节点ID集合
-            List<String> executedActivityIdList = new ArrayList<String>();
-            int index = 1;
-            //获取已经执行的节点ID
-            for (HistoricActivityInstance activityInstance : historicActivityInstanceList) {
-                executedActivityIdList.add(activityInstance.getActivityId());
-                index++;
-            }
-
-            // 已执行的线集合
-            List<String> flowIds = new ArrayList<String>();
-            // 获取流程走过的线
-            flowIds = getHighLightedFlows(processDefinition, historicActivityInstanceList);
-
-
-            BpmnModel bpmnModel = repositoryService
-                    .getBpmnModel(historicProcessInstance.getProcessDefinitionId());
-            // 获取流程图图像字符流
-            ProcessDiagramGenerator pec = processEngine.getProcessEngineConfiguration().getProcessDiagramGenerator();
-            //配置字体
-
-            InputStream imageStream = pec.generateDiagram(bpmnModel, "png", executedActivityIdList, flowIds, "宋体", "微软雅黑", "黑体", null, 2.0);
-            return imageStream;
-        }
-        return null;
-    }
-
-
-    /**
-     * 获取需要高亮的线
-     * @param processDefinitionEntity
-     * @param historicActivityInstances
-     * @return
-     */
-    private List<String> getHighLightedFlows(
-            ProcessDefinitionEntity processDefinitionEntity,
-            List<HistoricActivityInstance> historicActivityInstances) {
-        List<String> highFlows = new ArrayList<String>();// 用以保存高亮的线flowId
-        for (int i = 0; i < historicActivityInstances.size() - 1; i++) {// 对历史流程节点进行遍历
-            ActivityImpl activityImpl = processDefinitionEntity
-                    .findActivity(historicActivityInstances.get(i)
-                            .getActivityId());// 得到节点定义的详细信息
-            List<ActivityImpl> sameStartTimeNodes = new ArrayList<ActivityImpl>();// 用以保存后需开始时间相同的节点
-            ActivityImpl sameActivityImpl1 = processDefinitionEntity
-                    .findActivity(historicActivityInstances.get(i + 1)
-                            .getActivityId());
-            // 将后面第一个节点放在时间相同节点的集合里
-            sameStartTimeNodes.add(sameActivityImpl1);
-            for (int j = i + 1; j < historicActivityInstances.size() - 1; j++) {
-                HistoricActivityInstance activityImpl1 = historicActivityInstances
-                        .get(j);// 后续第一个节点
-                HistoricActivityInstance activityImpl2 = historicActivityInstances
-                        .get(j + 1);// 后续第二个节点
-                if (activityImpl1.getStartTime().equals(
-                        activityImpl2.getStartTime())) {
-                    // 如果第一个节点和第二个节点开始时间相同保存
-                    ActivityImpl sameActivityImpl2 = processDefinitionEntity
-                            .findActivity(activityImpl2.getActivityId());
-                    sameStartTimeNodes.add(sameActivityImpl2);
-                } else {
-                    // 有不相同跳出循环
-                    break;
-                }
-            }
-            List<PvmTransition> pvmTransitions = activityImpl
-                    .getOutgoingTransitions();// 取出节点的所有出去的线
-            for (PvmTransition pvmTransition : pvmTransitions) {
-                // 对所有的线进行遍历
-                ActivityImpl pvmActivityImpl = (ActivityImpl) pvmTransition
-                        .getDestination();
-                // 如果取出的线的目标节点存在时间相同的节点里,保存该线的id,进行高亮显示
-                if (sameStartTimeNodes.contains(pvmActivityImpl)) {
-                    highFlows.add(pvmTransition.getId());
-                }
-            }
-        }
-        return highFlows;
-    }
-
-}
-

+ 0 - 82
src/main/java/com/bootdo/activiti/service/impl/ProcessServiceImpl.java

@@ -1,82 +0,0 @@
-package com.bootdo.activiti.service.impl;
-
-import com.bootdo.activiti.service.ProcessService;
-import com.fasterxml.jackson.databind.ObjectMapper;
-import com.fasterxml.jackson.databind.node.ObjectNode;
-import org.activiti.bpmn.converter.BpmnXMLConverter;
-import org.activiti.bpmn.model.BpmnModel;
-import org.activiti.editor.constants.ModelDataJsonConstants;
-import org.activiti.editor.language.json.converter.BpmnJsonConverter;
-import org.activiti.engine.RepositoryService;
-import org.activiti.engine.RuntimeService;
-import org.activiti.engine.repository.Model;
-import org.activiti.engine.repository.ProcessDefinition;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import javax.xml.stream.XMLInputFactory;
-import javax.xml.stream.XMLStreamReader;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-/**
-
- */
-@Service
-public class ProcessServiceImpl implements ProcessService {
-    @Autowired
-    RepositoryService repositoryService;
-    @Autowired
-    RuntimeService runtimeService;
-
-    @Override
-    public Model convertToModel(String procDefId) throws Exception {
-
-        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(procDefId).singleResult();
-        InputStream bpmnStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(),
-                processDefinition.getResourceName());
-        XMLInputFactory xif = XMLInputFactory.newInstance();
-        InputStreamReader in = new InputStreamReader(bpmnStream, "UTF-8");
-        XMLStreamReader xtr = xif.createXMLStreamReader(in);
-        BpmnModel bpmnModel = new BpmnXMLConverter().convertToBpmnModel(xtr);
-
-        BpmnJsonConverter converter = new BpmnJsonConverter();
-        ObjectNode modelNode = converter.convertToJson(bpmnModel);
-        org.activiti.engine.repository.Model modelData = repositoryService.newModel();
-        modelData.setKey(processDefinition.getKey());
-        modelData.setName(processDefinition.getResourceName());
-        modelData.setCategory(processDefinition.getCategory());//.getDeploymentId());
-        modelData.setDeploymentId(processDefinition.getDeploymentId());
-        modelData.setVersion(Integer.parseInt(String.valueOf(repositoryService.createModelQuery().modelKey(modelData.getKey()).count() + 1)));
-
-        ObjectNode modelObjectNode = new ObjectMapper().createObjectNode();
-        modelObjectNode.put(ModelDataJsonConstants.MODEL_NAME, processDefinition.getName());
-        modelObjectNode.put(ModelDataJsonConstants.MODEL_REVISION, modelData.getVersion());
-        modelObjectNode.put(ModelDataJsonConstants.MODEL_DESCRIPTION, processDefinition.getDescription());
-        modelData.setMetaInfo(modelObjectNode.toString());
-
-        repositoryService.saveModel(modelData);
-
-        repositoryService.addModelEditorSource(modelData.getId(), modelNode.toString().getBytes("utf-8"));
-
-        return modelData;
-    }
-
-    @Override
-    public InputStream resourceRead(String id, String resType) throws Exception {
-
-
-        ProcessDefinition processDefinition = repositoryService.createProcessDefinitionQuery().processDefinitionId(id).singleResult();
-
-
-        String resourceName = "";
-        if (resType.equals("image")) {
-            resourceName = processDefinition.getDiagramResourceName();
-        } else if (resType.equals("xml")) {
-            resourceName = processDefinition.getResourceName();
-        }
-
-        InputStream resourceAsStream = repositoryService.getResourceAsStream(processDefinition.getDeploymentId(), resourceName);
-        return resourceAsStream;
-    }
-}

+ 0 - 69
src/main/java/com/bootdo/activiti/service/impl/SalaryServiceImpl.java

@@ -1,69 +0,0 @@
-package com.bootdo.activiti.service.impl;
-
-import com.bootdo.activiti.config.ActivitiConstant;
-import com.bootdo.common.utils.StringUtils;
-import org.activiti.engine.TaskService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Service;
-
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
-import java.util.UUID;
-
-import com.bootdo.activiti.dao.SalaryDao;
-import com.bootdo.activiti.domain.SalaryDO;
-import com.bootdo.activiti.service.SalaryService;
-import org.springframework.transaction.annotation.Transactional;
-
-
-@Service
-public class SalaryServiceImpl implements SalaryService {
-	@Autowired
-	private SalaryDao salaryDao;
-	@Autowired
-	private ActTaskServiceImpl actTaskService;
-	
-	@Override
-	public SalaryDO get(String id){
-		return salaryDao.get(id);
-	}
-	
-	@Override
-	public List<SalaryDO> list(Map<String, Object> map){
-		return salaryDao.list(map);
-	}
-	
-	@Override
-	public int count(Map<String, Object> map){
-		return salaryDao.count(map);
-	}
-
-	@Transactional(rollbackFor=Exception.class)
-	@Override
-	public int save(SalaryDO salary){
-			salary.setId(UUID.randomUUID().toString().replace("-",""));
-			actTaskService.startProcess(ActivitiConstant.ACTIVITI_SALARY[0],ActivitiConstant.ACTIVITI_SALARY[1],salary.getId(),salary.getContent(),new HashMap<>());
-			return salaryDao.save(salary);
-	}
-	@Transactional(rollbackFor=Exception.class)
-	@Override
-	public int update(SalaryDO salary){
-		Map<String,Object> vars = new HashMap<>(16);
-		vars.put("pass",  salary.getTaskPass() );
-		vars.put("title","");
-		actTaskService.complete(salary.getTaskId(),vars);
-		return salaryDao.update(salary);
-	}
-	
-	@Override
-	public int remove(String id){
-		return salaryDao.remove(id);
-	}
-	
-	@Override
-	public int batchRemove(String[] ids){
-		return salaryDao.batchRemove(ids);
-	}
-	
-}

+ 0 - 41
src/main/java/com/bootdo/activiti/utils/ActivitiUtils.java

@@ -1,41 +0,0 @@
-package com.bootdo.activiti.utils;
-
-import org.activiti.engine.RuntimeService;
-import org.activiti.engine.TaskService;
-import org.activiti.engine.runtime.ProcessInstance;
-import org.activiti.engine.task.Task;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.stereotype.Component;
-
-/**
-
- */
-@Component
-public class ActivitiUtils {
-    /**
-     * 根据taskId查找businessKey
-     */
-    @Autowired
-    TaskService taskService;
-    @Autowired
-    RuntimeService runtimeService;
-    public String getBusinessKeyByTaskId(String taskId){
-        Task task = taskService
-                .createTaskQuery()
-                .taskId(taskId)
-                .singleResult();
-        ProcessInstance pi = runtimeService
-                .createProcessInstanceQuery()
-                .processInstanceId(task.getProcessInstanceId())
-                .singleResult();
-        return pi.getBusinessKey();
-    }
-
-    public Task getTaskByTaskId(String taskId){
-        Task task = taskService
-                .createTaskQuery()
-                .taskId(taskId)
-                .singleResult();
-        return task;
-    }
-}

+ 0 - 56
src/main/java/com/bootdo/activiti/vo/DeploymentResponse.java

@@ -1,56 +0,0 @@
-package com.bootdo.activiti.vo;
-
-import com.fasterxml.jackson.databind.annotation.JsonSerialize;
-import org.activiti.engine.repository.Deployment;
-import org.activiti.rest.common.util.DateToStringSerializer;
-
-import java.util.Date;
-
-public class DeploymentResponse {
-
-  private String id;
-  private String name;
-  @JsonSerialize(using = DateToStringSerializer.class, as=Date.class)
-  private Date deploymentTime;
-  private String category;
-  private String tenantId;
-  
-  public DeploymentResponse(Deployment deployment) {
-    setId(deployment.getId());
-    setName(deployment.getName());
-    setDeploymentTime(deployment.getDeploymentTime());
-    setCategory(deployment.getCategory());
-    setTenantId(deployment.getTenantId());
-  }
-  
-  public String getId() {
-    return id;
-  }
-  public void setId(String id) {
-    this.id = id;
-  }
-  public String getName() {
-    return name;
-  }
-  public void setName(String name) {
-    this.name = name;
-  }
-  public  Date getDeploymentTime() {
-    return deploymentTime;
-  }
-  public void setDeploymentTime( Date deploymentTime) {
-    this.deploymentTime = deploymentTime;
-  }
-  public String getCategory() {
-    return category;
-  }
-  public void setCategory(String category) {
-    this.category = category;
-  }
-  public void setTenantId(String tenantId) {
-      this.tenantId = tenantId;
-  }
-  public String getTenantId() {
-	  return tenantId;
-  }
-}

+ 0 - 45
src/main/java/com/bootdo/activiti/vo/ProcessVO.java

@@ -1,45 +0,0 @@
-package com.bootdo.activiti.vo;
-
-import org.activiti.engine.repository.Deployment;
-import org.activiti.engine.repository.ProcessDefinition;
-
-public class ProcessVO {
-    private String id;
-    private String name;
-    private String deploymentId;
-
-    public ProcessVO(Deployment processDefinition) {
-        this.setId(processDefinition.getId());
-        this.name = processDefinition.getName();
-    }
-
-    public ProcessVO(ProcessDefinition processDefinition) {
-        this.setId(processDefinition.getId());
-        this.name = processDefinition.getName();
-        this.deploymentId = processDefinition.getDeploymentId();
-    }
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDeploymentId() {
-        return deploymentId;
-    }
-
-    public void setDeploymentId(String deploymentId) {
-        this.deploymentId = deploymentId;
-    }
-}

+ 0 - 103
src/main/java/com/bootdo/activiti/vo/TaskVO.java

@@ -1,103 +0,0 @@
-package com.bootdo.activiti.vo;
-
-import org.activiti.engine.task.Task;
-
-/**
-
- */
-public class TaskVO  {
-
-    public TaskVO(Task task){
-
-        this.setId(task.getId());
-        this.setKey(task.getTaskDefinitionKey());
-        this.setName(task.getName());
-        this.setDescription(task.getDescription());
-        this.setAssignee(task.getAssignee());
-        this.setFormKey(task.getFormKey());
-        this.setProcessId(task.getProcessInstanceId());
-        this.setProcessDefinitionId(task.getProcessDefinitionId());
-        this.setExecutionId(task.getExecutionId());
-    }
-    private  String id;
-    private String name;
-    private String key;
-    private String description;
-    private  String formKey;
-    private  String assignee;
-    private String processId;
-    private String processDefinitionId;
-    private String executionId;
-
-    public String getId() {
-        return id;
-    }
-
-    public void setId(String id) {
-        this.id = id;
-    }
-
-    public String getKey() {
-        return key;
-    }
-
-    public void setKey(String key) {
-        this.key = key;
-    }
-
-    public String getName() {
-        return name;
-    }
-
-    public void setName(String name) {
-        this.name = name;
-    }
-
-    public String getDescription() {
-        return description;
-    }
-
-    public void setDescription(String description) {
-        this.description = description;
-    }
-
-    public String getFormKey() {
-        return formKey;
-    }
-
-    public void setFormKey(String formKey) {
-        this.formKey = formKey;
-    }
-
-    public String getAssignee() {
-        return assignee;
-    }
-
-    public void setAssignee(String assignee) {
-        this.assignee = assignee;
-    }
-
-    public String getProcessId() {
-        return processId;
-    }
-
-    public void setProcessId(String processId) {
-        this.processId = processId;
-    }
-
-    public String getProcessDefinitionId() {
-        return processDefinitionId;
-    }
-
-    public void setProcessDefinitionId(String processDefinitionId) {
-        this.processDefinitionId = processDefinitionId;
-    }
-
-    public String getExecutionId() {
-        return executionId;
-    }
-
-    public void setExecutionId(String executionId) {
-        this.executionId = executionId;
-    }
-}

+ 4 - 0
src/main/java/com/bootdo/common/config/DateConverConfig.java

@@ -3,6 +3,7 @@ package com.bootdo.common.config;
 import org.springframework.context.annotation.Bean;
 import org.springframework.context.annotation.Configuration;
 import org.springframework.core.convert.converter.Converter;
+import org.springframework.util.ObjectUtils;
 
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -20,6 +21,9 @@ public class DateConverConfig {
         return new Converter<String, Date>() {
             @Override
             public Date convert(String source) {
+                if(ObjectUtils.isEmpty(source)){
+                    return null;
+                }
                 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                 Date date = null;
                 try {

+ 39 - 0
src/main/java/com/bootdo/datas/controller/DataExpertController.java

@@ -5,17 +5,22 @@ import com.bootdo.common.annotation.Log;
 import com.bootdo.common.utils.PageUtils;
 import com.bootdo.common.utils.Query;
 import com.bootdo.common.utils.R;
+import com.bootdo.data.domain.ExpertOpinionDO;
 import com.bootdo.datas.domain.GyDataExcelDO;
+import com.bootdo.datas.dto.ExamineLogDTO;
 import com.bootdo.datas.dto.GyDataImportDTO;
 import com.bootdo.datas.service.DataService;
+import com.bootdo.datas.service.ExamineLogService;
 import com.bootdo.datas.service.GyDataService;
 import com.bootdo.datas.tools.ExcelUtils;
+import com.google.common.collect.Maps;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
@@ -41,6 +46,8 @@ public class DataExpertController {
     private DataService dataService;
     @Autowired
     private GyDataService gyDataService;
+    @Autowired
+    private ExamineLogService examineLogService;
 
     @GetMapping()
     @Log("访问专家审核")
@@ -62,14 +69,46 @@ public class DataExpertController {
         return pageUtils;
     }
 
+
     @GetMapping("/edit/{id}")
     @RequiresPermissions("datas:expertVerify:edit")
     String edit(@PathVariable("id") Long id, Model model) {
+
         GyDataImportDTO data = gyDataService.get(id);
+        Map<String, Object> reqParamMap = Maps.newHashMap();
+        reqParamMap.put("dataType", "DI_OPER");
+        reqParamMap.put("uniqueKey", id);
+        List<ExamineLogDTO> examineLogList = examineLogService.list(reqParamMap);
         model.addAttribute("data", data);
+        if (!CollectionUtils.isEmpty(examineLogList)) {
+            model.addAttribute("examineLog", examineLogList);
+        }
         return "datas/expertVerify/edit";
     }
 
+    @GetMapping("/expertOpinion/{id}")
+    @RequiresPermissions("datas:expertVerify:addExpertOpinion")
+    String expertOpinion(@PathVariable("id") Long id, Model model) {
+        model.addAttribute("id", id);
+        return "datas/expertVerify/expertOpinion";
+    }
+
+    /**
+     * @Description: 专家意见
+     * @Author: stw
+     * @Date: 2024/7/13 14:10
+     * @param expertOpinionDO
+     * @Return: R
+     */
+    @PostMapping("/addExpertOpinion")
+    @ResponseBody
+    @RequiresPermissions("datas:expertVerify:addExpertOpinion")
+    public R addExpertOpinion(ExpertOpinionDO expertOpinionDO) {
+        log.info("专家意见 备案主键 id:" + expertOpinionDO.getId());
+        gyDataService.addExpertOpinion(expertOpinionDO);
+        return R.ok();
+    }
+
     /**
      * @Description: 列表页面 审核通过
      * @Author: wangp

+ 14 - 0
src/main/java/com/bootdo/datas/controller/DataUnionController.java

@@ -7,16 +7,20 @@ import com.bootdo.common.utils.Query;
 import com.bootdo.common.utils.R;
 import com.bootdo.datas.domain.DataDO;
 import com.bootdo.datas.domain.GyDataExcelDO;
+import com.bootdo.datas.dto.ExamineLogDTO;
 import com.bootdo.datas.dto.GyDataImportDTO;
 import com.bootdo.datas.service.DataService;
+import com.bootdo.datas.service.ExamineLogService;
 import com.bootdo.datas.service.GyDataService;
 import com.bootdo.datas.tools.ExcelUtils;
+import com.google.common.collect.Maps;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Controller;
 import org.springframework.ui.Model;
+import org.springframework.util.CollectionUtils;
 import org.springframework.web.bind.annotation.*;
 
 import javax.servlet.http.HttpServletResponse;
@@ -43,6 +47,8 @@ public class DataUnionController {
     private DataService dataService;
     @Autowired
     private GyDataService gyDataService;
+    @Autowired
+    private ExamineLogService examineLogService;
 
     @GetMapping()
     @Log("访问联合审查")
@@ -75,8 +81,16 @@ public class DataUnionController {
     @GetMapping("/edit/{id}")
     @RequiresPermissions("datas:unionVerify:edit")
     String edit(@PathVariable("id") Long id, Model model) {
+
         GyDataImportDTO data = gyDataService.get(id);
+        Map<String, Object> reqParamMap = Maps.newHashMap();
+        reqParamMap.put("dataType", "DI_OPER");
+        reqParamMap.put("uniqueKey", id);
+        List<ExamineLogDTO> examineLogList = examineLogService.list(reqParamMap);
         model.addAttribute("data", data);
+        if (!CollectionUtils.isEmpty(examineLogList)) {
+            model.addAttribute("examineLog", examineLogList);
+        }
         return "datas/unionVerify/edit";
     }
 

+ 3 - 2
src/main/java/com/bootdo/datas/controller/DataVerifyController.java

@@ -5,7 +5,6 @@ import com.bootdo.common.annotation.Log;
 import com.bootdo.common.utils.PageUtils;
 import com.bootdo.common.utils.Query;
 import com.bootdo.common.utils.R;
-import com.bootdo.datas.domain.DataDO;
 import com.bootdo.datas.domain.GyDataExcelDO;
 import com.bootdo.datas.dto.ExamineLogDTO;
 import com.bootdo.datas.dto.GyDataImportDTO;
@@ -27,7 +26,7 @@ import javax.servlet.http.HttpServletResponse;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.Map;
-import java.util.stream.Collectors;
+
 
 /**
  * 数据审核
@@ -292,4 +291,6 @@ public class DataVerifyController {
         return R.ok();
     }
 
+
+
 }

+ 3 - 0
src/main/java/com/bootdo/datas/service/GyDataService.java

@@ -1,5 +1,6 @@
 package com.bootdo.datas.service;
 
+import com.bootdo.data.domain.ExpertOpinionDO;
 import com.bootdo.datas.domain.GbDataExcelDO;
 import com.bootdo.datas.domain.GyDataExcelDO;
 import com.bootdo.datas.dto.GyDataImportDTO;
@@ -27,6 +28,8 @@ public interface GyDataService {
 
     void updateStatus(GyDataImportDTO data);
 
+    void addExpertOpinion(ExpertOpinionDO expertOpinionDO);
+
     int countTotal(Map<String, Object> map);
 
     int countExamineTotal(Map<String, Object> map);

+ 21 - 1
src/main/java/com/bootdo/datas/service/impl/GyDataServiceImpl.java

@@ -5,6 +5,7 @@ import com.bootdo.common.config.BootdoConfig;
 import com.bootdo.common.utils.FileUtil;
 import com.bootdo.common.utils.ShiroUtils;
 import com.bootdo.common.utils.StringUtils;
+import com.bootdo.data.domain.ExpertOpinionDO;
 import com.bootdo.datas.dao.GyDataDao;
 import com.bootdo.datas.dao.GyUnitDao;
 import com.bootdo.datas.domain.*;
@@ -419,6 +420,19 @@ public class GyDataServiceImpl implements GyDataService {
         }
     }
 
+    @Override
+    public void addExpertOpinion(ExpertOpinionDO expertOpinionDO){
+        GyDataImportDTO gyDataImportDTO = get(expertOpinionDO.getId());
+        RoleDO roleDO = roleService.get(gyDataImportDTO.getRoleId());
+        if (roleDO != null) {
+            ExamineLogDTO dto = new ExamineLogDTO();
+            dto.setUniqueKey(String.valueOf(expertOpinionDO.getId()));
+            dto.setDataType("DI_OPER");
+            dto.setMessage(roleDO.getRoleName() + "的专家意见为: " + expertOpinionDO.getOpinion());
+            examineLogService.save(dto);
+        }
+    }
+
     @Override
     public int countTotal(Map<String, Object> map) {
         UserDO currUser = ShiroUtils.getUser();
@@ -449,9 +463,15 @@ public class GyDataServiceImpl implements GyDataService {
         } else {
             log.info("工信部 管理员");
         }
-        if (currUser.getExamineRoleId() != null) {
+        if (!managerValue.contains(currUser.getDeptId().toString()) && currUser.getExamineRoleId() != null) {
             map.put("roleId", String.valueOf(currUser.getExamineRoleId()));
         }
+
+        if (map.containsKey("dataStatus") && StringUtils.isNotBlank(ObjectUtils.toString(map.get("dataStatus")))) {
+            map.put("dataStatusArrs", Lists.newArrayList(map.get("dataStatus")));
+        } else {
+            map.put("dataStatusArrs", Lists.newArrayList(2,3,4));
+        }
         return gyDataDao.countTotal(map);
     }
 

+ 0 - 184
src/main/resources/mybatis/activiti/SalaryMapper.xml

@@ -1,184 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-
-<mapper namespace="com.bootdo.activiti.dao.SalaryDao">
-
-	<select id="get" resultType="com.bootdo.activiti.domain.SalaryDO">
-		select `id`,`PROC_INS_ID`,`USER_ID`,`OFFICE_ID`,`POST`,`AGE`,`EDU`,`CONTENT`,`OLDA`,`OLDB`,`OLDC`,`NEWA`,`NEWB`,`NEWC`,`ADD_NUM`,`EXE_DATE`,`HR_TEXT`,`LEAD_TEXT`,`MAIN_LEAD_TEXT`,`create_by`,`create_date`,`update_by`,`update_date`,`remarks`,`del_flag` from salary where id = #{value}
-	</select>
-
-	<select id="list" resultType="com.bootdo.activiti.domain.SalaryDO">
-		select `id`,`PROC_INS_ID`,`USER_ID`,`OFFICE_ID`,`POST`,`AGE`,`EDU`,`CONTENT`,`OLDA`,`OLDB`,`OLDC`,`NEWA`,`NEWB`,`NEWC`,`ADD_NUM`,`EXE_DATE`,`HR_TEXT`,`LEAD_TEXT`,`MAIN_LEAD_TEXT`,`create_by`,`create_date`,`update_by`,`update_date`,`remarks`,`del_flag` from salary
-        <where>  
-		  		  <if test="id != null and id != ''"> and id = #{id} </if>
-		  		  <if test="procInsId != null and procInsId != ''"> and PROC_INS_ID = #{procInsId} </if>
-		  		  <if test="userId != null and userId != ''"> and USER_ID = #{userId} </if>
-		  		  <if test="officeId != null and officeId != ''"> and OFFICE_ID = #{officeId} </if>
-		  		  <if test="post != null and post != ''"> and POST = #{post} </if>
-		  		  <if test="age != null and age != ''"> and AGE = #{age} </if>
-		  		  <if test="edu != null and edu != ''"> and EDU = #{edu} </if>
-		  		  <if test="content != null and content != ''"> and CONTENT = #{content} </if>
-		  		  <if test="olda != null and olda != ''"> and OLDA = #{olda} </if>
-		  		  <if test="oldb != null and oldb != ''"> and OLDB = #{oldb} </if>
-		  		  <if test="oldc != null and oldc != ''"> and OLDC = #{oldc} </if>
-		  		  <if test="newa != null and newa != ''"> and NEWA = #{newa} </if>
-		  		  <if test="newb != null and newb != ''"> and NEWB = #{newb} </if>
-		  		  <if test="newc != null and newc != ''"> and NEWC = #{newc} </if>
-		  		  <if test="addNum != null and addNum != ''"> and ADD_NUM = #{addNum} </if>
-		  		  <if test="exeDate != null and exeDate != ''"> and EXE_DATE = #{exeDate} </if>
-		  		  <if test="hrText != null and hrText != ''"> and HR_TEXT = #{hrText} </if>
-		  		  <if test="leadText != null and leadText != ''"> and LEAD_TEXT = #{leadText} </if>
-		  		  <if test="mainLeadText != null and mainLeadText != ''"> and MAIN_LEAD_TEXT = #{mainLeadText} </if>
-		  		  <if test="createBy != null and createBy != ''"> and create_by = #{createBy} </if>
-		  		  <if test="createDate != null and createDate != ''"> and create_date = #{createDate} </if>
-		  		  <if test="updateBy != null and updateBy != ''"> and update_by = #{updateBy} </if>
-		  		  <if test="updateDate != null and updateDate != ''"> and update_date = #{updateDate} </if>
-		  		  <if test="remarks != null and remarks != ''"> and remarks = #{remarks} </if>
-		  		  <if test="delFlag != null and delFlag != ''"> and del_flag = #{delFlag} </if>
-		  		</where>
-        <choose>
-            <when test="sort != null and sort.trim() != ''">
-                order by ${sort} ${order}
-            </when>
-			<otherwise>
-                order by id desc
-			</otherwise>
-        </choose>
-		<if test="offset != null and limit != null">
-			limit #{offset}, #{limit}
-		</if>
-	</select>
-	
- 	<select id="count" resultType="int">
-		select count(*) from salary
-		 <where>  
-		  		  <if test="id != null and id != ''"> and id = #{id} </if>
-		  		  <if test="procInsId != null and procInsId != ''"> and PROC_INS_ID = #{procInsId} </if>
-		  		  <if test="userId != null and userId != ''"> and USER_ID = #{userId} </if>
-		  		  <if test="officeId != null and officeId != ''"> and OFFICE_ID = #{officeId} </if>
-		  		  <if test="post != null and post != ''"> and POST = #{post} </if>
-		  		  <if test="age != null and age != ''"> and AGE = #{age} </if>
-		  		  <if test="edu != null and edu != ''"> and EDU = #{edu} </if>
-		  		  <if test="content != null and content != ''"> and CONTENT = #{content} </if>
-		  		  <if test="olda != null and olda != ''"> and OLDA = #{olda} </if>
-		  		  <if test="oldb != null and oldb != ''"> and OLDB = #{oldb} </if>
-		  		  <if test="oldc != null and oldc != ''"> and OLDC = #{oldc} </if>
-		  		  <if test="newa != null and newa != ''"> and NEWA = #{newa} </if>
-		  		  <if test="newb != null and newb != ''"> and NEWB = #{newb} </if>
-		  		  <if test="newc != null and newc != ''"> and NEWC = #{newc} </if>
-		  		  <if test="addNum != null and addNum != ''"> and ADD_NUM = #{addNum} </if>
-		  		  <if test="exeDate != null and exeDate != ''"> and EXE_DATE = #{exeDate} </if>
-		  		  <if test="hrText != null and hrText != ''"> and HR_TEXT = #{hrText} </if>
-		  		  <if test="leadText != null and leadText != ''"> and LEAD_TEXT = #{leadText} </if>
-		  		  <if test="mainLeadText != null and mainLeadText != ''"> and MAIN_LEAD_TEXT = #{mainLeadText} </if>
-		  		  <if test="createBy != null and createBy != ''"> and create_by = #{createBy} </if>
-		  		  <if test="createDate != null and createDate != ''"> and create_date = #{createDate} </if>
-		  		  <if test="updateBy != null and updateBy != ''"> and update_by = #{updateBy} </if>
-		  		  <if test="updateDate != null and updateDate != ''"> and update_date = #{updateDate} </if>
-		  		  <if test="remarks != null and remarks != ''"> and remarks = #{remarks} </if>
-		  		  <if test="delFlag != null and delFlag != ''"> and del_flag = #{delFlag} </if>
-		  		</where>
-	</select>
-	 
-	<insert id="save" parameterType="com.bootdo.activiti.domain.SalaryDO">
-		insert into salary
-		(
-			`id`, 
-			`PROC_INS_ID`, 
-			`USER_ID`, 
-			`OFFICE_ID`, 
-			`POST`, 
-			`AGE`, 
-			`EDU`, 
-			`CONTENT`, 
-			`OLDA`, 
-			`OLDB`, 
-			`OLDC`, 
-			`NEWA`, 
-			`NEWB`, 
-			`NEWC`, 
-			`ADD_NUM`, 
-			`EXE_DATE`, 
-			`HR_TEXT`, 
-			`LEAD_TEXT`, 
-			`MAIN_LEAD_TEXT`, 
-			`create_by`, 
-			`create_date`, 
-			`update_by`, 
-			`update_date`, 
-			`remarks`, 
-			`del_flag`
-		)
-		values
-		(
-			#{id}, 
-			#{procInsId}, 
-			#{userId}, 
-			#{officeId}, 
-			#{post}, 
-			#{age}, 
-			#{edu}, 
-			#{content}, 
-			#{olda}, 
-			#{oldb}, 
-			#{oldc}, 
-			#{newa}, 
-			#{newb}, 
-			#{newc}, 
-			#{addNum}, 
-			#{exeDate}, 
-			#{hrText}, 
-			#{leadText}, 
-			#{mainLeadText}, 
-			#{createBy}, 
-			#{createDate}, 
-			#{updateBy}, 
-			#{updateDate}, 
-			#{remarks}, 
-			#{delFlag}
-		)
-	</insert>
-	 
-	<update id="update" parameterType="com.bootdo.activiti.domain.SalaryDO">
-		update salary 
-		<set>
-			<if test="procInsId != null">`PROC_INS_ID` = #{procInsId}, </if>
-			<if test="userId != null">`USER_ID` = #{userId}, </if>
-			<if test="officeId != null">`OFFICE_ID` = #{officeId}, </if>
-			<if test="post != null">`POST` = #{post}, </if>
-			<if test="age != null">`AGE` = #{age}, </if>
-			<if test="edu != null">`EDU` = #{edu}, </if>
-			<if test="content != null">`CONTENT` = #{content}, </if>
-			<if test="olda != null">`OLDA` = #{olda}, </if>
-			<if test="oldb != null">`OLDB` = #{oldb}, </if>
-			<if test="oldc != null">`OLDC` = #{oldc}, </if>
-			<if test="newa != null">`NEWA` = #{newa}, </if>
-			<if test="newb != null">`NEWB` = #{newb}, </if>
-			<if test="newc != null">`NEWC` = #{newc}, </if>
-			<if test="addNum != null">`ADD_NUM` = #{addNum}, </if>
-			<if test="exeDate != null">`EXE_DATE` = #{exeDate}, </if>
-			<if test="hrText != null">`HR_TEXT` = #{hrText}, </if>
-			<if test="leadText != null">`LEAD_TEXT` = #{leadText}, </if>
-			<if test="mainLeadText != null">`MAIN_LEAD_TEXT` = #{mainLeadText}, </if>
-			<if test="createBy != null">`create_by` = #{createBy}, </if>
-			<if test="createDate != null">`create_date` = #{createDate}, </if>
-			<if test="updateBy != null">`update_by` = #{updateBy}, </if>
-			<if test="updateDate != null">`update_date` = #{updateDate}, </if>
-			<if test="remarks != null">`remarks` = #{remarks}, </if>
-			<if test="delFlag != null">`del_flag` = #{delFlag}</if>
-		</set>
-		where id = #{id}
-	</update>
-	
-	<delete id="remove">
-		delete from salary where id = #{value}
-	</delete>
-	
-	<delete id="batchRemove">
-		delete from salary where id in 
-		<foreach item="id" collection="array" open="(" separator="," close=")">
-			#{id}
-		</foreach>
-	</delete>
-
-</mapper>

+ 8 - 3
src/main/resources/mybatis/datas/GyDataMapper.xml

@@ -249,7 +249,7 @@
                 order by ${sort} ${order}
             </when>
             <otherwise>
-                order by ID desc
+                order by if(DATA_STATUS=3,5,DATA_STATUS) asc, ID desc
             </otherwise>
         </choose>
         <if test="offset != null and limit != null">
@@ -276,7 +276,6 @@
         <where>
             a.CREDIT_CODE = b.GY_NUIT_ID
             AND b.DELETE_STATUS = '0'
-            AND b.DATA_STATUS != '4'
             AND a.STATUS = '0'
             <if test="industryTypeOne != null and industryTypeOne != ''">and a.INDUSTRY_TYPE_ONE like CONCAT('%',#{industryTypeOne},'%')</if>
             <if test="dataName != null and dataName != ''">and b.DATA_NAME like CONCAT('%',#{dataName},'%')</if>
@@ -301,7 +300,13 @@
                     and b.role_id = #{roleId}
                 </when>
             </choose>
-            <if test="dataStatus != null and dataStatus != ''">and b.DATA_STATUS = #{dataStatus}</if>
+
+            <if test="dataStatusArrs != null and dataStatusArrs.size > 0">and b.DATA_STATUS in
+                <foreach item="id" collection="dataStatusArrs" open="(" separator="," close=")">
+                    #{id}
+                </foreach>
+            </if>
+
             <if test="sendVerify != null and sendVerify != ''">
                 and b.SEND_VERIFY = #{sendVerify}
                 <!--                <if test="sendVerify == 0">-->

+ 0 - 48
src/main/resources/static/js/appjs/act/SalaryAdjustment/form.js

@@ -1,48 +0,0 @@
-$().ready(function() {
-	validateRule();
-});
-
-$.validator.setDefaults({
-	submitHandler : function() {
-		save();
-	}
-});
-function save() {
-	var procDefId = $("#procDefId").val();
-	$.ajax({
-		cache : true,
-		type : "POST",
-		url :"/act/salary/start/"+procDefId,
-		data : $('#signupForm').serialize(),
-		async : false,
-		error : function(request) {
-			laryer.alert("Connection error");
-		},
-		success : function(data) {
-			if (data.code == 0) {
-				parent.layer.msg("保存成功");
-				parent.reLoad();
-				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
-				parent.layer.close(index);
-
-			} else {
-				parent.layer.alert(data.msg)
-			}
-		}
-	});
-}
-function validateRule() {
-	var icon = "<i class='fa fa-times-circle'></i> ";
-	$("#signupForm").validate({
-		rules : {
-			name : {
-				required : true
-			}
-		},
-		messages : {
-			name : {
-				required : icon + "请输入姓名"
-			}
-		}
-	})
-}

+ 0 - 122
src/main/resources/static/js/appjs/act/model/add.js

@@ -1,122 +0,0 @@
-$().ready(function() {
-	validateRule();
-});
-
-$.validator.setDefaults({
-	submitHandler : function() {
-		save();
-	}
-});
-function getCheckedRoles() {
-	var adIds = "";
-	$("input:checkbox[name=role]:checked").each(function(i) {
-		if (0 == i) {
-			adIds = $(this).val();
-		} else {
-			adIds += ("," + $(this).val());
-		}
-	});
-	return adIds;
-}
-function save() {
-	$("#roleIds").val(getCheckedRoles());
-	$.ajax({
-		cache : true,
-		type : "POST",
-		url : "/sys/user/save",
-		data : $('#signupForm').serialize(),// 你的formid
-		async : false,
-		error : function(request) {
-			parent.layer.alert("Connection error");
-		},
-		success : function(data) {
-			if (data.code == 0) {
-				parent.layer.msg("操作成功");
-				parent.reLoad();
-				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
-				parent.layer.close(index);
-
-			} else {
-				parent.layer.alert(data.msg)
-			}
-
-		}
-	});
-
-}
-function validateRule() {
-	var icon = "<i class='fa fa-times-circle'></i> ";
-	$("#signupForm").validate({
-		rules : {
-			name : {
-				required : true
-			},
-			username : {
-				required : true,
-				minlength : 2,
-				remote : {
-					url : "/sys/user/exit", // 后台处理程序
-					type : "post", // 数据发送方式
-					dataType : "json", // 接受数据格式
-					data : { // 要传递的数据
-						username : function() {
-							return $("#username").val();
-						}
-					}
-				}
-			},
-			password : {
-				required : true,
-				minlength : 6
-			},
-			confirm_password : {
-				required : true,
-				minlength : 6,
-				equalTo : "#password"
-			},
-			email : {
-				required : true,
-				email : true
-			},
-			topic : {
-				required : "#newsletter:checked",
-				minlength : 2
-			},
-			agree : "required"
-		},
-		messages : {
-
-			name : {
-				required : icon + "请输入姓名"
-			},
-			username : {
-				required : icon + "请输入您的用户名",
-				minlength : icon + "用户名必须两个字符以上",
-				remote : icon + "用户名已经存在"
-			},
-			password : {
-				required : icon + "请输入您的密码",
-				minlength : icon + "密码必须6个字符以上"
-			},
-			confirm_password : {
-				required : icon + "请再次输入密码",
-				minlength : icon + "密码必须6个字符以上",
-				equalTo : icon + "两次输入的密码不一致"
-			},
-			email : icon + "请输入您的E-mail",
-		}
-	})
-}
-
-var openDept = function(){
-	layer.open({
-		type:2,
-		title:"选择部门",
-		area : [ '300px', '450px' ],
-		content:"/system/sysDept/treeView"
-	})
-}
-function loadDept( deptId,deptName){
-	$("#deptId").val(deptId);
-	$("#deptName").val(deptName);
-}

+ 0 - 125
src/main/resources/static/js/appjs/act/model/edit.js

@@ -1,125 +0,0 @@
-// 以下为官方示例
-$().ready(function() {
-	validateRule();
-	// $("#signupForm").validate();
-});
-
-$.validator.setDefaults({
-	submitHandler : function() {
-		update();
-	}
-});
-function update() {
-	$("#roleIds").val(getCheckedRoles());
-	$.ajax({
-		cache : true,
-		type : "POST",
-		url : "/sys/user/update",
-		data : $('#signupForm').serialize(),// 你的formid
-		async : false,
-		error : function(request) {
-			alert("Connection error");
-		},
-		success : function(data) {
-			if (data.code == 0) {
-				parent.layer.msg(data.msg);
-				parent.reLoad();
-				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
-				parent.layer.close(index);
-
-			} else {
-				parent.layer.msg(data.msg);
-			}
-
-		}
-	});
-
-}
-function getCheckedRoles() {
-	var adIds = "";
-	$("input:checkbox[name=role]:checked").each(function(i) {
-		if (0 == i) {
-			adIds = $(this).val();
-		} else {
-			adIds += ("," + $(this).val());
-		}
-	});
-	return adIds;
-}
-function setCheckedRoles() {
-	var roleIds = $("#roleIds").val();
-	alert(roleIds);
-	var adIds = "";
-	$("input:checkbox[name=role]:checked").each(function(i) {
-		if (0 == i) {
-			adIds = $(this).val();
-		} else {
-			adIds += ("," + $(this).val());
-		}
-	});
-	return adIds;
-}
-function validateRule() {
-	var icon = "<i class='fa fa-times-circle'></i> ";
-	$("#signupForm").validate({
-		rules : {
-			name : {
-				required : true
-			},
-			username : {
-				required : true,
-				minlength : 2
-			},
-			password : {
-				required : true,
-				minlength : 6
-			},
-			confirm_password : {
-				required : true,
-				minlength : 6,
-				equalTo : "#password"
-			},
-			email : {
-				required : true,
-				email : true
-			},
-			topic : {
-				required : "#newsletter:checked",
-				minlength : 2
-			},
-			agree : "required"
-		},
-		messages : {
-
-			name : {
-				required : icon + "请输入姓名"
-			},
-			username : {
-				required : icon + "请输入您的用户名",
-				minlength : icon + "用户名必须两个字符以上"
-			},
-			password : {
-				required : icon + "请输入您的密码",
-				minlength : icon + "密码必须6个字符以上"
-			},
-			confirm_password : {
-				required : icon + "请再次输入密码",
-				minlength : icon + "密码必须6个字符以上",
-				equalTo : icon + "两次输入的密码不一致"
-			},
-			email : icon + "请输入您的E-mail",
-		}
-	})
-}
-var openDept = function(){
-	layer.open({
-		type:2,
-		title:"选择部门",
-		area : [ '300px', '450px' ],
-		content:"/system/sysDept/treeView"
-	})
-}
-function loadDept( deptId,deptName){
-	$("#deptId").val(deptId);
-	$("#deptName").val(deptName);
-}

+ 0 - 207
src/main/resources/static/js/appjs/act/model/model.js

@@ -1,207 +0,0 @@
-var prefix = "/activiti/model"
-$(function() {
-	load();
-});
-
-function load() {
-	$('#exampleTable')
-		.bootstrapTable(
-			{
-				method : 'get', // 服务器数据的请求方式 get or post
-				url : prefix + "/list", // 服务器数据的加载地址
-				// showRefresh : true,
-				// showToggle : true,
-				// showColumns : true,
-				iconSize : 'outline',
-				toolbar : '#exampleToolbar',
-				striped : true, // 设置为true会有隔行变色效果
-				dataType : "json", // 服务器返回的数据类型
-				pagination : true, // 设置为true会在底部显示分页条
-				// queryParamsType : "limit",
-				// //设置为limit则会发送符合RESTFull格式的参数
-				singleSelect : false, // 设置为true将禁止多选
-				// contentType : "application/x-www-form-urlencoded",
-				// //发送到服务器的数据编码类型
-				pageSize : 10, // 如果设置了分页,每页数据条数
-				pageNumber : 1, // 如果设置了分布,首页页码
-				// search : true, // 是否显示搜索框
-				showColumns : false, // 是否显示内容下拉框(选择显示的列)
-				sidePagination : "server", // 设置在哪里进行分页,可选值为"client" 或者
-				// "server"
-				queryParams : function(params) {
-					return {
-						// 说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对
-						limit : params.limit,
-						offset : params.offset,
-						name : $('#searchName').val(),
-					};
-				},
-				// //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果
-				// queryParamsType = 'limit' ,返回参数必须包含
-				// limit, offset, search, sort, order 否则, 需要包含:
-				// pageSize, pageNumber, searchText, sortName,
-				// sortOrder.
-				// 返回false将会终止请求
-				columns : [
-					{
-						checkbox : true
-					},
-					{
-						field : 'id', // 列字段名
-						title : '模型id' // 列标题
-					},
-                    {
-                        field : 'key', // 列字段名
-                        title : '模型标识' // 列标题
-                    },
-					{
-						field : 'name',
-						title : '模型名称'
-					},
-					{
-						field : 'version',
-						title : '版本号'
-					},
-                    {
-                        field : 'createTime',
-                        title : '创建时间'
-                    },
-                    {
-                        field : 'lastUpdateTime',
-                        title : '最后更新时间'
-                    },
-					{
-						field:'is',
-						title:'导出xml',
-						visible:false,
-						formatter:function(value, row, index){
-							return '<a href="/activiti/model/export/'+row.id+'" target="_blank">xml</a>';
-						}
-					},
-					{
-						title : '操作',
-						field : 'id',
-						align : 'center',
-						formatter : function(value, row, index) {
-							var e = '<a  class="btn btn-primary btn-sm ' + s_edit_h + '" href="#" mce_href="#" title="编辑" onclick="edit(\''
-								+ row.id
-                                + '\')"><i class="fa fa-edit "></i></a> ';
-                            var d = '<a class="btn btn-warning btn-sm ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
-                                + row.id
-                                + '\')"><i class="fa fa-remove"></i></a> ';
-                            var f = '<a class="btn btn-success btn-sm ' + s_resetPwd_h + '" href="#" title="部署流程"  mce_href="#" onclick="deploy(\''
-                                + row.id
-                                + '\')"><i class="fa fa-plug"></i></a> ';
-                            return e + d + f;
-                        }
-                    }]
-            })
-        /*table resize*/
-        .colResizable({
-            liveDrag: true,
-            gripInnerHtml: "<div class='grip'></div>",
-            draggingClass: "dragging",
-            resizeMode: 'fit'
-        });
-}
-function reLoad() {
-	$('#exampleTable').bootstrapTable('refresh');
-}
-function add() {
-    var page = layer.open({
-		type : 2,
-		title : '新建模型',
-		maxmin : true,
-		shadeClose : false, // 点击遮罩关闭层
-		area : [ '100%', '100%' ],
-		content : prefix + '/add',
-        closeBtn: 0, //不显示关闭按钮
-	});
-}
-function remove(id) {
-	layer.confirm('确定要删除选中的记录?', {
-		btn : [ '确定', '取消' ]
-	}, function() {
-		$.ajax({
-			url : prefix+"/"+id,
-			type : "delete",
-			data : {
-				'id' : id
-			},
-			success : function(r) {
-				if (r.code == 0) {
-					layer.msg(r.msg);
-					reLoad();
-				} else {
-					layer.msg(r.msg);
-				}
-			}
-		});
-	})
-}
-function edit(id) {
-	var page = layer.open({
-		type : 2,
-		title : '修改模型',
-		maxmin : true,
-		shadeClose : false,
-		area : [ '800px', '520px' ],
-		content : prefix + '/edit/' + id
-	});
-	layer.full(page);
-}
-
-function deploy(id) {
-    layer.confirm('确定要部署选中的模型吗?', {
-        btn : [ '确定', '取消' ]
-    }, function() {
-        $.ajax({
-            url : prefix+"/deploy/"+id,
-            type : "post",
-            data : {
-                'id' : id
-            },
-            success : function(r) {
-                if (r.code == 0) {
-                    layer.msg(r.msg);
-                    reLoad();
-                } else {
-                    layer.msg(r.msg);
-                }
-            }
-        });
-    })
-}
-
-function batchRemove() {
-	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行,当没有选择的记录时,返回一个空数组
-	if (rows.length == 0) {
-		layer.msg("请选择要删除的数据");
-		return;
-	}
-	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
-		btn : [ '确定', '取消' ]
-	// 按钮
-	}, function() {
-		var ids = new Array();
-		// 遍历所有选择的行数据,取每条数据对应的ID
-		$.each(rows, function(i, row) {
-			ids[i] = row['id'];
-		});
-		$.ajax({
-			type : 'POST',
-			data : {
-				"ids" : ids
-			},
-			url : prefix + '/batchRemove',
-			success : function(r) {
-				if (r.code == 0) {
-					layer.msg(r.msg);
-					reLoad();
-				} else {
-					layer.msg(r.msg);
-				}
-			}
-		});
-	}, function() {});
-}

+ 0 - 114
src/main/resources/static/js/appjs/act/process/add.js

@@ -1,114 +0,0 @@
-$().ready(function() {
-	validateRule();
-});
-
-$.validator.setDefaults({
-	submitHandler : function() {
-		save();
-	}
-});
-
-function save() {
-    var formData = new FormData($("#signupForm")[0]);
-    $.ajax({
-		type : "POST",
-		url : "/activiti/process/save",
-        data: formData,
-        async: false,
-        cache: false,
-        contentType: false,
-        processData: false,
-		error : function(request) {
-			parent.layer.alert("Connection error");
-		},
-		success : function(data) {
-			if (data.code == 0) {
-				parent.layer.msg("操作成功");
-				parent.reLoad();
-				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
-				parent.layer.close(index);
-
-			} else {
-				parent.layer.alert("操作失败")
-			}
-
-		}
-	});
-
-}
-function validateRule() {
-	var icon = "<i class='fa fa-times-circle'></i> ";
-	$("#signupForm").validate({
-		rules : {
-			name : {
-				required : true
-			},
-			username : {
-				required : true,
-				minlength : 2,
-				remote : {
-					url : "/sys/user/exit", // 后台处理程序
-					type : "post", // 数据发送方式
-					dataType : "json", // 接受数据格式
-					data : { // 要传递的数据
-						username : function() {
-							return $("#username").val();
-						}
-					}
-				}
-			},
-			password : {
-				required : true,
-				minlength : 6
-			},
-			confirm_password : {
-				required : true,
-				minlength : 6,
-				equalTo : "#password"
-			},
-			email : {
-				required : true,
-				email : true
-			},
-			topic : {
-				required : "#newsletter:checked",
-				minlength : 2
-			},
-			agree : "required"
-		},
-		messages : {
-
-			name : {
-				required : icon + "请输入姓名"
-			},
-			username : {
-				required : icon + "请输入您的用户名",
-				minlength : icon + "用户名必须两个字符以上",
-				remote : icon + "用户名已经存在"
-			},
-			password : {
-				required : icon + "请输入您的密码",
-				minlength : icon + "密码必须6个字符以上"
-			},
-			confirm_password : {
-				required : icon + "请再次输入密码",
-				minlength : icon + "密码必须6个字符以上",
-				equalTo : icon + "两次输入的密码不一致"
-			},
-			email : icon + "请输入您的E-mail",
-		}
-	})
-}
-
-var openDept = function(){
-	layer.open({
-		type:2,
-		title:"选择部门",
-		area : [ '300px', '450px' ],
-		content:"/system/sysDept/treeView"
-	})
-}
-function loadDept( deptId,deptName){
-	$("#deptId").val(deptId);
-	$("#deptName").val(deptName);
-}

+ 0 - 125
src/main/resources/static/js/appjs/act/process/edit.js

@@ -1,125 +0,0 @@
-// 以下为官方示例
-$().ready(function() {
-	validateRule();
-	// $("#signupForm").validate();
-});
-
-$.validator.setDefaults({
-	submitHandler : function() {
-		update();
-	}
-});
-function update() {
-	$("#roleIds").val(getCheckedRoles());
-	$.ajax({
-		cache : true,
-		type : "POST",
-		url : "/sys/user/update",
-		data : $('#signupForm').serialize(),// 你的formid
-		async : false,
-		error : function(request) {
-			alert("Connection error");
-		},
-		success : function(data) {
-			if (data.code == 0) {
-				parent.layer.msg(data.msg);
-				parent.reLoad();
-				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
-				parent.layer.close(index);
-
-			} else {
-				parent.layer.msg(data.msg);
-			}
-
-		}
-	});
-
-}
-function getCheckedRoles() {
-	var adIds = "";
-	$("input:checkbox[name=role]:checked").each(function(i) {
-		if (0 == i) {
-			adIds = $(this).val();
-		} else {
-			adIds += ("," + $(this).val());
-		}
-	});
-	return adIds;
-}
-function setCheckedRoles() {
-	var roleIds = $("#roleIds").val();
-	alert(roleIds);
-	var adIds = "";
-	$("input:checkbox[name=role]:checked").each(function(i) {
-		if (0 == i) {
-			adIds = $(this).val();
-		} else {
-			adIds += ("," + $(this).val());
-		}
-	});
-	return adIds;
-}
-function validateRule() {
-	var icon = "<i class='fa fa-times-circle'></i> ";
-	$("#signupForm").validate({
-		rules : {
-			name : {
-				required : true
-			},
-			username : {
-				required : true,
-				minlength : 2
-			},
-			password : {
-				required : true,
-				minlength : 6
-			},
-			confirm_password : {
-				required : true,
-				minlength : 6,
-				equalTo : "#password"
-			},
-			email : {
-				required : true,
-				email : true
-			},
-			topic : {
-				required : "#newsletter:checked",
-				minlength : 2
-			},
-			agree : "required"
-		},
-		messages : {
-
-			name : {
-				required : icon + "请输入姓名"
-			},
-			username : {
-				required : icon + "请输入您的用户名",
-				minlength : icon + "用户名必须两个字符以上"
-			},
-			password : {
-				required : icon + "请输入您的密码",
-				minlength : icon + "密码必须6个字符以上"
-			},
-			confirm_password : {
-				required : icon + "请再次输入密码",
-				minlength : icon + "密码必须6个字符以上",
-				equalTo : icon + "两次输入的密码不一致"
-			},
-			email : icon + "请输入您的E-mail",
-		}
-	})
-}
-var openDept = function(){
-	layer.open({
-		type:2,
-		title:"选择部门",
-		area : [ '300px', '450px' ],
-		content:"/system/sysDept/treeView"
-	})
-}
-function loadDept( deptId,deptName){
-	$("#deptId").val(deptId);
-	$("#deptName").val(deptName);
-}

+ 0 - 231
src/main/resources/static/js/appjs/act/process/process.js

@@ -1,231 +0,0 @@
-var prefix = "/activiti/process"
-$(function() {
-	load();
-});
-
-function load() {
-	$('#exampleTable')
-		.bootstrapTable(
-			{
-				method : 'get', // 服务器数据的请求方式 get or post
-				url : prefix + "/list", // 服务器数据的加载地址
-				// showRefresh : true,
-				// showToggle : true,
-				// showColumns : true,
-				iconSize : 'outline',
-				toolbar : '#exampleToolbar',
-				striped : true, // 设置为true会有隔行变色效果
-				dataType : "json", // 服务器返回的数据类型
-				pagination : true, // 设置为true会在底部显示分页条
-				// queryParamsType : "limit",
-				// //设置为limit则会发送符合RESTFull格式的参数
-				singleSelect : false, // 设置为true将禁止多选
-				// contentType : "application/x-www-form-urlencoded",
-				// //发送到服务器的数据编码类型
-				pageSize : 10, // 如果设置了分页,每页数据条数
-				pageNumber : 1, // 如果设置了分布,首页页码
-				// search : true, // 是否显示搜索框
-				showColumns : false, // 是否显示内容下拉框(选择显示的列)
-				sidePagination : "server", // 设置在哪里进行分页,可选值为"client" 或者
-				// "server"
-				queryParams : function(params) {
-					return {
-						// 说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对
-						limit : params.limit,
-						offset : params.offset,
-						name : $('#searchName').val(),
-					};
-				},
-				// //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果
-				// queryParamsType = 'limit' ,返回参数必须包含
-				// limit, offset, search, sort, order 否则, 需要包含:
-				// pageSize, pageNumber, searchText, sortName,
-				// sortOrder.
-				// 返回false将会终止请求
-				columns : [
-					{
-						checkbox : true
-					},
-                    {
-                        field : 'id', // 列字段名
-                        title : '编号' // 列标题
-                    },
-                    {
-                        field : 'deploymentId', // 列字段名
-                        title : '部署编号' // 列标题
-                    },
-
-                    {
-                        field : 'name',
-                        title : '流程名称'
-                    },
-
-                    {
-                        field : 'id',
-                        title : '流程XML',
-						formatter:function (value,row,index) {
-                            var e = '<a   href="/activiti/process/resource/read/xml/'+row.id+'"  title="xml" target="_blank">xml</a> ';
-                            return e;
-                        }
-                    },
-                    {
-                        field : 'id',
-                        title : '流程XML',
-                        formatter:function (value,row,index) {
-                            var e = '<a   href="/activiti/process/resource/read/image/'+row.id+'"  title="图片" target="_blank">图片</a> ';
-                            return e;
-                        }
-                    },
-					{
-						title : '操作',
-						field : 'id',
-						align : 'center',
-						formatter : function(value, row, index) {
-							var e = '<a  class="btn btn-primary btn-sm ' + s_edit_h + '" href="#" mce_href="#" title="编辑" onclick="edit(\''
-								+ row.id
-								+ '\')"><i class="fa fa-edit "></i></a> ';
-							var d = '<a class="btn btn-warning btn-sm ' + s_remove_h + '" href="#" title="删除"  mce_href="#" onclick="remove(\''
-								+ row.deploymentId
-								+ '\')"><i class="fa fa-remove"></i></a> ';
-							var f = '<a class="btn btn-success btn-sm ' + s_resetPwd_h + '" href="#" title="转为模型"  mce_href="#" onclick="covertToModel(\''
-								+ row.id
-								+ '\')"><i class="fa fa-cube"></i></a> ';
-							return d + f;
-						}
-					} ]
-			});
-}
-function reLoad() {
-	$('#exampleTable').bootstrapTable('refresh');
-}
-function add() {
-	// iframe层
-	var page = layer.open({
-		type : 2,
-		title : '新建模型',
-		maxmin : true,
-		shadeClose : false, // 点击遮罩关闭层
-		area : [ '800px', '520px' ],
-		content : prefix + '/add'
-	});
-    layer.full(page);
-}
-function remove(id) {
-	layer.confirm('确定要删除选中的记录?', {
-		btn : [ '确定', '取消' ]
-	}, function() {
-		$.ajax({
-			url : prefix+"/remove",
-			type : "post",
-			data : {
-				'id' : id
-			},
-			success : function(r) {
-				if (r.code == 0) {
-					layer.msg(r.msg);
-					reLoad();
-				} else {
-					layer.msg(r.msg);
-				}
-			}
-		});
-	})
-}
-function edit(id) {
-	var page = layer.open({
-		type : 2,
-		title : '修改模型',
-		maxmin : true,
-		shadeClose : false,
-		area : [ '100%', '100%' ],
-		content : prefix + '/edit/' + id
-	});
-}
-
-function covertToModel(id) {
-    layer.confirm('确定要把流程转转换成流程吗吗?', {
-        btn : [ '确定', '取消' ]
-    }, function() {
-        $.ajax({
-            url : prefix+"/convertToModel/"+id,
-            type : "get",
-            success : function(r) {
-                if (r.code == 0) {
-                    layer.msg(r.msg);
-                    reLoad();
-                } else {
-                    layer.msg(r.msg);
-                }
-            }
-        });
-    })
-}
-
-function batchRemove() {
-	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行,当没有选择的记录时,返回一个空数组
-	if (rows.length == 0) {
-		layer.msg("请选择要删除的数据");
-		return;
-	}
-	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
-		btn : [ '确定', '取消' ]
-	// 按钮
-	}, function() {
-		var ids = new Array();
-		// 遍历所有选择的行数据,取每条数据对应的ID
-		$.each(rows, function(i, row) {
-			ids[i] = row['id'];
-		});
-		$.ajax({
-			type : 'POST',
-			data : {
-				"ids" : ids
-			},
-			url : prefix + '/batchRemove',
-			success : function(r) {
-				if (r.code == 0) {
-					layer.msg(r.msg);
-					reLoad();
-				} else {
-					layer.msg(r.msg);
-				}
-			}
-		});
-	}, function() {});
-}
-function getTreeData() {
-	$.ajax({
-		type : "GET",
-		url : "/system/sysDept/tree",
-		success : function(tree) {
-			loadTree(tree);
-		}
-	});
-}
-function loadTree(tree) {
-	$('#jstree').jstree({
-		'core' : {
-			'data' : tree
-		},
-		"plugins" : [ "search" ]
-	});
-	$('#jstree').jstree().open_all();
-}
-$('#jstree').on("changed.jstree", function(e, data) {
-	if (data.selected == -1) {
-		var opt = {
-			query : {
-				deptId : '',
-			}
-		}
-		$('#exampleTable').bootstrapTable('refresh', opt);
-	} else {
-		var opt = {
-			query : {
-				deptId : data.selected[0],
-			}
-		}
-		$('#exampleTable').bootstrapTable('refresh',opt);
-	}
-
-});

+ 0 - 67
src/main/resources/static/js/appjs/act/salary/add.js

@@ -1,67 +0,0 @@
-$().ready(function () {
-    validateRule();
-
-});
-
-$.validator.setDefaults({
-    submitHandler: function () {
-        save();
-    }
-});
-
-$("#userName").click(function () {
-    layer.open({
-        type: 2,
-        title: '选择人员',
-        area: ['300px', '450px'],
-        content: "/sys/user/treeView"
-    })
-});
-
-function loadUser(id,name){
-    console.log(id+name);
-    $("#userId").val(id);
-    $("#userName").val(name);
-}
-
-function save() {
-    $.ajax({
-        cache: true,
-        type: "POST",
-        url: "/act/salary/save",
-        data: $('#signupForm').serialize(),// 你的formid
-        async: false,
-        error: function (request) {
-            parent.layer.alert("Connection error");
-        },
-        success: function (data) {
-            if (data.code == 0) {
-                parent.layer.msg("操作成功");
-                parent.reLoad();
-                var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
-                parent.layer.close(index);
-
-            } else {
-                parent.layer.alert(data.msg)
-            }
-
-        }
-    });
-
-}
-
-function validateRule() {
-    var icon = "<i class='fa fa-times-circle'></i> ";
-    $("#signupForm").validate({
-        rules: {
-            name: {
-                required: true
-            }
-        },
-        messages: {
-            name: {
-                required: icon + ""
-            }
-        }
-    })
-}

+ 0 - 49
src/main/resources/static/js/appjs/act/salary/edit.js

@@ -1,49 +0,0 @@
-$().ready(function() {
-	validateRule();
-});
-
-$.validator.setDefaults({
-	submitHandler : function() {
-		update();
-	}
-});
-function update() {
-	$.ajax({
-		cache : true,
-		type : "POST",
-		url : "/act/salary/update",
-		data : $('#signupForm').serialize(),// 你的formid
-		async : false,
-		error : function(request) {
-			parent.layer.alert("Connection error");
-		},
-		success : function(data) {
-			if (data.code == 0) {
-				parent.layer.msg("操作成功");
-				parent.reLoad();
-				var index = parent.layer.getFrameIndex(window.name); // 获取窗口索引
-				parent.layer.close(index);
-
-			} else {
-				parent.layer.alert(data.msg)
-			}
-
-		}
-	});
-
-}
-function validateRule() {
-	var icon = "<i class='fa fa-times-circle'></i> ";
-	$("#signupForm").validate({
-		rules : {
-			name : {
-				required : true
-			}
-		},
-		messages : {
-			name : {
-				required : icon + "请输入名字"
-			}
-		}
-	})
-}

+ 0 - 249
src/main/resources/static/js/appjs/act/salary/salary.js

@@ -1,249 +0,0 @@
-
-var prefix = "/activiti/salary"
-$(function() {
-	load();
-});
-
-function load() {
-	$('#exampleTable')
-			.bootstrapTable(
-					{
-						method : 'get', // 服务器数据的请求方式 get or post
-						url : prefix + "/list", // 服务器数据的加载地址
-					//	showRefresh : true,
-					//	showToggle : true,
-					//	showColumns : true,
-						iconSize : 'outline',
-						toolbar : '#exampleToolbar',
-						striped : true, // 设置为true会有隔行变色效果
-						dataType : "json", // 服务器返回的数据类型
-						pagination : true, // 设置为true会在底部显示分页条
-						// queryParamsType : "limit",
-						// //设置为limit则会发送符合RESTFull格式的参数
-						singleSelect : false, // 设置为true将禁止多选
-						// contentType : "application/x-www-form-urlencoded",
-						// //发送到服务器的数据编码类型
-						pageSize : 10, // 如果设置了分页,每页数据条数
-						pageNumber : 1, // 如果设置了分布,首页页码
-						//search : true, // 是否显示搜索框
-						showColumns : false, // 是否显示内容下拉框(选择显示的列)
-						sidePagination : "server", // 设置在哪里进行分页,可选值为"client" 或者 "server"
-						queryParams : function(params) {
-							return {
-								//说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对
-								limit: params.limit,
-								offset:params.offset
-					           // name:$('#searchName').val(),
-					           // username:$('#searchName').val()
-							};
-						},
-						// //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果
-						// queryParamsType = 'limit' ,返回参数必须包含
-						// limit, offset, search, sort, order 否则, 需要包含:
-						// pageSize, pageNumber, searchText, sortName,
-						// sortOrder.
-						// 返回false将会终止请求
-						columns : [
-								{
-									checkbox : true
-								},
-																{
-									field : 'id', 
-									title : '编号' 
-								},
-																{
-									field : 'procInsId', 
-									title : '流程实例ID' 
-								},
-																{
-									field : 'userId', 
-									title : '变动用户' 
-								},
-																{
-									field : 'officeId', 
-									title : '归属部门' 
-								},
-																{
-									field : 'post', 
-									title : '岗位' 
-								},
-																{
-									field : 'age', 
-									title : '性别' 
-								},
-																{
-									field : 'edu', 
-									title : '学历' 
-								},
-																{
-									field : 'content', 
-									title : '调整原因' 
-								},
-																{
-									field : 'olda', 
-									title : '现行标准 薪酬档级' 
-								},
-																{
-									field : 'oldb', 
-									title : '现行标准 月工资额' 
-								},
-																{
-									field : 'oldc', 
-									title : '现行标准 年薪总额' 
-								},
-																{
-									field : 'newa', 
-									title : '调整后标准 薪酬档级' 
-								},
-																{
-									field : 'newb', 
-									title : '调整后标准 月工资额' 
-								},
-																{
-									field : 'newc', 
-									title : '调整后标准 年薪总额' 
-								},
-																{
-									field : 'addNum', 
-									title : '月增资' 
-								},
-																{
-									field : 'exeDate', 
-									title : '执行时间' 
-								},
-																{
-									field : 'hrText', 
-									title : '人力资源部门意见' 
-								},
-																{
-									field : 'leadText', 
-									title : '分管领导意见' 
-								},
-																{
-									field : 'mainLeadText', 
-									title : '集团主要领导意见' 
-								},
-																{
-									field : 'createBy', 
-									title : '创建者' 
-								},
-																{
-									field : 'createDate', 
-									title : '创建时间' 
-								},
-																{
-									field : 'updateBy', 
-									title : '更新者' 
-								},
-																{
-									field : 'updateDate', 
-									title : '更新时间' 
-								},
-																{
-									field : 'remarks', 
-									title : '备注信息' 
-								},
-																{
-									field : 'delFlag', 
-									title : '删除标记' 
-								},
-																{
-									title : '操作',
-									field : 'id',
-									align : 'center',
-									formatter : function(value, row, index) {
-										var e = '<a class="btn btn-primary btn-sm '+s_edit_h+'" href="#" mce_href="#" title="编辑" onclick="edit(\''
-												+ row.id
-												+ '\')"><i class="fa fa-edit"></i></a> ';
-										var d = '<a class="btn btn-warning btn-sm '+s_remove_h+'" href="#" title="删除"  mce_href="#" onclick="remove(\''
-												+ row.id
-												+ '\')"><i class="fa fa-remove"></i></a> ';
-										var f = '<a class="btn btn-success btn-sm" href="#" title="备用"  mce_href="#" onclick="resetPwd(\''
-												+ row.id
-												+ '\')"><i class="fa fa-key"></i></a> ';
-										return e + d ;
-									}
-								} ]
-					});
-}
-function reLoad() {
-	$('#exampleTable').bootstrapTable('refresh');
-}
-function add() {
-	layer.open({
-		type : 2,
-		title : '增加',
-		maxmin : true,
-		shadeClose : false, // 点击遮罩关闭层
-		area : [ '800px', '520px' ],
-		content : prefix + '/add' // iframe的url
-	});
-}
-function edit(id) {
-	layer.open({
-		type : 2,
-		title : '编辑',
-		maxmin : true,
-		shadeClose : false, // 点击遮罩关闭层
-		area : [ '800px', '520px' ],
-		content : prefix + '/edit/' + id // iframe的url
-	});
-}
-function remove(id) {
-	layer.confirm('确定要删除选中的记录?', {
-		btn : [ '确定', '取消' ]
-	}, function() {
-		$.ajax({
-			url : prefix+"/remove",
-			type : "post",
-			data : {
-				'id' : id
-			},
-			success : function(r) {
-				if (r.code==0) {
-					layer.msg(r.msg);
-					reLoad();
-				}else{
-					layer.msg(r.msg);
-				}
-			}
-		});
-	})
-}
-
-function resetPwd(id) {
-}
-function batchRemove() {
-	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行,当没有选择的记录时,返回一个空数组
-	if (rows.length == 0) {
-		layer.msg("请选择要删除的数据");
-		return;
-	}
-	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
-		btn : [ '确定', '取消' ]
-	// 按钮
-	}, function() {
-		var ids = new Array();
-		// 遍历所有选择的行数据,取每条数据对应的ID
-		$.each(rows, function(i, row) {
-			ids[i] = row['id'];
-		});
-		$.ajax({
-			type : 'POST',
-			data : {
-				"ids" : ids
-			},
-			url : prefix + '/batchRemove',
-			success : function(r) {
-				if (r.code == 0) {
-					layer.msg(r.msg);
-					reLoad();
-				} else {
-					layer.msg(r.msg);
-				}
-			}
-		});
-	}, function() {
-
-	});
-}

+ 0 - 92
src/main/resources/static/js/appjs/act/task/gotoTask.js

@@ -1,92 +0,0 @@
-var prefix = "/activiti/task"
-$(function() {
-	load3();
-});
-
-function load3() {
-	$('#exampleTable3')
-		.bootstrapTable(
-			{
-				method : 'get', // 服务器数据的请求方式 get or post
-				url : prefix + "/gotoList", // 服务器数据的加载地址
-				// showRefresh : true,
-				// showToggle : true,
-				// showColumns : true,
-				iconSize : 'outline',
-				toolbar : '#exampleToolbar',
-				striped : true, // 设置为true会有隔行变色效果
-				dataType : "json", // 服务器返回的数据类型
-				pagination : true, // 设置为true会在底部显示分页条
-				// queryParamsType : "limit",
-				// //设置为limit则会发送符合RESTFull格式的参数
-				singleSelect : false, // 设置为true将禁止多选
-				// contentType : "application/x-www-form-urlencoded",
-				// //发送到服务器的数据编码类型
-				pageSize : 10, // 如果设置了分页,每页数据条数
-				pageNumber : 1, // 如果设置了分布,首页页码
-				// search : true, // 是否显示搜索框
-				showColumns : false, // 是否显示内容下拉框(选择显示的列)
-				sidePagination : "server", // 设置在哪里进行分页,可选值为"client" 或者
-				// "server"
-				queryParams : function(params) {
-					return {
-						// 说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对
-						limit : params.limit,
-						offset : params.offset,
-						name : $('#searchName').val(),
-					};
-				},
-				// //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果
-				// queryParamsType = 'limit' ,返回参数必须包含
-				// limit, offset, search, sort, order 否则, 需要包含:
-				// pageSize, pageNumber, searchText, sortName,
-				// sortOrder.
-				// 返回false将会终止请求
-				columns : [
-					{
-						checkbox : true
-					},
-                    {
-                        field : 'id', // 列字段名
-                        title : '编号' // 列标题
-                    },
-
-                    {
-                        field : 'name',
-                        title : '流程名称'
-                    },
-
-
-                    {
-                        field : 'id',
-                        title : '流程图',
-                        formatter:function (value,row,index) {
-                            var e = '<a   href="/activiti/process/resource/read/image/'+row.id+'"  title="图片" target="_blank">图片</a> ';
-                            return e;
-                        }
-                    },
-					{
-						title : '操作',
-						field : 'id',
-						align : 'center',
-						formatter : function(value, row, index) {
-							var f = '<a class="btn btn-success btn-sm ' + s_resetPwd_h + '" href="#" title="发起任务"  mce_href="#" onclick="form3(\''
-								+ row.id
-								+ '\')"><i class="fa  fa-paper-plane"></i></a> ';
-							return f;
-						}
-					} ]
-			});
-}
-
-function form3(id) {
-    layer.open({
-        type : 2,
-        title : '发起流程',
-        maxmin : true,
-        shadeClose : false,
-        area : [ '100%', '100%' ],
-        content : prefix +'/form/'+id
-    })
-}
-

+ 0 - 180
src/main/resources/static/js/appjs/act/task/totoTask.js

@@ -1,180 +0,0 @@
-var prefix = "/activiti/task"
-$(function() {
-	load();
-});
-
-function load() {
-	$('#exampleTable')
-		.bootstrapTable(
-			{
-				method : 'get', // 服务器数据的请求方式 get or post
-				url : prefix + "/todoList", // 服务器数据的加载地址
-				// showRefresh : true,
-				// showToggle : true,
-				// showColumns : true,
-				iconSize : 'outline',
-				toolbar : '#exampleToolbar',
-				striped : true, // 设置为true会有隔行变色效果
-				dataType : "json", // 服务器返回的数据类型
-				pagination : true, // 设置为true会在底部显示分页条
-				// queryParamsType : "limit",
-				// //设置为limit则会发送符合RESTFull格式的参数
-				singleSelect : false, // 设置为true将禁止多选
-				// contentType : "application/x-www-form-urlencoded",
-				// //发送到服务器的数据编码类型
-				pageSize : 10, // 如果设置了分页,每页数据条数
-				pageNumber : 1, // 如果设置了分布,首页页码
-				// search : true, // 是否显示搜索框
-				showColumns : false, // 是否显示内容下拉框(选择显示的列)
-				sidePagination : "client", // 设置在哪里进行分页,可选值为"client" 或者
-				// "server"
-				queryParams : function(params) {
-					return {
-						// 说明:传入后台的参数包括offset开始索引,limit步长,sort排序列,order:desc或者,以及所有列的键值对
-						limit : params.limit,
-						offset : params.offset,
-						name : $('#searchName').val(),
-					};
-				},
-				// //请求服务器数据时,你可以通过重写参数的方式添加一些额外的参数,例如 toolbar 中的参数 如果
-				// queryParamsType = 'limit' ,返回参数必须包含
-				// limit, offset, search, sort, order 否则, 需要包含:
-				// pageSize, pageNumber, searchText, sortName,
-				// sortOrder.
-				// 返回false将会终止请求
-				columns : [
-					{
-						checkbox : true
-					},
-                    {
-                        field : 'id', // 列字段名
-                        title : '任务' // 列标题
-                    },
-                    {
-                        field : 'key', // 列字段名
-                        title : '任务key' // 列标题
-                    },
-                    {
-                        field : 'processId', // 列字段名
-                        title : '流程编号' // 列标题
-                    },
-                    {
-                        field : 'processDefinitionId', // 列字段名
-                        title : '流程定义编号' // 列标题
-                    },
-                    {
-                        field : 'name',
-                        title : '任务名称'
-                    },
-                    {
-                        field : 'executionId',
-                        title : '跟踪',
-						formatter:function(value,row,index){
-                        	return '<a href="/activiti/task/trace/photo/'+row.processDefinitionId+'/'+row.executionId+'">跟踪</a>';
-						}
-                    },
-					{
-						title : '操作',
-						field : 'id',
-						align : 'center',
-						formatter : function(value, row, index) {
-
-							var f = '<a class="btn btn-primary btn-sm " href="#" title="签收任务"  mce_href="#" onclick="form(\''
-								+ row.processDefinitionId+'\',\''+row.id
-								+ '\')">审批<i class="fa fa-key"></i></a> ';
-							return f;
-						}
-					} ]
-			});
-}
-function reLoad() {
-	$('#exampleTable').bootstrapTable('refresh');
-}
-function add() {
-	// iframe层
-	var page = layer.open({
-		type : 2,
-		title : '新建模型',
-		maxmin : true,
-		shadeClose : false, // 点击遮罩关闭层
-		area : [ '800px', '520px' ],
-		content : prefix + '/add'
-	});
-    layer.full(page);
-}
-function remove(id) {
-	layer.confirm('确定要删除选中的记录?', {
-		btn : [ '确定', '取消' ]
-	}, function() {
-		$.ajax({
-			url : prefix+"/remove",
-			type : "post",
-			data : {
-				'id' : id
-			},
-			success : function(r) {
-				if (r.code == 0) {
-					layer.msg(r.msg);
-					reLoad();
-				} else {
-					layer.msg(r.msg);
-				}
-			}
-		});
-	})
-}
-function edit(id) {
-	layer.open({
-		type : 2,
-		title : '修改模型',
-		maxmin : true,
-		shadeClose : false,
-		area : [ '800px', '520px' ],
-		content : prefix + '/edit/' + id
-	});
-	layer.full(page);
-}
-
-function form(proId,id) {
-    layer.open({
-        type : 2,
-        title : '发起流程',
-        maxmin : true,
-        shadeClose : false,
-        area : [ '100%', '100%' ],
-        content : prefix + '/form/'+ proId+'/'+id
-    })
-}
-
-function batchRemove() {
-	var rows = $('#exampleTable').bootstrapTable('getSelections'); // 返回所有选择的行,当没有选择的记录时,返回一个空数组
-	if (rows.length == 0) {
-		layer.msg("请选择要删除的数据");
-		return;
-	}
-	layer.confirm("确认要删除选中的'" + rows.length + "'条数据吗?", {
-		btn : [ '确定', '取消' ]
-	// 按钮
-	}, function() {
-		var ids = new Array();
-		// 遍历所有选择的行数据,取每条数据对应的ID
-		$.each(rows, function(i, row) {
-			ids[i] = row['userId'];
-		});
-		$.ajax({
-			type : 'POST',
-			data : {
-				"ids" : ids
-			},
-			url : prefix + '/batchRemove',
-			success : function(r) {
-				if (r.code == 0) {
-					layer.msg(r.msg);
-					reLoad();
-				} else {
-					layer.msg(r.msg);
-				}
-			}
-		});
-	}, function() {});
-}

+ 16 - 2
src/main/resources/static/js/appjs/datas/expertVerify/data.js

@@ -85,7 +85,7 @@ myColumns.push({
         title: '操作',
         field: 'id',
         align: 'center',
-        width: '160px',
+        width: '200px',
         formatter: function (value, row, index) {
             var e = '<a class="btn btn-primary btn-sm ' + s_edit_h + '" href="#" mce_href="#" title="详情" onclick="edit(\''
                 + row.id
@@ -99,10 +99,13 @@ myColumns.push({
             var g = '<a class="btn btn-success btn-sm ' + s_rebut_h + '" href="#" title="驳回"  mce_href="#" onclick="rebut(\''
                 + row.id
                 + '\')"><i class="fa fa-reply"></i></a> ';
+            var h = '<a class="btn btn-success btn-sm ' + s_expertOpinion_h + '" href="#" title="专家意见"  mce_href="#" onclick="expertOpinion(\''
+                + row.id
+                + '\')"><i class="fa fa-edit"></i></a> ';
             if (row.dataStatus == '3' || row.dataStatus == '4' || row.dataStatus == '5' || row.dataStatus == '6') {
                 return e + d;
             } else if (row.dataStatus == '2') {
-                return e + f + g + d;
+                return e + f + g + d + h;
             }
         }
     });
@@ -192,6 +195,17 @@ function add() {
     });
 }
 
+function expertOpinion(id) {
+    layer.open({
+        type: 2,
+        title: '专家意见',
+        maxmin: true,
+        shadeClose: false, // 点击遮罩关闭层
+        area: ['800px', '500px'],
+        content: prefix + '/expertOpinion/'+ id  // iframe的url
+    });
+}
+
 function edit(id) {
     layer.open({
         type: 2,

+ 0 - 65
src/main/resources/templates/act/model/model.html

@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"
-	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-	<div class="wrapper wrapper-content ">
-		<div class="row">
-			<div class="col-sm-11">
-				<div class="ibox">
-					<div class="ibox-body">
-						<div class="fixed-table-toolbar">
-							<div class="columns pull-left">
-								<button shiro:hasPermission="sys:user:add" type="button"
-									class="btn  btn-primary" onclick="add()">
-									<i class="fa fa-plus " aria-hidden="true"></i>添加
-								</button>
-								<button shiro:hasPermission="sys:user:batchRemove" type="button"
-									class="btn  btn-danger" onclick="batchRemove()">
-									<i class="fa fa-trash " aria-hidden="true"></i>删除
-								</button>
-							</div>
-							<div class="columns pull-right">
-								<button class="btn btn-success" onclick="reLoad()">查询</button>
-							</div>
-
-							<div class="columns pull-right col-md-2 nopadding">
-								<input id="searchName" type="text" class="form-control"
-									placeholder="">
-							</div>
-						</div>
-						<table id="exampleTable" data-mobile-responsive="true">
-						</table>
-					</div>
-				</div>
-			</div>
-		</div>
-		<!--shiro控制bootstraptable行内按钮看见性 来自bootdo的创新方案 -->
-		<div>
-			<script type="text/javascript">
-				var s_edit_h = 'hidden';
-				var s_remove_h = 'hidden';
-				var s_resetPwd_h = 'hidden';
-			</script>
-		</div>
-		<div shiro:hasPermission="activiti:model:edit">
-			<script type="text/javascript">
-				var s_edit_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="activiti:model:remove">
-			<script type="text/javascript">
-				var s_remove_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="activiti:model:resetPwd">
-			<script type="text/javascript">
-				var s_resetPwd_h = '';
-			</script>
-		</div>
-	</div>
-	<div th:include="include :: footer"></div>
-	<script type="text/javascript" src="/js/appjs/act/model/model.js"></script>
-</body>
-</html>

+ 0 - 140
src/main/resources/templates/act/modeler.html

@@ -1,140 +0,0 @@
-<!doctype html>
-<!--[if lt IE 7]>
-<html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
-<!--[if IE 7]>
-<html class="no-js lt-ie9 lt-ie8"> <![endif]-->
-<!--[if IE 8]>
-<html class="no-js lt-ie9"> <![endif]-->
-<!--[if gt IE 8]><!-->
-<html class="no-js"> <!--<![endif]-->
-<head>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <title>Activiti Editor</title>
-    <meta name="description" content="">
-    <meta name="viewport"
-          content="initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no, width=device-width">
-    <!-- Place favicon.ico and apple-touch-icon.png in the root directory -->
-
-    <link rel="Stylesheet" media="screen" href="editor-app/libs/ng-grid-2.0.7.min.css" type="text/css"/>
-    <link rel="stylesheet" href="editor-app/libs/bootstrap_3.1.1/css/bootstrap.min.css"/>
-
-    <link rel="Stylesheet" media="screen" href="editor-app/editor/css/editor.css" type="text/css"/>
-    <link rel="stylesheet" href="editor-app/css/style.css" type="text/css"/>
-
-	<link rel="stylesheet" href="editor-app/css/style-common.css">
-    <link rel="stylesheet" href="editor-app/css/style-editor.css">
-
-</head>
-<body>
-
-	<div class="navbar navbar-fixed-top navbar-inverse" role="navigation" id="main-header">
-	    <div class="navbar-header">
-            <a href="" ng-click="backToLanding()" class="navbar-brand"
-               title="{{'GENERAL.MAIN-TITLE' | translate}}"><span
-                    class="sr-only">{{'GENERAL.MAIN-TITLE' | translate}}</span></a>
-        </div>
-	</div>
-	
-	<!--[if lt IE 9]>
-	<div class="unsupported-browser">
-	    <p class="alert error">You are using an unsupported browser. Please upgrade your browser in order to use the
-	        editor.</p>
-	</div>
-	<![endif]-->
-	
-	<div class="alert-wrapper" ng-cloak>
-	    <div class="alert fadein {{alerts.current.type}}" ng-show="alerts.current" ng-click="dismissAlert()">
-	        <i class="glyphicon"
-	           ng-class="{'glyphicon-ok': alerts.current.type == 'info', 'glyphicon-remove': alerts.current.type == 'error'}"></i>
-	        <span>{{alerts.current.message}}</span>
-	
-	        <div class="pull-right" ng-show="alerts.queue.length > 0">
-	            <span class="badge">{{alerts.queue.length + 1}}</span>
-	        </div>
-	    </div>
-	</div>
-	
-	<div id="main" class="wrapper full clearfix" ng-style="{height: window.height + 'px'}" ng-app="activitiModeler" ng-include="'editor-app/editor.html'">
-	</div>
-
-	<!--[if lt IE 9]>
-	<script src="editor-app/libs/es5-shim-15.3.4.5/es5-shim.js"></script>
-	<script src="editor-app/libs/json3_3.2.6/lib/json3.min.js"></script>
-	<![endif]-->
-	
-	<script src="editor-app/libs/jquery_1.11.0/jquery.min.js"></script>
-	<script src="editor-app/libs/jquery-ui-1.10.3.custom.min.js"></script>
-	
-	<script src="editor-app/libs/angular_1.2.13/angular.min.js"></script>
-	<script src="editor-app/libs/angular_1.2.13/angular-animate.min.js"></script>
-	<script src="editor-app/libs/bootstrap_3.1.1/js/bootstrap.min.js"></script>
-	<script src="editor-app/libs/angular-resource_1.2.13/angular-resource.min.js"></script>
-	<script src="editor-app/libs/angular-cookies_1.2.13/angular-cookies.min.js"></script>
-	<script src="editor-app/libs/angular-sanitize_1.2.13/angular-sanitize.min.js"></script>
-	<script src="editor-app/libs/angular-route_1.2.13/angular-route.min.js"></script>
-	<script src="editor-app/libs/angular-translate_2.4.2/angular-translate.min.js"></script>
-	<script src="editor-app/libs/angular-translate-storage-cookie/angular-translate-storage-cookie.js"></script>
-	<script src="editor-app/libs/angular-translate-loader-static-files/angular-translate-loader-static-files.js"></script>
-	<script src="editor-app/libs/angular-strap_2.0.5/angular-strap.min.js"></script>
-	<script src="editor-app/libs/angular-strap_2.0.5/angular-strap.tpl.min.js"></script>
-	<script src="editor-app/libs/momentjs_2.5.1/momentjs.min.js"></script>
-	
-	<script src="editor-app/libs/ui-utils.min-0.0.4.js" type="text/javascript"></script>
-	<script src="editor-app/libs/ng-grid-2.0.7-min.js" type="text/javascript"></script>
-	<script src="editor-app/libs/angular-dragdrop.min-1.0.3.js" type="text/javascript"></script>
-	<script src="editor-app/libs/mousetrap-1.4.5.min.js" type="text/javascript"></script>
-	<script src="editor-app/libs/jquery.autogrow-textarea.js" type="text/javascript"></script>
-	
-	<script src="editor-app/libs/prototype-1.5.1.js" type="text/javascript"></script>
-	<script src="editor-app/libs/path_parser.js" type="text/javascript"></script>
-	
-	<script src="editor-app/libs/angular-scroll_0.5.7/angular-scroll.min.js" type="text/javascript"></script>
-	
-	<!-- Configuration -->
-	<script src="editor-app/app-cfg.js?v=1"></script>
-	<script src="editor-app/editor-config.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/url-config.js" type="text/javascript"></script>
-	
-	<script src="editor-app/editor/i18n/translation_en_us.js" type="text/javascript"></script>
-	<script src="editor-app/editor/i18n/translation_signavio_en_us.js" type="text/javascript"></script>
-	<script src="editor-app/editor/oryx.debug.js" type="text/javascript"></script>
-	
-	<script src="editor-app/app.js"></script>
-	
-	<script src="editor-app/eventbus.js" type="text/javascript"></script>
-	
-	<script src="editor-app/editor-controller.js" type="text/javascript"></script>
-	<script src="editor-app/stencil-controller.js" type="text/javascript"></script>
-	<script src="editor-app/toolbar-controller.js" type="text/javascript"></script>
-	<script src="editor-app/header-controller.js" type="text/javascript"></script>
-	<script src="editor-app/select-shape-controller.js" type="text/javascript"></script>
-	
-	<script src="editor-app/editor-utils.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/toolbar-default-actions.js" type="text/javascript"></script>
-	
-	<script src="editor-app/configuration/properties-default-controllers.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-execution-listeners-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-event-listeners-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-assignment-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-fields-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-form-properties-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-in-parameters-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-multiinstance-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-out-parameters-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-task-listeners-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-sequenceflow-order-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-condition-expression-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-signal-definitions-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-signal-scope-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-message-definitions-controller.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-message-scope-controller.js" type="text/javascript"></script>
-	
-	<script src="editor-app/configuration/toolbar.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/toolbar-custom-actions.js" type="text/javascript"></script>
-	
-	<script src="editor-app/configuration/properties.js" type="text/javascript"></script>
-	<script src="editor-app/configuration/properties-custom-controllers.js" type="text/javascript"></script>
-
-</body>
-</html>

+ 0 - 49
src/main/resources/templates/act/process/add.html

@@ -1,49 +0,0 @@
-<!DOCTYPE html>
-<html>
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-
-</head>
-<body class="gray-bg">
-<div class="wrapper wrapper-content">
-    <div class="row">
-        <div class="col-sm-8">
-            <div class="ibox float-e-margins">
-                <div class="ibox-content">
-                    <div class="col-sm-12">
-                        <h4>导入流程</h4>
-                    </div>
-                    <form class="form-horizontal m-t" id="signupForm">
-                        <div class="form-group">
-                            <label class="col-sm-1 control-label">类别:</label>
-                            <div class="col-sm-4">
-                                <input id="category" name="category" type="input">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-1 control-label">导入流程:</label>
-                            <div class="col-sm-4">
-                                <input id="file" name="file" type="file">
-                            </div>
-                        </div>
-
-                        <div class="text-right form-group">
-                            <a class="btn btn-default waves-effect waves-light"
-                               onclick="returnList()">返回</a>
-                            <button
-                                    class="btn btn-primary waves-effect waves-light" type="submit">保存
-                            </button>
-
-                        </div>
-                    </form>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-
-<div th:include="include::footer"></div>
-<script type="text/javascript" src="/js/appjs/act/process/add.js">
-</script>
-</body>
-</html>

+ 0 - 65
src/main/resources/templates/act/process/process.html

@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"
-	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-	<div class="wrapper wrapper-content ">
-		<div class="row">
-			<div class="col-sm-11">
-				<div class="ibox">
-					<div class="ibox-body">
-						<div class="fixed-table-toolbar">
-							<div class="columns pull-left">
-								<button shiro:hasPermission="sys:user:add" type="button"
-									class="btn  btn-primary" onclick="add()">
-									<i class="fa fa-plus " aria-hidden="true"></i>添加
-								</button>
-								<button shiro:hasPermission="sys:user:batchRemove" type="button"
-									class="btn  btn-danger" onclick="batchRemove()">
-									<i class="fa fa-trash " aria-hidden="true"></i>删除
-								</button>
-							</div>
-							<div class="columns pull-right">
-								<button class="btn btn-success" onclick="reLoad()">查询</button>
-							</div>
-
-							<div class="columns pull-right col-md-2 nopadding">
-								<input id="searchName" type="text" class="form-control"
-									placeholder="姓名">
-							</div>
-						</div>
-						<table id="exampleTable" data-mobile-responsive="true">
-						</table>
-					</div>
-				</div>
-			</div>
-		</div>
-		<!--shiro控制bootstraptable行内按钮看见性 来自bootdo的创新方案 -->
-		<div>
-			<script type="text/javascript">
-				var s_edit_h = 'hidden';
-				var s_remove_h = 'hidden';
-				var s_resetPwd_h = 'hidden';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:edit">
-			<script type="text/javascript">
-				var s_edit_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:remove">
-			<script type="text/javascript">
-				var s_remove_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:resetPwd">
-			<script type="text/javascript">
-				var s_resetPwd_h = '';
-			</script>
-		</div>
-	</div>
-	<div th:include="include :: footer"></div>
-	<script type="text/javascript" src="/js/appjs/act/process/process.js"></script>
-</body>
-</html>

+ 0 - 113
src/main/resources/templates/act/salary/add.html

@@ -1,113 +0,0 @@
-<!DOCTYPE html>
-<html>
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-<div class="wrapper wrapper-content ">
-    <div class="row">
-        <div class="col-sm-12">
-            <div class="ibox float-e-margins">
-                <div class="ibox-content">
-                    <form class="form-horizontal m-t" id="signupForm">
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">变动用户:</label>
-                            <div class="col-sm-8">
-                                <input id="userId" name="userId" class="form-control" type="hidden">
-                                <input id="userName" name="userName" class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">归属部门:</label>
-                            <div class="col-sm-8">
-                                <input id="officeId" name="officeId" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">岗位:</label>
-                            <div class="col-sm-8">
-                                <input id="post" name="post" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">性别:</label>
-                            <div class="col-sm-8">
-                                <input id="age" name="age" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden ">
-                            <label class="col-sm-3 control-label">学历:</label>
-                            <div class="col-sm-8">
-                                <input id="edu" name="edu" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">调整原因:</label>
-                            <div class="col-sm-8">
-                                <input id="content" name="content" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden ">
-                            <label class="col-sm-3 control-label">现行标准 薪酬档级:</label>
-                            <div class="col-sm-8">
-                                <input id="olda" name="olda" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">现行标准 月工资额:</label>
-                            <div class="col-sm-8">
-                                <input id="oldb" name="oldb" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">现行标准 年薪总额:</label>
-                            <div class="col-sm-8">
-                                <input id="oldc" name="oldc" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">调整后标准 薪酬档级:</label>
-                            <div class="col-sm-8">
-                                <input id="newa" name="newa" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">调整后标准 月工资额:</label>
-                            <div class="col-sm-8">
-                                <input id="newb" name="newb" class="form-control" type="number">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">调整后标准 年薪总额:</label>
-                            <div class="col-sm-8">
-                                <input id="newc" name="newc" class="form-control" type="number">
-                            </div>
-                        </div>
-                        <div class="form-group  hidden">
-                            <label class="col-sm-3 control-label">月增资:</label>
-                            <div class="col-sm-8">
-                                <input id="addNum" name="addNum" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">执行时间:</label>
-                            <div class="col-sm-8">
-                                <input id="exeDate" name="exeDate" class="form-control" type="date">
-                            </div>
-                        </div>
-
-                        <div class="form-group">
-                            <div class="col-sm-8 col-sm-offset-3">
-                                <button type="submit" class="btn btn-primary">提交</button>
-                            </div>
-                        </div>
-                    </form>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<div th:include="include::footer"></div>
-<script type="text/javascript" src="/js/appjs/act/salary/add.js">
-</script>
-</body>
-</html>

+ 0 - 158
src/main/resources/templates/act/salary/edit.html

@@ -1,158 +0,0 @@
-<!DOCTYPE html>
-<html>
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-<div class="wrapper wrapper-content ">
-    <div class="row">
-        <div class="col-sm-12">
-            <div class="ibox float-e-margins">
-                <div class="ibox-content">
-                    <form class="form-horizontal m-t" id="signupForm">
-                        <input id="taskId" name="taskId" th:value="${salary.taskId}" type="hidden">
-                        <input id="id" name="id" th:value="${salary.id}" type="hidden">
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">流程实例ID:</label>
-                            <div class="col-sm-8">
-                                <input id="procInsId" name="procInsId" th:value="${salary.procInsId}"
-                                       class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">变动用户:</label>
-                            <div class="col-sm-8">
-                                <input id="userId" name="userId" th:value="${salary.userId}" class="form-control"
-                                       type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">归属部门:</label>
-                            <div class="col-sm-8">
-                                <input id="officeId" name="officeId" th:value="${salary.officeId}" class="form-control"
-                                       type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">岗位:</label>
-                            <div class="col-sm-8">
-                                <input id="post" name="post" th:value="${salary.post}" class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group  hidden">
-                            <label class="col-sm-3 control-label">性别:</label>
-                            <div class="col-sm-8">
-                                <input id="age" name="age" th:value="${salary.age}" class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">学历:</label>
-                            <div class="col-sm-8">
-                                <input id="edu" name="edu" th:value="${salary.edu}" class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">调整原因:</label>
-                            <div class="col-sm-8">
-                                <input id="content" name="content" th:value="${salary.content}" class="form-control"
-                                       type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">现行标准 薪酬档级:</label>
-                            <div class="col-sm-8">
-                                <input id="olda" name="olda" th:value="${salary.olda}" class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">现行标准 月工资额:</label>
-                            <div class="col-sm-8">
-                                <input id="oldb" name="oldb" th:value="${salary.oldb}" class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">现行标准 年薪总额:</label>
-                            <div class="col-sm-8">
-                                <input id="oldc" name="oldc" th:value="${salary.oldc}" class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">调整后标准 薪酬档级:</label>
-                            <div class="col-sm-8">
-                                <input id="newa" name="newa" th:value="${salary.newa}" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">调整后标准 月工资额:</label>
-                            <div class="col-sm-8">
-                                <input id="newb" name="newb" th:value="${salary.newb}" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">调整后标准 年薪总额:</label>
-                            <div class="col-sm-8">
-                                <input id="newc" name="newc" th:value="${salary.newc}" class="form-control" type="text">
-                            </div>
-                        </div>
-                        <div class="form-group hidden">
-                            <label class="col-sm-3 control-label">月增资:</label>
-                            <div class="col-sm-8">
-                                <input id="addNum" name="addNum" th:value="${salary.addNum}" class="form-control"
-                                       type="text">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">执行时间:</label>
-                            <div class="col-sm-8">
-                                <input id="exeDate" name="exeDate" th:value="${salary.exeDate}" class="form-control"
-                                       type="text">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">人力资源部门意见:</label>
-                            <div class="col-sm-8">
-                                <input id="hrText" name="hrText" th:value="${salary.hrText}" class="form-control"
-                                       type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">分管领导意见:</label>
-                            <div class="col-sm-8">
-                                <input id="leadText" name="leadText" th:value="${salary.leadText}" class="form-control"
-                                       type="text" readonly="readonly">
-                            </div>
-                        </div>
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">集团主要领导意见:</label>
-                            <div class="col-sm-8">
-                                <input id="mainLeadText" name="mainLeadText" th:value="${salary.mainLeadText}"
-                                       class="form-control" type="text" readonly="readonly">
-                            </div>
-                        </div>
-
-                        <div class="form-group">
-                            <label class="col-sm-3 control-label">您的意见:</label>
-                            <div class="col-sm-8">
-                                <textarea id="taskComment" name="taskComment" th:value="${salary.taskComment}"
-                                          class="form-control"></textarea>
-                            </div>
-                        </div>
-                        <input id="taskPass" name="taskPass" class="hidden">
-                        <div class="form-group">
-                            <div class="col-sm-8 col-sm-offset-3">
-                                <button type="submit" class="btn btn-primary" onclick="$('#taskPass').val('1')">提交
-                                </button>
-                                <button type="submit" class="btn btn-warning" onclick="$('#taskPass').val('0')">退回
-                                </button>
-                            </div>
-                        </div>
-                    </form>
-                </div>
-            </div>
-        </div>
-    </div>
-</div>
-<div th:include="include::footer"></div>
-<script type="text/javascript" src="/js/appjs/act/salary/edit.js">
-</script>
-</body>
-</html>

+ 0 - 70
src/main/resources/templates/act/salary/start.html

@@ -1,70 +0,0 @@
-<!DOCTYPE html>
-<html>
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-	<div class="wrapper wrapper-content ">
-		<div class="row">
-			<div class="col-sm-12">
-				<div class="ibox float-e-margins">
-					<div class="ibox-content">
-						<form class="form-horizontal m-t" id="signupForm">
-							<input id="procDefId" name="processId" th:value="${processId}">
-							<div class="form-group">
-								<label class="col-sm-2 control-label">申请人:</label>
-								<div class="col-sm-4">
-									<input id="jobName" name="jobName" class="form-control"
-										type="text">
-								</div>
-								<label class="col-sm-2 control-label">月增资:</label>
-								<div class="col-sm-4">
-									<input id="jobGroup" name="jobGroup" class="form-control"
-										type="text">
-								</div>
-							</div>
-							<div class="form-group">
-								<label class="col-sm-2 control-label">任务类:</label>
-								<div class="col-sm-4">
-									<input id="beanClass" name="beanClass" class="form-control"
-										type="text">
-								</div>
-								<label class="col-sm-2 control-label">cron表达式:</label>
-								<div class="col-sm-4">
-									<input id="cronExpression" name="cronExpression"
-										   class="form-control" type="text">
-								</div>
-							</div>
-
-							<div class="form-group">
-								<label class="col-sm-2 control-label">调整原因:</label>
-								<div class="col-sm-10">
-									<textarea id="description" name="description" class="form-control"
-										></textarea>
-								</div>
-							</div>
-							<div class="form-group hidden">
-								<label class="col-sm-2 control-label">任务状态:</label>
-								<div class="col-sm-4">
-									<input id="jobStatus" name="jobStatus" class="form-control"
-										type="text" value="0">
-								</div>
-							</div>
-
-							<div class="form-group">
-								<div class="col-sm-2 col-sm-offset-3">
-									<button type="submit" class="btn btn-primary">提交</button>
-								</div>
-							</div>
-						</form>
-					</div>
-				</div>
-			</div>
-		</div>
-	</div>
-	<div th:include="include::footer"></div>
-	<script type="text/javascript"
-		src="/js/appjs/act/SalaryAdjustment/form.js">
-		
-	</script>
-</body>
-</html>

+ 0 - 45
src/main/resources/templates/act/task/gotoTask.html

@@ -1,45 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"
-	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-	<div class="wrapper wrapper-content ">
-		<div class="row">
-			<div class="col-sm-11">
-				<div class="ibox">
-					<div class="ibox-body">
-						<table id="exampleTable" data-mobile-responsive="true">
-						</table>
-					</div>
-				</div>
-			</div>
-		</div>
-		<!--shiro控制bootstraptable行内按钮看见性 来自bootdo的创新方案 -->
-		<div>
-			<script type="text/javascript">
-				var s_edit_h = 'hidden';
-				var s_remove_h = 'hidden';
-				var s_resetPwd_h = 'hidden';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:edit">
-			<script type="text/javascript">
-				var s_edit_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:remove">
-			<script type="text/javascript">
-				var s_remove_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:resetPwd">
-			<script type="text/javascript">
-				var s_resetPwd_h = '';
-			</script>
-		</div>
-	</div>
-	<div th:include="include :: footer"></div>
-	<script type="text/javascript" src="/js/appjs/act/task/gotoTask.js"></script>
-</body>
-</html>

+ 0 - 65
src/main/resources/templates/act/task/task.html

@@ -1,65 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"
-	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-	<div class="wrapper wrapper-content ">
-		<div class="row">
-			<div class="col-sm-11">
-				<div class="ibox">
-					<div class="ibox-body">
-						<div class="fixed-table-toolbar">
-							<div class="columns pull-left">
-								<button shiro:hasPermission="sys:user:add" type="button"
-									class="btn  btn-primary" onclick="add()">
-									<i class="fa fa-plus " aria-hidden="true"></i>添加
-								</button>
-								<button shiro:hasPermission="sys:user:batchRemove" type="button"
-									class="btn  btn-danger" onclick="batchRemove()">
-									<i class="fa fa-trash " aria-hidden="true"></i>删除
-								</button>
-							</div>
-							<div class="columns pull-right">
-								<button class="btn btn-success" onclick="reLoad()">查询</button>
-							</div>
-
-							<div class="columns pull-right col-md-2 nopadding">
-								<input id="searchName" type="text" class="form-control"
-									placeholder="姓名">
-							</div>
-						</div>
-						<table id="exampleTable" data-mobile-responsive="true">
-						</table>
-					</div>
-				</div>
-			</div>
-		</div>
-		<!--shiro控制bootstraptable行内按钮看见性 来自bootdo的创新方案 -->
-		<div>
-			<script type="text/javascript">
-				var s_edit_h = 'hidden';
-				var s_remove_h = 'hidden';
-				var s_resetPwd_h = 'hidden';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:model:edit">
-			<script type="text/javascript">
-				var s_edit_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:model:remove">
-			<script type="text/javascript">
-				var s_remove_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:model:resetPwd">
-			<script type="text/javascript">
-				var s_resetPwd_h = '';
-			</script>
-		</div>
-	</div>
-	<div th:include="include :: footer"></div>
-	<script type="text/javascript" src="/js/appjs/act/model/model.js"></script>
-</body>
-</html>

+ 0 - 64
src/main/resources/templates/act/task/todoTask.html

@@ -1,64 +0,0 @@
-<!DOCTYPE html>
-<html lang="zh_CN" xmlns:th="http://www.thymeleaf.org"
-	xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
-<meta charset="utf-8">
-<head th:include="include :: header"></head>
-<body class="gray-bg">
-	<div class="wrapper wrapper-content ">
-		<div class="row">
-			<div class="col-sm-11">
-				<div class="ibox">
-					<div class="ibox-body">
-						<ul class="nav nav-tabs">
-							<li class="active"><a data-toggle="tab" href="#tab-1"><i class="fa fa-file-text"></i>待办工作</a>
-							</li>
-							<li class=""><a data-toggle="tab" href="#tab-2"><i class="fa fa-briefcase"></i>已办工作</a>
-							</li>
-							<li class=""><a data-toggle="tab" href="#tab-3"><i class="fa fa-briefcase"></i>发起任务</a>
-							</li>
-						</ul>
-						<div class="tab-content">
-							<div id="tab-1" class="tab-pane active">
-								<table id="exampleTable" data-mobile-responsive="true">
-								</table>
-							</div>
-							<div id="tab-2" class="tab-pane ">
-								<table id="exampleTable2" data-mobile-responsive="true"></table>
-							</div>
-							<div id="tab-3" class="tab-pane ">
-								<table id="exampleTable3" data-mobile-responsive="true"></table>
-							</div>
-						</div>
-					</div>
-				</div>
-			</div>
-		</div>
-		<!--shiro控制bootstraptable行内按钮看见性 来自bootdo的创新方案 -->
-		<div>
-			<script type="text/javascript">
-				var s_edit_h = 'hidden';
-				var s_remove_h = 'hidden';
-				var s_resetPwd_h = 'hidden';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:edit">
-			<script type="text/javascript">
-				var s_edit_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:remove">
-			<script type="text/javascript">
-				var s_remove_h = '';
-			</script>
-		</div>
-		<div shiro:hasPermission="act:process:resetPwd">
-			<script type="text/javascript">
-				var s_resetPwd_h = '';
-			</script>
-		</div>
-	</div>
-	<div th:include="include :: footer"></div>
-	<script type="text/javascript" src="/js/appjs/act/task/totoTask.js"></script>
-	<script type="text/javascript" src="/js/appjs/act/task/gotoTask.js"></script>
-</body>
-</html>

+ 6 - 0
src/main/resources/templates/datas/expertVerify/data.html

@@ -114,6 +114,7 @@
         var s_resetPwd_h = 'hidden';
         var s_verify_h = 'hidden';
         var s_rebut_h = 'hidden';
+        var s_expertOpinion_h = 'hidden';
     </script>
 </div>
 <div shiro:hasPermission="datas:expertVerify:edit">
@@ -146,6 +147,11 @@
         s_nextVerify_h = '';
     </script>
 </div>
+<div shiro:hasPermission="datas:expertVerify:addExpertOpinion">
+    <script type="text/javascript">
+        s_expertOpinion_h = '';
+    </script>
+</div>
 </div>
 <div th:include="include :: footer"></div>
 <script type="text/javascript" src="/js/plugins/distpicker/distpicker.data.min.js"></script>