Procházet zdrojové kódy

图形开票流程模块

chenminghua před 4 roky
rodič
revize
dc9a0f0aa9
85 změnil soubory, kde provedl 2899 přidání a 23 odebrání
  1. 3 3
      src/main/java/com/gyee/MpGenerator.java
  2. 167 0
      src/main/java/com/gyee/SqlSeverTicket.java
  3. 53 0
      src/main/java/com/gyee/frame/controller/ticket/LaborController.java
  4. 21 0
      src/main/java/com/gyee/frame/controller/ticket/LaborgrpsController.java
  5. 52 0
      src/main/java/com/gyee/frame/controller/ticket/WfactionController.java
  6. 21 0
      src/main/java/com/gyee/frame/controller/ticket/WfactionlistController.java
  7. 3 3
      src/main/java/com/gyee/frame/controller/ticket/WfassignmentController.java
  8. 21 0
      src/main/java/com/gyee/frame/controller/ticket/WfassignnotifyController.java
  9. 21 0
      src/main/java/com/gyee/frame/controller/ticket/WfinstanceController.java
  10. 40 0
      src/main/java/com/gyee/frame/controller/ticket/WfnodeController.java
  11. 21 0
      src/main/java/com/gyee/frame/controller/ticket/WfprocessController.java
  12. 21 0
      src/main/java/com/gyee/frame/controller/ticket/WfroleController.java
  13. 21 0
      src/main/java/com/gyee/frame/controller/ticket/WftaskassignController.java
  14. 21 0
      src/main/java/com/gyee/frame/controller/ticket/WftasknotifyController.java
  15. 42 0
      src/main/java/com/gyee/frame/controller/ticket/WftransController.java
  16. 37 0
      src/main/java/com/gyee/frame/mapper/ticket/LaborMapper.java
  17. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/LaborgrpsMapper.java
  18. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WfactionMapper.java
  19. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WfactionlistMapper.java
  20. 2 2
      src/main/java/com/gyee/frame/mapper/ticket/WfassignmentMapper.java
  21. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WfassignnotifyMapper.java
  22. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WfinstanceMapper.java
  23. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WfnodeMapper.java
  24. 21 0
      src/main/java/com/gyee/frame/mapper/ticket/WfprocessMapper.java
  25. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WfroleMapper.java
  26. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WftaskassignMapper.java
  27. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WftasknotifyMapper.java
  28. 16 0
      src/main/java/com/gyee/frame/mapper/ticket/WftransMapper.java
  29. 49 0
      src/main/java/com/gyee/frame/model/ticket/FlowAction.java
  30. 20 0
      src/main/java/com/gyee/frame/model/ticket/FlowStep.java
  31. 148 0
      src/main/java/com/gyee/frame/model/ticket/Labor.java
  32. 42 0
      src/main/java/com/gyee/frame/model/ticket/Laborgrps.java
  33. 80 0
      src/main/java/com/gyee/frame/model/ticket/Wfaction.java
  34. 56 0
      src/main/java/com/gyee/frame/model/ticket/Wfactionlist.java
  35. 10 11
      src/main/java/com/gyee/frame/model/ticket/Wfassignment.java
  36. 85 0
      src/main/java/com/gyee/frame/model/ticket/Wfassignnotify.java
  37. 64 0
      src/main/java/com/gyee/frame/model/ticket/Wfinstance.java
  38. 65 0
      src/main/java/com/gyee/frame/model/ticket/Wfnode.java
  39. 70 0
      src/main/java/com/gyee/frame/model/ticket/Wfprocess.java
  40. 50 0
      src/main/java/com/gyee/frame/model/ticket/Wfrole.java
  41. 80 0
      src/main/java/com/gyee/frame/model/ticket/Wftaskassign.java
  42. 65 0
      src/main/java/com/gyee/frame/model/ticket/Wftasknotify.java
  43. 79 0
      src/main/java/com/gyee/frame/model/ticket/Wftrans.java
  44. 41 0
      src/main/java/com/gyee/frame/service/impl/ticket/LaborServiceImpl.java
  45. 20 0
      src/main/java/com/gyee/frame/service/impl/ticket/LaborgrpsServiceImpl.java
  46. 86 0
      src/main/java/com/gyee/frame/service/impl/ticket/WfactionServiceImpl.java
  47. 20 0
      src/main/java/com/gyee/frame/service/impl/ticket/WfactionlistServiceImpl.java
  48. 13 1
      src/main/java/com/gyee/frame/service/impl/ticket/WfassignmentServiceImpl.java
  49. 20 0
      src/main/java/com/gyee/frame/service/impl/ticket/WfassignnotifyServiceImpl.java
  50. 130 0
      src/main/java/com/gyee/frame/service/impl/ticket/WfinstanceServiceImpl.java
  51. 37 0
      src/main/java/com/gyee/frame/service/impl/ticket/WfnodeServiceImpl.java
  52. 35 0
      src/main/java/com/gyee/frame/service/impl/ticket/WfprocessServiceImpl.java
  53. 22 0
      src/main/java/com/gyee/frame/service/impl/ticket/WfroleServiceImpl.java
  54. 33 0
      src/main/java/com/gyee/frame/service/impl/ticket/WftaskassignServiceImpl.java
  55. 20 0
      src/main/java/com/gyee/frame/service/impl/ticket/WftasknotifyServiceImpl.java
  56. 34 0
      src/main/java/com/gyee/frame/service/impl/ticket/WftransServiceImpl.java
  57. 40 0
      src/main/java/com/gyee/frame/service/ticket/LaborService.java
  58. 16 0
      src/main/java/com/gyee/frame/service/ticket/LaborgrpsService.java
  59. 29 0
      src/main/java/com/gyee/frame/service/ticket/WfactionService.java
  60. 16 0
      src/main/java/com/gyee/frame/service/ticket/WfactionlistService.java
  61. 13 2
      src/main/java/com/gyee/frame/service/ticket/WfassignmentService.java
  62. 16 0
      src/main/java/com/gyee/frame/service/ticket/WfassignnotifyService.java
  63. 28 0
      src/main/java/com/gyee/frame/service/ticket/WfinstanceService.java
  64. 26 0
      src/main/java/com/gyee/frame/service/ticket/WfnodeService.java
  65. 23 0
      src/main/java/com/gyee/frame/service/ticket/WfprocessService.java
  66. 16 0
      src/main/java/com/gyee/frame/service/ticket/WfroleService.java
  67. 26 0
      src/main/java/com/gyee/frame/service/ticket/WftaskassignService.java
  68. 16 0
      src/main/java/com/gyee/frame/service/ticket/WftasknotifyService.java
  69. 25 0
      src/main/java/com/gyee/frame/service/ticket/WftransService.java
  70. 20 0
      src/main/java/com/gyee/frame/util/DateUtils.java
  71. 35 0
      src/main/java/com/gyee/frame/util/ticket/TicketUtil.java
  72. 1 1
      src/main/resources/application-dev.yml
  73. binární
      src/main/resources/lib/thumbnailator-0.4.2-all.jar
  74. 52 0
      src/main/resources/mybatis/ticket/LaborMapper.xml
  75. 17 0
      src/main/resources/mybatis/ticket/LaborgrpsMapper.xml
  76. 30 0
      src/main/resources/mybatis/ticket/WfactionMapper.xml
  77. 22 0
      src/main/resources/mybatis/ticket/WfactionlistMapper.xml
  78. 31 0
      src/main/resources/mybatis/ticket/WfassignnotifyMapper.xml
  79. 24 0
      src/main/resources/mybatis/ticket/WfinstanceMapper.xml
  80. 25 0
      src/main/resources/mybatis/ticket/WfnodeMapper.xml
  81. 26 0
      src/main/resources/mybatis/ticket/WfprocessMapper.xml
  82. 20 0
      src/main/resources/mybatis/ticket/WfroleMapper.xml
  83. 30 0
      src/main/resources/mybatis/ticket/WftaskassignMapper.xml
  84. 25 0
      src/main/resources/mybatis/ticket/WftasknotifyMapper.xml
  85. 29 0
      src/main/resources/mybatis/ticket/WftransMapper.xml

+ 3 - 3
src/main/java/com/gyee/MpGenerator.java

@@ -17,7 +17,7 @@ import java.util.List;
 import java.util.Map;
 
 /**
- * 代码生成器
+ * 图形开票代码生成器  mybatis-plus
  */
 public class MpGenerator {
 
@@ -29,7 +29,7 @@ public class MpGenerator {
     //作者
     private static String authorName = "chenmh";
     //要生成的表名
-    private static String[] tables = {"s"};
+    private static String[] tables = {""};
     //table前缀
     private static String prefix = "";
 
@@ -41,7 +41,7 @@ public class MpGenerator {
 //    private static String driverName = "com.mysql.jdbc.Driver";
 //    private static String url = "jdbc:mysql://localhost:3306/assemb?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false";
     private static String username = "sa";
-    private static String password = "ibs";
+    private static String password = "gyee54321";
 
     public static void main(String[] args) {
         AutoGenerator gen = new AutoGenerator();

+ 167 - 0
src/main/java/com/gyee/SqlSeverTicket.java

@@ -0,0 +1,167 @@
+package com.gyee;
+
+
+import net.coobird.thumbnailator.Thumbnails;
+
+import javax.imageio.ImageIO;
+import java.awt.geom.AffineTransform;
+import java.awt.image.AffineTransformOp;
+import java.awt.image.BufferedImage;
+import java.io.*;
+import java.sql.*;
+import java.util.*;
+
+/**
+ * 图形开票 人员电子签名  数据库人员处理
+ */
+public class SqlSeverTicket {
+
+    public static void main(String []args) throws SQLException {
+
+        String driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
+        //加载JDBC驱动
+        String dbURL = "jdbc:sqlserver://10.155.32.2:1433;DatabaseName=fdeam";
+        //连接服务器和数据库
+        String userName = "sa"; //默认用户名
+        String userPwd = "gyee54321"; //密码
+        Connection conn = null;
+        try {
+            Class.forName(driverName);
+            conn = DriverManager.getConnection(dbURL, userName, userPwd);
+            System.out.println("Connection Successful!");
+            //如果连接成功 控制台输出Connection  Successful!
+//            Map<String, List> labor = getLabor(conn);
+//            setLabor(conn, labor);
+//            List<String> list = getLabors(conn);
+//            for(int i = 0; i < list.size(); i++){
+//                setImage(conn, "D:/document/两票相关材料/人员电子签名/电子签名thumb/" + list.get(i).toLowerCase() +".png", list.get(i).toLowerCase());
+//            }
+//            setImage(conn, "D:/document/两票相关材料/人员电子签名/电子签名thumb/wangbing.png", "wangbing");
+
+            //        String fileName = "wangbing.png";
+//
+//        String filePath1 = "D:/document/两票相关材料/人员电子签名/";
+//        String filePath2 = "D:/document/两票相关材料/人员电子签名/电子签名thumb/";
+//        batchThumb(filePath1, filePath2);
+//        singleThumb(filePath1, filePath2, fileName);
+        } catch (Exception e) {
+            e.printStackTrace();
+        } finally {
+            conn.close();
+        }
+    }
+
+    // 获取人员信息
+    public static Map<String, List> getLabor(Connection conn){
+        Map<String, List> labors = new HashMap<>();
+
+        try {
+            PreparedStatement ps = conn.prepareStatement("select * from LABOR");
+            ResultSet rs = ps.executeQuery();
+            while(rs.next()){
+                List<String> list = new ArrayList<>();
+                String laborNum = rs.getString("LABORNUM");
+                String laborName = rs.getString("LABORNAME");
+                String deptNum = rs.getString("DEPTNUM");
+                list.add(0, laborName);
+                list.add(1, deptNum);
+                labors.put(laborNum, list);
+            }
+        } catch (SQLException e) {
+            e.printStackTrace();
+        }
+
+        return labors;
+    }
+
+    public static List<String> getLabors(Connection conn){
+        List<String> list = new ArrayList<>();
+
+        try {
+            PreparedStatement ps = conn.prepareStatement("select * from SIGNPICTURE");
+            ResultSet rs = ps.executeQuery();
+            while(rs.next()){
+                String laborNum = rs.getString("LABORNUM");
+                list.add(laborNum);
+            }
+        } catch (SQLException e) {
+            e.printStackTrace();
+        }
+
+        return list;
+    }
+
+    // signpicture表插入人员信息
+    public static void setLabor(Connection conn, Map map) throws SQLException {
+        PreparedStatement ps = null;
+        try {
+            ps = conn.prepareStatement("Insert into SIGNPICTURE (LABORNUM,LABORNAME,DEPTNUM) values (?,?,?)");
+            Iterator<Map.Entry<String, List>> entries = map.entrySet().iterator();
+            while(entries.hasNext()){
+                Map.Entry<String, List> entry = entries.next();
+                String key = entry.getKey();
+                List list = entry.getValue();
+                ps.setString(1,key);
+                ps.setString(2, String.valueOf(list.get(0)));
+                ps.setString(3, String.valueOf(list.get(1)));
+//                ps.setBinaryStream(3,fis,(int)file.length());
+                ps.executeUpdate();
+            }
+            ps.close();
+        } catch (SQLException e) {
+            e.printStackTrace();
+        } finally {
+            ps.close();
+        }
+    }
+
+    /**
+     * 写入图片
+     * @param conn
+     * @param filePath
+     */
+    public static void setImage(Connection conn, String filePath, String laborNum)
+    {
+        FileInputStream fis=null;
+        File file = new File(filePath);
+        try{
+            fis = new FileInputStream(file);
+        }catch(FileNotFoundException e){
+            System.out.println("Not find file!");
+        }
+        try{
+//            PreparedStatement ps = conn.prepareStatement("Insert into SIGNPICTURE (IMAGE) values (?)");
+            PreparedStatement ps = conn.prepareStatement("update SIGNPICTURE set IMAGE = ? where LABORNUM = '"+laborNum+"'");
+            ps.setBinaryStream(1,fis,(int)file.length());
+            ps.executeUpdate();
+            ps.close();
+            fis.close();
+            System.out.println("写进去了!");
+        }catch(Exception e){
+            System.out.println("fis cann't cloase!");
+        }
+    }
+
+
+    // 图片签名处理
+    private static void batchThumb(String filePath1, String filePath2) throws IOException {
+        File file = new File(filePath1);
+        File[] files = file.listFiles();
+        if(files != null){
+            for(int i = 0; i < files.length; i++){
+                String fileName = files[i].getName();
+
+                Thumbnails.of(filePath1 + fileName)
+                        .size(100, 40)
+                        .toFile(filePath2 + fileName);
+            }
+        }
+    }
+
+    // 图片签名处理
+    private static void singleThumb(String filePath1, String filePath2, String fileName) throws IOException {
+        Thumbnails.of(filePath1 + fileName)
+                .size(100, 40)
+                .toFile(filePath2 + fileName);
+    }
+}

+ 53 - 0
src/main/java/com/gyee/frame/controller/ticket/LaborController.java

@@ -0,0 +1,53 @@
+package com.gyee.frame.controller.ticket;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.frame.common.dataSources.DataSource;
+import com.gyee.frame.common.dataSources.DataSourceType;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.ticket.Labor;
+import com.gyee.frame.service.ticket.LaborService;
+import com.gyee.frame.util.ticket.TicketUtil;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-26
+ */
+@RestController
+@RequestMapping("/labor")
+public class LaborController {
+
+    @Autowired
+    LaborService laborService;
+
+    @DataSource(value = DataSourceType.TICKET)
+    @GetMapping(value = "group")
+    public AjaxResult getLaborGroup(@RequestParam("role") String role) {
+        String groupName = TicketUtil.roleFormat(role);
+        List<Labor> labors = laborService.getLaborGroups("", groupName);
+        if (labors == null || labors.size() == 0)
+            return AjaxResult.error(4004, "人员获取失败");
+
+        return AjaxResult.successData(labors);
+    }
+
+    @DataSource(value = DataSourceType.TICKET)
+    @PostMapping(value = "single")
+    public AjaxResult getLaborSingle(@RequestParam("info") String info) {
+        JSONObject jsonObject = JSONObject.parseObject(info);
+        List<Labor> role = laborService.getLaborSingle(jsonObject.getDouble("instid"), jsonObject.getString("role"));
+        if (role == null || role.size() == 0)
+            return AjaxResult.error(4004, "人员获取失败");
+
+        return AjaxResult.successData(role);
+    }
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/LaborgrpsController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-28
+ */
+@RestController
+@RequestMapping("//laborgrps")
+public class LaborgrpsController {
+
+}
+

+ 52 - 0
src/main/java/com/gyee/frame/controller/ticket/WfactionController.java

@@ -0,0 +1,52 @@
+package com.gyee.frame.controller.ticket;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.gyee.frame.common.dataSources.DataSource;
+import com.gyee.frame.common.dataSources.DataSourceType;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.ticket.Wfaction;
+import com.gyee.frame.service.ticket.WfactionService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ * 前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("/wfaction")
+public class WfactionController {
+
+    @Autowired
+    WfactionService wfactionService;
+
+    @DataSource(value = DataSourceType.TICKET)
+    @PostMapping(value = "index")
+    public AjaxResult index(@RequestParam("info") String info) {
+        JSONObject jsonObject = JSONObject.parseObject(info);
+        Map<String, Object> actionMap = wfactionService.listAction(
+                jsonObject.getInteger("status"),
+                jsonObject.getDouble("nodeid"),
+                jsonObject.getDouble("version"),
+                jsonObject.getString("wfname"));
+
+        if(actionMap == null || actionMap.size() == 0)
+            return AjaxResult.error(4004, "工作流下一步操作查询失败");
+
+        return AjaxResult.successData(actionMap);
+    }
+
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/WfactionlistController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("//wfactionlist")
+public class WfactionlistController {
+
+}
+

+ 3 - 3
src/main/java/com/gyee/frame/controller/ticket/WfassignmentController.java

@@ -7,11 +7,11 @@ import com.gyee.frame.common.dataSources.DataSourceType;
 import com.gyee.frame.common.domain.AjaxResult;
 import com.gyee.frame.model.ticket.Wfassignment;
 import com.gyee.frame.service.ticket.WfassignmentService;
-import org.apache.ibatis.annotations.Param;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 
 import java.util.Optional;
@@ -22,7 +22,7 @@ import java.util.Optional;
  * </p>
  *
  * @author chenmh
- * @since 2020-06-02
+ * @since 2020-07-21
  */
 @RestController
 @RequestMapping("/wfassignment")
@@ -38,7 +38,7 @@ public class WfassignmentController {
      */
     @DataSource(value = DataSourceType.TICKET)
     @GetMapping(value = "list")
-    public AjaxResult getList(@Param("page") Optional<Long> page){
+    public AjaxResult getList(@RequestParam("page") Optional<Long> page){
         Long pageNum = page.orElse(1L);
 
         IPage<Wfassignment> wfassignment = wfassignmentService.selectPage(pageNum);

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/WfassignnotifyController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("//wfassignnotify")
+public class WfassignnotifyController {
+
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/WfinstanceController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("//wfinstance")
+public class WfinstanceController {
+
+}
+

+ 40 - 0
src/main/java/com/gyee/frame/controller/ticket/WfnodeController.java

@@ -0,0 +1,40 @@
+package com.gyee.frame.controller.ticket;
+
+
+import com.gyee.frame.common.dataSources.DataSource;
+import com.gyee.frame.common.dataSources.DataSourceType;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.ticket.Wfnode;
+import com.gyee.frame.service.ticket.WfnodeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.websocket.server.PathParam;
+import java.util.List;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("/wfnode")
+public class WfnodeController {
+
+    @Autowired
+    WfnodeService wfnodeService;
+
+    @DataSource(value = DataSourceType.TICKET)
+    @GetMapping(value = "index")
+    public AjaxResult getWfNode(@RequestParam("app") String app){
+        return AjaxResult.success();
+    }
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/WfprocessController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("//wfprocess")
+public class WfprocessController {
+
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/WfroleController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("//wfrole")
+public class WfroleController {
+
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/WftaskassignController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("//wftaskassign")
+public class WftaskassignController {
+
+}
+

+ 21 - 0
src/main/java/com/gyee/frame/controller/ticket/WftasknotifyController.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.controller.ticket;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("//wftasknotify")
+public class WftasknotifyController {
+
+}
+

+ 42 - 0
src/main/java/com/gyee/frame/controller/ticket/WftransController.java

@@ -0,0 +1,42 @@
+package com.gyee.frame.controller.ticket;
+
+
+import com.gyee.frame.common.dataSources.DataSource;
+import com.gyee.frame.common.dataSources.DataSourceType;
+import com.gyee.frame.common.domain.AjaxResult;
+import com.gyee.frame.model.ticket.FlowStep;
+import com.gyee.frame.service.ticket.WfinstanceService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@RestController
+@RequestMapping("/wftrans")
+public class WftransController {
+
+    @Autowired
+    WfinstanceService wfinstanceService;
+
+    @DataSource(value = DataSourceType.TICKET)
+    @GetMapping(value = "index")
+    public AjaxResult getIndex(@RequestParam("id") String ticketId){
+        Map<String, Object> result = wfinstanceService.flowInstance(Double.valueOf(ticketId));
+
+        if(result.size() == 0)
+            return AjaxResult.error(4004, "流程未启动");
+
+        return AjaxResult.successData(result);
+    }
+
+}
+

+ 37 - 0
src/main/java/com/gyee/frame/mapper/ticket/LaborMapper.java

@@ -0,0 +1,37 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Labor;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-26
+ */
+public interface LaborMapper extends BaseMapper<Labor> {
+
+    /**
+     * 根据流程节点角色查询人员
+     * @param dept
+     * @param groupName
+     * @return
+     */
+    @Select("select t1.* from LABOR t1 LEFT JOIN  LABORGRPS t2 ON t1.LABORNUM=t2.LABORNUM WHERE t2.GROUPNAME = #{groupName}")
+    List<Labor>getLaborGroup(String dept, String groupName);
+
+    /**
+     * 查询之前节点出现过的人员
+     *
+     * @param instId
+     * @param role
+     * @return
+     */
+    @Select("select top 1 t1.* from LABOR t1 LEFT JOIN  WFASSIGNMENT t2 ON t1.LABORNUM=t2.ASSIGNCODE WHERE t2.WFINSTID = #{instId} and t2.WFROLE = #{role}")
+    List<Labor> getLaborSingle(double instId, String role);
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/LaborgrpsMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Laborgrps;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-28
+ */
+public interface LaborgrpsMapper extends BaseMapper<Laborgrps> {
+
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WfactionMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wfaction;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfactionMapper extends BaseMapper<Wfaction> {
+
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WfactionlistMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wfactionlist;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfactionlistMapper extends BaseMapper<Wfactionlist> {
+
+}

+ 2 - 2
src/main/java/com/gyee/frame/mapper/ticket/WfassignmentMapper.java

@@ -1,6 +1,5 @@
 package com.gyee.frame.mapper.ticket;
 
-import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gyee.frame.model.ticket.Wfassignment;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 
@@ -10,7 +9,8 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  * </p>
  *
  * @author chenmh
- * @since 2020-06-02
+ * @since 2020-07-21
  */
 public interface WfassignmentMapper extends BaseMapper<Wfassignment> {
+
 }

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WfassignnotifyMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wfassignnotify;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfassignnotifyMapper extends BaseMapper<Wfassignnotify> {
+
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WfinstanceMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wfinstance;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfinstanceMapper extends BaseMapper<Wfinstance> {
+
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WfnodeMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wfnode;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfnodeMapper extends BaseMapper<Wfnode> {
+
+}

+ 21 - 0
src/main/java/com/gyee/frame/mapper/ticket/WfprocessMapper.java

@@ -0,0 +1,21 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wfprocess;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfprocessMapper extends BaseMapper<Wfprocess> {
+
+    /**
+     * 查询当前激活的流程版本号
+     * @return
+     */
+    int selectActiveVersion();
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WfroleMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wfrole;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfroleMapper extends BaseMapper<Wfrole> {
+
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WftaskassignMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wftaskassign;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WftaskassignMapper extends BaseMapper<Wftaskassign> {
+
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WftasknotifyMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wftasknotify;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WftasknotifyMapper extends BaseMapper<Wftasknotify> {
+
+}

+ 16 - 0
src/main/java/com/gyee/frame/mapper/ticket/WftransMapper.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.mapper.ticket;
+
+import com.gyee.frame.model.ticket.Wftrans;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WftransMapper extends BaseMapper<Wftrans> {
+
+}

+ 49 - 0
src/main/java/com/gyee/frame/model/ticket/FlowAction.java

@@ -0,0 +1,49 @@
+package com.gyee.frame.model.ticket;
+
+import lombok.Data;
+
+@Data
+public class FlowAction {
+
+    /**
+     * 下个节点
+     */
+    private String nodeId;
+
+    /**
+     * 节点描述
+     */
+    private String description;
+
+    /**
+     * 节点类型
+     */
+    private String actionType;
+
+    /**
+     * 是否默认
+     */
+    private String isDefault;
+
+    /**
+     * 是否需要选择人员  Y  N
+     */
+    private String filter;
+
+    /**
+     * 下一节点绑定的人员角色
+     */
+    private String role;
+
+    /**
+     * 下一节点是否为结束  Y  N
+     */
+    private String isEndNode = "N";
+
+    /**
+     * 默认   true
+     * 非默认 false
+     */
+    private Boolean checked;
+
+}

+ 20 - 0
src/main/java/com/gyee/frame/model/ticket/FlowStep.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.model.ticket;
+
+import lombok.Data;
+
+@Data
+public class FlowStep {
+    private String title;
+    private String principal;
+    private String date;
+
+    public FlowStep(String title) {
+        this.title = title;
+    }
+
+    public FlowStep(String title, String principal, String date) {
+        this.title = title;
+        this.principal = principal;
+        this.date = date;
+    }
+}

+ 148 - 0
src/main/java/com/gyee/frame/model/ticket/Labor.java

@@ -0,0 +1,148 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+import java.util.List;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-26
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("LABOR")
+public class Labor extends Model<Labor> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("LABORNUM")
+    private String labornum;
+
+    @TableField("LABORNAME")
+    private String laborname;
+
+    @TableField("CRAFT")
+    private String craft;
+
+    @TableField("DEPTNUM")
+    private String deptnum;
+
+    @TableField("CREWID")
+    private String crewid;
+
+    @TableField("JOBCODE")
+    private String jobcode;
+
+    @TableField("EMPLOYEETYPE")
+    private String employeetype;
+
+    @TableField("CALNUM")
+    private String calnum;
+
+    @TableField("SHIFTNUM")
+    private String shiftnum;
+
+    @TableField("ENABLED")
+    private String enabled;
+
+    @TableField("EMAIL")
+    private String email;
+
+    @TableField("WKADDRESS")
+    private String wkaddress;
+
+    @TableField("POSTNUM")
+    private String postnum;
+
+    @TableField("HOMEADDRESS")
+    private String homeaddress;
+
+    @TableField("PHONENUM")
+    private String phonenum;
+
+    @TableField("MPHONE")
+    private String mphone;
+
+    @TableField("HOMEPHONE")
+    private String homephone;
+
+    @TableField("PAYRATE")
+    private Double payrate;
+
+    @TableField("OTSCALE")
+    private Double otscale;
+
+    @TableField("BIRTHDATE")
+    private Date birthdate;
+
+    @TableField("HIREDATE")
+    private Date hiredate;
+
+    @TableField("OUTSIDE")
+    private String outside;
+
+    @TableField("GLACCOUNT")
+    private String glaccount;
+
+    @TableField("VENDOR")
+    private String vendor;
+
+    @TableField("SUPERVISOR")
+    private String supervisor;
+
+    @TableField("DEFAULTSTORELOC")
+    private String defaultstoreloc;
+
+    @TableField("CONSIGN")
+    private String consign;
+
+    @TableField("CONSIGSDATE")
+    private Date consigsdate;
+
+    @TableField("CONSIGEDATE")
+    private Date consigedate;
+
+    @TableField("NAVMENUTYPE")
+    private String navmenutype;
+
+    @TableField("SITENUM")
+    private String sitenum;
+
+    @TableField("CORPNUM")
+    private String corpnum;
+
+    @TableField("DEFAULTLOC")
+    private String defaultloc;
+
+    @TableField("AUTHALLDEPT")
+    private String authalldept;
+
+    @TableField("AUTHDEPT")
+    private String authdept;
+
+    @TableField("SHOWMIND")
+    private String showmind;
+
+    @TableField("ORDERBY")
+    private Double orderby;
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 42 - 0
src/main/java/com/gyee/frame/model/ticket/Laborgrps.java

@@ -0,0 +1,42 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-28
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("LABORGRPS")
+public class Laborgrps extends Model<Laborgrps> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("GROUPNAME")
+    private String groupname;
+
+    @TableField("LABORNUM")
+    private String labornum;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 80 - 0
src/main/java/com/gyee/frame/model/ticket/Wfaction.java

@@ -0,0 +1,80 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFACTION")
+public class Wfaction extends Model<Wfaction> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("STARTNODEID")
+    private Double startnodeid;
+
+    @TableField("ENDNODEID")
+    private Double endnodeid;
+
+    @TableField("ACTION")
+    private String action;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("ACTIONTYPE")
+    private String actiontype;
+
+    @TableField("ACTIONSTRING")
+    private String actionstring;
+
+    @TableField("CONDITION")
+    private String condition;
+
+    @TableField("CONDITIONCLASS")
+    private String conditionclass;
+
+    @TableField("STARTPT")
+    private Double startpt;
+
+    @TableField("ENDPT")
+    private Double endpt;
+
+    @TableField("ISPOSITIVE")
+    private String ispositive;
+
+    @TableField("ACTORDERBY")
+    private Double actorderby;
+
+    @TableField("DEFAULTSEL")
+    private String defaultsel;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 56 - 0
src/main/java/com/gyee/frame/model/ticket/Wfactionlist.java

@@ -0,0 +1,56 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFACTIONLIST")
+public class Wfactionlist extends Model<Wfactionlist> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("ACTION")
+    private String action;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("TABLENAME")
+    private String tablename;
+
+    @TableField("ACTIONTYPE")
+    private String actiontype;
+
+    @TableField("ACTIONSTRING")
+    private String actionstring;
+
+    @TableField("STATUSLIST")
+    private String statuslist;
+
+    @TableField("TABLECOL")
+    private String tablecol;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 10 - 11
src/main/java/com/gyee/frame/model/ticket/Wfassignment.java

@@ -2,13 +2,13 @@ package com.gyee.frame.model.ticket;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.baomidou.mybatisplus.extension.activerecord.Model;
-import java.util.Date;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableField;
 import java.io.Serializable;
+import java.util.Date;
+
 import lombok.Data;
 import lombok.EqualsAndHashCode;
-import lombok.experimental.Accessors;
 
 /**
  * <p>
@@ -16,18 +16,17 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author chenmh
- * @since 2020-06-02
+ * @since 2020-07-21
  */
 @Data
-@EqualsAndHashCode(callSuper = false)
-@Accessors(chain = true)
-@TableName("WFASSIGNMENT")
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFASSIGNMENT")
 public class Wfassignment extends Model<Wfassignment> {
 
-    private static final long serialVersionUID = 1L;
+    private static final long serialVersionUID=1L;
 
-    @TableId("ID")
-    private Double id;
+      @TableId("ID")
+      private Double id;
 
     @TableField("DESCRIPTION")
     private String description;
@@ -98,7 +97,7 @@ public class Wfassignment extends Model<Wfassignment> {
 
     @Override
     protected Serializable pkVal() {
-        return this.id;
-    }
+          return this.id;
+      }
 
 }

+ 85 - 0
src/main/java/com/gyee/frame/model/ticket/Wfassignnotify.java

@@ -0,0 +1,85 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFASSIGNNOTIFY")
+public class Wfassignnotify extends Model<Wfassignnotify> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("ASSIGNCODE")
+    private String assigncode;
+
+    @TableField("APP")
+    private String app;
+
+    @TableField("STARTDATE")
+    private Date startdate;
+
+    @TableField("EMAILNOTIFY")
+    private String emailnotify;
+
+    @TableField("ASSIGNSTATUS")
+    private String assignstatus;
+
+    @TableField("WFINSTID")
+    private Double wfinstid;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("INITPERSON")
+    private String initperson;
+
+    @TableField("OWNERTABLE")
+    private String ownertable;
+
+    @TableField("OWNERID")
+    private Double ownerid;
+
+    @TableField("WFROLE")
+    private String wfrole;
+
+    @TableField("LASTMEMO")
+    private String lastmemo;
+
+    @TableField("NODEID")
+    private Double nodeid;
+
+    @TableField("TASKID")
+    private Double taskid;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 64 - 0
src/main/java/com/gyee/frame/model/ticket/Wfinstance.java

@@ -0,0 +1,64 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFINSTANCE")
+public class Wfinstance extends Model<Wfinstance> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("OWNERTABLE")
+    private String ownertable;
+
+    @TableField("OWNERID")
+    private Double ownerid;
+
+    @TableField("ACTIVE")
+    private String active;
+
+    @TableField("STARTOR")
+    private String startor;
+
+    @TableField("STARTTIME")
+    private Date starttime;
+
+    @TableField("CURNODEID")
+    private Double curnodeid;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 65 - 0
src/main/java/com/gyee/frame/model/ticket/Wfnode.java

@@ -0,0 +1,65 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFNODE")
+public class Wfnode extends Model<Wfnode> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("NODETYPE")
+    private String nodetype;
+
+    @TableField("XCANVAS")
+    private Double xcanvas;
+
+    @TableField("YCANVAS")
+    private Double ycanvas;
+
+    @TableField("TITLE")
+    private String title;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("CONDITION")
+    private String condition;
+
+    @TableField("CUSTOMCLASS")
+    private String customclass;
+
+    @TableField("ISAGGRE")
+    private String isaggre;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 70 - 0
src/main/java/com/gyee/frame/model/ticket/Wfprocess.java

@@ -0,0 +1,70 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFPROCESS")
+public class Wfprocess extends Model<Wfprocess> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("ENABLED")
+    private String enabled;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("CHANGEBY")
+    private String changeby;
+
+    @TableField("CHANGEDATE")
+    private Date changedate;
+
+    @TableField("TABLENAME")
+    private String tablename;
+
+    @TableField("ACTIVE")
+    private String active;
+
+    @TableField("AUTOINIT")
+    private String autoinit;
+
+    @TableField("APP")
+    private String app;
+
+    @TableField("WFINSTDESC")
+    private String wfinstdesc;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 50 - 0
src/main/java/com/gyee/frame/model/ticket/Wfrole.java

@@ -0,0 +1,50 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFROLE")
+public class Wfrole extends Model<Wfrole> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("WFROLE")
+    private String wfrole;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("ROLETYPE")
+    private String roletype;
+
+    @TableField("VALUE")
+    private String value;
+
+    @TableField("TABLENAME")
+    private String tablename;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 80 - 0
src/main/java/com/gyee/frame/model/ticket/Wftaskassign.java

@@ -0,0 +1,80 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFTASKASSIGN")
+public class Wftaskassign extends Model<Wftaskassign> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("NODEID")
+    private Double nodeid;
+
+    @TableField("APP")
+    private String app;
+
+    @TableField("WFROLE")
+    private String wfrole;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("EMAILNOTIFY")
+    private String emailnotify;
+
+    @TableField("CONDITION")
+    private String condition;
+
+    @TableField("CONDITIONCLASS")
+    private String conditionclass;
+
+    @TableField("SITEFILTER")
+    private String sitefilter;
+
+    @TableField("PRIORITY")
+    private Double priority;
+
+    @TableField("DEALTIMEOUT")
+    private Double dealtimeout;
+
+    @TableField("UPWFROLE")
+    private String upwfrole;
+
+    @TableField("DEALTYPE")
+    private String dealtype;
+
+    @TableField("NEEDPASS")
+    private String needpass;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 65 - 0
src/main/java/com/gyee/frame/model/ticket/Wftasknotify.java

@@ -0,0 +1,65 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFTASKNOTIFY")
+public class Wftasknotify extends Model<Wftasknotify> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("NODEID")
+    private Double nodeid;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("APP")
+    private String app;
+
+    @TableField("WFROLE")
+    private String wfrole;
+
+    @TableField("DESCRIPTION")
+    private String description;
+
+    @TableField("EMAILNOTIFY")
+    private String emailnotify;
+
+    @TableField("CONDITION")
+    private String condition;
+
+    @TableField("CONDITIONCLASS")
+    private String conditionclass;
+
+    @TableField("SITEFILTER")
+    private String sitefilter;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 79 - 0
src/main/java/com/gyee/frame/model/ticket/Wftrans.java

@@ -0,0 +1,79 @@
+package com.gyee.frame.model.ticket;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import java.util.Date;
+
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Data
+  @EqualsAndHashCode(callSuper = false)
+    @TableName("WFTRANS")
+public class Wftrans extends Model<Wftrans> {
+
+    private static final long serialVersionUID=1L;
+
+      @TableId("ID")
+      private Double id;
+
+    @TableField("NODEID")
+    private Double nodeid;
+
+    @TableField("WFINSTID")
+    private Double wfinstid;
+
+    @TableField("ASSIGNID")
+    private Double assignid;
+
+    @TableField("ACTIONID")
+    private Double actionid;
+
+    @TableField("TRANSTYPE")
+    private String transtype;
+
+    @TableField("TRANSDATE")
+    private Date transdate;
+
+    @TableField("MEMO")
+    private String memo;
+
+    @TableField("NODETYPE")
+    private String nodetype;
+
+    @TableField("WFNAME")
+    private String wfname;
+
+    @TableField("WFREVISION")
+    private Double wfrevision;
+
+    @TableField("OWNERTABLE")
+    private String ownertable;
+
+    @TableField("OWNERID")
+    private Double ownerid;
+
+    @TableField("ASSIGNCODE")
+    private String assigncode;
+
+    @TableField("PRIORITY")
+    private Double priority;
+
+
+    @Override
+    protected Serializable pkVal() {
+          return this.id;
+      }
+
+}

+ 41 - 0
src/main/java/com/gyee/frame/service/impl/ticket/LaborServiceImpl.java

@@ -0,0 +1,41 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.frame.model.ticket.Labor;
+import com.gyee.frame.mapper.ticket.LaborMapper;
+import com.gyee.frame.service.ticket.LaborService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-26
+ */
+@Service
+public class LaborServiceImpl extends ServiceImpl<LaborMapper, Labor> implements LaborService {
+
+    @Override
+    public List<Labor> getLabors() {
+        List<Labor> labors = baseMapper.selectList(null);
+        return labors;
+    }
+
+    @Override
+    public List<Labor> getLaborGroups(String dept, String groupName) {
+        List<Labor> labors = baseMapper.getLaborGroup(dept, groupName);
+        return labors;
+    }
+
+    @Override
+    public List<Labor> getLaborSingle(double instId, String role) {
+        List<Labor> labor = baseMapper.getLaborSingle(instId, role);
+
+        return labor;
+    }
+}

+ 20 - 0
src/main/java/com/gyee/frame/service/impl/ticket/LaborgrpsServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.gyee.frame.model.ticket.Laborgrps;
+import com.gyee.frame.mapper.ticket.LaborgrpsMapper;
+import com.gyee.frame.service.ticket.LaborgrpsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-28
+ */
+@Service
+public class LaborgrpsServiceImpl extends ServiceImpl<LaborgrpsMapper, Laborgrps> implements LaborgrpsService {
+
+}

+ 86 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WfactionServiceImpl.java

@@ -0,0 +1,86 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.frame.model.ticket.FlowAction;
+import com.gyee.frame.model.ticket.Wfaction;
+import com.gyee.frame.mapper.ticket.WfactionMapper;
+import com.gyee.frame.model.ticket.Wftaskassign;
+import com.gyee.frame.service.ticket.WfactionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.frame.service.ticket.WftaskassignService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.stream.Collectors;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WfactionServiceImpl extends ServiceImpl<WfactionMapper, Wfaction> implements WfactionService {
+
+    @Autowired
+    WftaskassignService wftaskassignService;
+
+    @Override
+    public Map<String, Object> listAction(int status, double startNodeId, double version, String wfName) {
+        QueryWrapper<Wfaction> wrapper = new QueryWrapper<>();
+        wrapper.eq("STARTNODEID", startNodeId);
+        wrapper.eq("WFREVISION", version);
+        wrapper.eq("WFNAME", wfName);
+        wrapper.orderByAsc("ENDNODEID");
+        wrapper.in("ACTIONTYPE", "空操作", "自定义类");
+
+        List<Wfaction> wfactions = baseMapper.selectList(wrapper);
+
+        if (wfactions == null)
+           return null;
+
+        /**
+         * 查询绑定的人员组信息
+         */
+        List<Wftaskassign> wftaskassigns = wftaskassignService.listTaskAssign(version, wfName);
+        Map<Double, String> taskMap = wftaskassigns.stream().collect(Collectors.toMap(Wftaskassign::getNodeid, Wftaskassign::getWfrole));
+
+        /**
+         * 返回结果 -- map
+         */
+        Map<String, Object> map = new HashMap<>();
+        List<FlowAction> list = new ArrayList<>();
+
+        double temp = 0.0;
+        for (Wfaction wfaction : wfactions){
+            FlowAction action = new FlowAction();
+            action.setDescription(wfaction.getDescription());
+            action.setActionType(wfaction.getActiontype());
+            action.setNodeId(String.valueOf(wfaction.getEndnodeid()));
+            action.setRole(taskMap.get(wfaction.getEndnodeid()));
+            action.setChecked(false);
+
+            /**
+             * 过滤重复项  判定是否需要手动选择人员
+             */
+            if (temp != wfaction.getEndnodeid()){
+                action.setFilter("N");
+                list.add(action);
+            }else {
+                action = list.get(list.size() - 1);
+                action.setFilter("Y");
+            }
+            temp = wfaction.getEndnodeid();
+        }
+
+        map.put("action", list);
+
+        return map;
+    }
+}

+ 20 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WfactionlistServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.gyee.frame.model.ticket.Wfactionlist;
+import com.gyee.frame.mapper.ticket.WfactionlistMapper;
+import com.gyee.frame.service.ticket.WfactionlistService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WfactionlistServiceImpl extends ServiceImpl<WfactionlistMapper, Wfactionlist> implements WfactionlistService {
+
+}

+ 13 - 1
src/main/java/com/gyee/frame/service/impl/ticket/WfassignmentServiceImpl.java

@@ -17,7 +17,7 @@ import java.util.List;
  * </p>
  *
  * @author chenmh
- * @since 2020-06-02
+ * @since 2020-07-21
  */
 @Service
 public class WfassignmentServiceImpl extends ServiceImpl<WfassignmentMapper, Wfassignment> implements WfassignmentService {
@@ -34,4 +34,16 @@ public class WfassignmentServiceImpl extends ServiceImpl<WfassignmentMapper, Wfa
 
         return iPage;
     }
+
+    @Override
+    public List<Wfassignment> listAssignment(double instanceId, double ownerId) {
+        QueryWrapper<Wfassignment> wrapper = new QueryWrapper<>();
+        wrapper.eq("WFINSTID", instanceId);
+        wrapper.eq("OWNERID", ownerId);
+        wrapper.orderByAsc("ID");
+
+        List<Wfassignment> wfassignments = baseMapper.selectList(wrapper);
+
+        return wfassignments;
+    }
 }

+ 20 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WfassignnotifyServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.gyee.frame.model.ticket.Wfassignnotify;
+import com.gyee.frame.mapper.ticket.WfassignnotifyMapper;
+import com.gyee.frame.service.ticket.WfassignnotifyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WfassignnotifyServiceImpl extends ServiceImpl<WfassignnotifyMapper, Wfassignnotify> implements WfassignnotifyService {
+
+}

+ 130 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WfinstanceServiceImpl.java

@@ -0,0 +1,130 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.frame.model.ticket.*;
+import com.gyee.frame.mapper.ticket.WfinstanceMapper;
+import com.gyee.frame.service.ticket.*;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.frame.util.DateUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+import java.util.stream.Collectors;
+
+
+/**
+ * <p>
+ * 服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WfinstanceServiceImpl extends ServiceImpl<WfinstanceMapper, Wfinstance> implements WfinstanceService {
+
+    @Autowired
+    WftransService wftransService;
+    @Autowired
+    WfnodeService wfnodeService;
+    @Autowired
+    WfassignmentService wfassignmentService;
+    @Autowired
+    LaborService laborService;
+
+    /**
+     * map的status属性  0:未开始  1:结束  2:正在进行
+     *
+     * @param ownerId
+     * @return
+     */
+    @Override
+    public Map<String, Object> flowInstance(double ownerId) {
+        QueryWrapper<Wfinstance> wrapper = new QueryWrapper<>();
+        wrapper.eq("OWNERID", ownerId);
+        Wfinstance wfinstance = baseMapper.selectOne(wrapper);
+
+        /**
+         * 返回结果 -- map
+         */
+        Map<String, Object> map = new HashMap<>();
+        List<FlowStep> list = new ArrayList<>();
+
+        if (wfinstance == null) {
+            map.put("flow", list);
+            map.put("status", "0");
+            return map;
+        }
+
+        /**
+         * 人员: num ===> name
+         */
+        List<Labor> labors = laborService.getLabors();
+        Map<String, String> laborMap = labors.stream().collect(Collectors.toMap(Labor::getLabornum, Labor::getLaborname));
+
+        /**
+         * 查询流程相关历史
+         */
+        List<Wftrans> wftrans = wftransService.listTrans(wfinstance.getId());
+        List<Wfnode> wfnodes = wfnodeService.getWfNode(wfinstance.getWfname(), wfinstance.getWfrevision());
+        List<Wfassignment> wfassignments = wfassignmentService.listAssignment(wfinstance.getId(), ownerId);
+
+        Map<Double, String> nodeMap = wfnodes.stream().collect(Collectors.toMap(Wfnode::getId, Wfnode::getTitle));
+        Map<Double, Date> assignmentMap = wfassignments.stream()
+                .filter(e -> e.getEnddate() != null)
+                .collect(Collectors.toMap(Wfassignment::getId, Wfassignment::getEnddate));
+
+        List<Double> nodes = new ArrayList<>();
+        List<String> principals = new ArrayList<>();
+        for (int i = 0; i < wftrans.size(); i++) {
+            nodes.add(i, wftrans.get(i).getNodeid());
+            principals.add(i, wftrans.get(i).getAssigncode());
+        }
+        for (int i = 0; i < nodes.size(); i++) {
+            FlowStep obj = null;
+            switch (wftrans.get(i).getNodetype()) {
+                case "开始":
+                    obj = new FlowStep("节点:" + nodeMap.get(nodes.get(i)),
+                            "人员:" + laborMap.get(principals.get(i)),
+                            "日期:" + DateUtils.format(wftrans.get(0).getTransdate().toString(), DateUtils.DATE_TIME_PATTERN));
+                    break;
+                case "任务":
+                    obj = new FlowStep("节点:" + nodeMap.get(nodes.get(i)),
+                            "人员:" + laborMap.get(principals.get(i)),
+                            "日期:" + DateUtils.format(assignmentMap.get(wftrans.get(i).getAssignid()).toString(), DateUtils.DATE_TIME_PATTERN));
+                    break;
+                case "结束":
+                    obj = new FlowStep("节点:" + nodeMap.get(nodes.get(i)));
+                    break;
+            }
+            list.add(obj);
+        }
+
+        /**
+         * 如果active值为‘否’,表示流程已经结束
+         */
+        if (wfinstance.getActive().equals("否")) {
+            map.put("flow", list);
+            map.put("status", "1");
+            return map;
+        }
+
+        /**
+         * 如果active值为‘是’,表示流程正在进行
+         */
+        if (wfinstance.getActive().equals("是")) {
+            FlowStep obj = new FlowStep("节点:" + nodeMap.get(wfassignments.get(wfassignments.size() - 1).getNodeid()),
+                    "人员:" + laborMap.get(wfassignments.get(wfassignments.size() - 1).getAssigncode()),
+                    "日期:");
+            list.add(obj);
+            map.put("flow", list);
+            map.put("status", 2);
+            map.put("nodeid", wfassignments.get(wfassignments.size() - 1).getNodeid());
+            map.put("version", wfinstance.getWfrevision());
+            map.put("instid", wfinstance.getId());
+        }
+
+        return map;
+    }
+}

+ 37 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WfnodeServiceImpl.java

@@ -0,0 +1,37 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.frame.model.ticket.Wfnode;
+import com.gyee.frame.mapper.ticket.WfnodeMapper;
+import com.gyee.frame.model.ticket.Wfprocess;
+import com.gyee.frame.service.ticket.WfnodeService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.frame.service.ticket.WfprocessService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WfnodeServiceImpl extends ServiceImpl<WfnodeMapper, Wfnode> implements WfnodeService {
+
+    @Override
+    public List<Wfnode> getWfNode(String wfName, double version) {
+        QueryWrapper<Wfnode> wrapper = new QueryWrapper<>();
+        wrapper.eq("WFNAME", wfName);
+        wrapper.eq("WFREVISION", version);
+
+        List<Wfnode> wfnodes = baseMapper.selectList(wrapper);
+
+        return wfnodes;
+    }
+}

+ 35 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WfprocessServiceImpl.java

@@ -0,0 +1,35 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.frame.model.ticket.Wfprocess;
+import com.gyee.frame.mapper.ticket.WfprocessMapper;
+import com.gyee.frame.service.ticket.WfprocessService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WfprocessServiceImpl extends ServiceImpl<WfprocessMapper, Wfprocess> implements WfprocessService {
+
+    @Override
+    public Wfprocess activeVersion(String app) {
+        QueryWrapper<Wfprocess> wrapper = new QueryWrapper<>();
+        wrapper.eq("APP", app);
+        wrapper.eq("ACTIVE", "是");
+        wrapper.eq("TABLENAME", "WORKTICKET");
+
+        Wfprocess wfprocess = baseMapper.selectOne(wrapper);
+
+        if (wfprocess == null)
+            throw new RuntimeException();
+
+        return wfprocess;
+    }
+}

+ 22 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WfroleServiceImpl.java

@@ -0,0 +1,22 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.gyee.frame.model.ticket.Labor;
+import com.gyee.frame.model.ticket.Wfrole;
+import com.gyee.frame.mapper.ticket.WfroleMapper;
+import com.gyee.frame.service.ticket.WfroleService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WfroleServiceImpl extends ServiceImpl<WfroleMapper, Wfrole> implements WfroleService {
+}

+ 33 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WftaskassignServiceImpl.java

@@ -0,0 +1,33 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.frame.model.ticket.Wftaskassign;
+import com.gyee.frame.mapper.ticket.WftaskassignMapper;
+import com.gyee.frame.service.ticket.WftaskassignService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WftaskassignServiceImpl extends ServiceImpl<WftaskassignMapper, Wftaskassign> implements WftaskassignService {
+
+    @Override
+    public List<Wftaskassign> listTaskAssign(double version, String wfName) {
+        QueryWrapper<Wftaskassign> wrapper = new QueryWrapper<>();
+        wrapper.eq("WFREVISION", version);
+        wrapper.eq("WFNAME", wfName);
+
+        List<Wftaskassign> wftaskassigns = baseMapper.selectList(wrapper);
+
+        return wftaskassigns;
+    }
+}

+ 20 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WftasknotifyServiceImpl.java

@@ -0,0 +1,20 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.gyee.frame.model.ticket.Wftasknotify;
+import com.gyee.frame.mapper.ticket.WftasknotifyMapper;
+import com.gyee.frame.service.ticket.WftasknotifyService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WftasknotifyServiceImpl extends ServiceImpl<WftasknotifyMapper, Wftasknotify> implements WftasknotifyService {
+
+}

+ 34 - 0
src/main/java/com/gyee/frame/service/impl/ticket/WftransServiceImpl.java

@@ -0,0 +1,34 @@
+package com.gyee.frame.service.impl.ticket;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.gyee.frame.model.ticket.Wfassignment;
+import com.gyee.frame.model.ticket.Wftrans;
+import com.gyee.frame.mapper.ticket.WftransMapper;
+import com.gyee.frame.service.ticket.WftransService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+@Service
+public class WftransServiceImpl extends ServiceImpl<WftransMapper, Wftrans> implements WftransService {
+
+    @Override
+    public List<Wftrans> listTrans(double instanceId) {
+        QueryWrapper<Wftrans> wrapper = new QueryWrapper<>();
+        wrapper.eq("WFINSTID", instanceId);
+        wrapper.orderByAsc("ID");
+
+        List<Wftrans> trans = baseMapper.selectList(wrapper);
+
+        return trans;
+    }
+}

+ 40 - 0
src/main/java/com/gyee/frame/service/ticket/LaborService.java

@@ -0,0 +1,40 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Labor;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-26
+ */
+public interface LaborService extends IService<Labor> {
+
+    /**
+     * 查询所有人员
+     * @return
+     */
+    List<Labor> getLabors();
+
+    /**
+     * 根据流程节点角色查询人员
+     * @param dept
+     * @param role
+     * @return
+     */
+    List<Labor> getLaborGroups(String dept, String role);
+
+    /**
+     * 查询之前节点出现过的人员
+     *
+     * @param instId
+     * @param role
+     * @return
+     */
+    List<Labor> getLaborSingle(double instId, String role);
+}

+ 16 - 0
src/main/java/com/gyee/frame/service/ticket/LaborgrpsService.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Laborgrps;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-28
+ */
+public interface LaborgrpsService extends IService<Laborgrps> {
+
+}

+ 29 - 0
src/main/java/com/gyee/frame/service/ticket/WfactionService.java

@@ -0,0 +1,29 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wfaction;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfactionService extends IService<Wfaction> {
+
+    /**
+     * 查询下一步的操作步骤
+     *
+     * @param status
+     * @param startNodeId
+     * @param version
+     * @param wfName
+     * @return
+     */
+    Map<String, Object> listAction(int status, double startNodeId, double version, String wfName);
+}

+ 16 - 0
src/main/java/com/gyee/frame/service/ticket/WfactionlistService.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wfactionlist;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfactionlistService extends IService<Wfactionlist> {
+
+}

+ 13 - 2
src/main/java/com/gyee/frame/service/ticket/WfassignmentService.java

@@ -1,6 +1,5 @@
 package com.gyee.frame.service.ticket;
 
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.gyee.frame.model.ticket.Wfassignment;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -13,7 +12,7 @@ import java.util.List;
  * </p>
  *
  * @author chenmh
- * @since 2020-06-02
+ * @since 2020-07-21
  */
 public interface WfassignmentService extends IService<Wfassignment> {
 
@@ -23,4 +22,16 @@ public interface WfassignmentService extends IService<Wfassignment> {
      * @return
      */
     IPage<Wfassignment> selectPage(long pageNum);
+
+
+    /**
+     * 根据WFINSTID获取所有流程历史
+     *
+     * WFINSTID 对应 WFINSTANCE表的id
+     *
+     * @param instanceId
+     * @param ownerId
+     * @return
+     */
+    List<Wfassignment> listAssignment(double instanceId, double ownerId);
 }

+ 16 - 0
src/main/java/com/gyee/frame/service/ticket/WfassignnotifyService.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wfassignnotify;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfassignnotifyService extends IService<Wfassignnotify> {
+
+}

+ 28 - 0
src/main/java/com/gyee/frame/service/ticket/WfinstanceService.java

@@ -0,0 +1,28 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.FlowStep;
+import com.gyee.frame.model.ticket.Wfinstance;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfinstanceService extends IService<Wfinstance> {
+
+    /**
+     * 根据 ticketid 获取是流程状态 ---- 启用 or 结束
+     * workticket 表的id = wfinstance 表的 id
+     *
+     * @param ownerId
+     * @return
+     */
+    Map<String, Object> flowInstance(double ownerId);
+}

+ 26 - 0
src/main/java/com/gyee/frame/service/ticket/WfnodeService.java

@@ -0,0 +1,26 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wfnode;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfnodeService extends IService<Wfnode> {
+
+    /**
+     * 根据启用的版本(WFREVISION)以及流程名称(WFNAME)
+     * 获取所有流程节点
+     * @param wfName
+     * @param version
+     * @return
+     */
+    List<Wfnode> getWfNode(String wfName, double version);
+}

+ 23 - 0
src/main/java/com/gyee/frame/service/ticket/WfprocessService.java

@@ -0,0 +1,23 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wfprocess;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfprocessService extends IService<Wfprocess> {
+
+    /**
+     * 获取当前激活的流程
+     *
+     * @param app
+     * @return
+     */
+    Wfprocess activeVersion(String app);
+}

+ 16 - 0
src/main/java/com/gyee/frame/service/ticket/WfroleService.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wfrole;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WfroleService extends IService<Wfrole> {
+}

+ 26 - 0
src/main/java/com/gyee/frame/service/ticket/WftaskassignService.java

@@ -0,0 +1,26 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wftaskassign;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WftaskassignService extends IService<Wftaskassign> {
+
+    /**
+     * 查询节点的人员组
+     *
+     * @param version
+     * @param wfName
+     * @return
+     */
+    List<Wftaskassign> listTaskAssign(double version, String wfName);
+}

+ 16 - 0
src/main/java/com/gyee/frame/service/ticket/WftasknotifyService.java

@@ -0,0 +1,16 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wftasknotify;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WftasknotifyService extends IService<Wftasknotify> {
+
+}

+ 25 - 0
src/main/java/com/gyee/frame/service/ticket/WftransService.java

@@ -0,0 +1,25 @@
+package com.gyee.frame.service.ticket;
+
+import com.gyee.frame.model.ticket.Wftrans;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author chenmh
+ * @since 2020-07-21
+ */
+public interface WftransService extends IService<Wftrans> {
+
+    /**
+     * 根据流程实例表WFINSTANCE的 id 获取所有流程历史
+     *
+     * @param instanceId
+     * @return
+     */
+    List<Wftrans> listTrans(double instanceId);
+}

+ 20 - 0
src/main/java/com/gyee/frame/util/DateUtils.java

@@ -3,10 +3,12 @@ package com.gyee.frame.util;
 import org.apache.commons.lang3.time.DateFormatUtils;
 
 import java.lang.management.ManagementFactory;
+import java.text.DateFormat;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.Calendar;
 import java.util.Date;
+import java.util.Locale;
 
 /**
  * 日期处理
@@ -38,6 +40,24 @@ public class DateUtils  extends org.apache.commons.lang3.time.DateUtils{
         return null;
     }
 
+    /**
+     * 时间转换   GMT+
+     * @param pattern
+     * @return
+     */
+    public static String format(String stringDate, String pattern) {
+        SimpleDateFormat sf1 = new SimpleDateFormat("EEE MMM dd hh:mm:ss z yyyy", Locale.ENGLISH);
+        SimpleDateFormat sf2 = new SimpleDateFormat(pattern);
+        Date date = null;
+        try {
+            date = sf1.parse(stringDate);
+            return sf2.format(date);
+        } catch (ParseException e) {
+            e.printStackTrace();
+        }
+        return null;
+    }
+
     public static Date parseLongToDate(long time) {
         return new Date(time);
     }

+ 35 - 0
src/main/java/com/gyee/frame/util/ticket/TicketUtil.java

@@ -77,4 +77,39 @@ public class TicketUtil {
 
         return map;
     }
+
+    /**
+     * 流程角色转换为人员组
+     *
+     * @param role
+     * @return
+     */
+    public static String roleFormat(String role){
+        String groupName = null;
+        switch (role) {
+            case "工作票签发人":
+                groupName = "SHIFTENGINEER";
+                break;
+            case "值班负责人":
+                groupName = "WTSIGNATORY";
+                break;
+            case "工作票许可人":
+                groupName = "XUKEREN";
+                break;
+            case "经济运行人员":
+                groupName = "经济运行人员";
+                break;
+            case "缺陷运行人员":
+                groupName = "RUNUSER";
+                break;
+            case "检修人员":
+                groupName = "CHECKREPAIRUSER";
+                break;
+            case "消防监护人":
+                groupName = "FIRECONTROL";
+                break;
+        }
+
+        return groupName;
+    }
 }

+ 1 - 1
src/main/resources/application-dev.yml

@@ -22,7 +22,7 @@ spring:
      ticket:
         url: jdbc:sqlserver://10.155.32.2:1433;DatabaseName=test
         username: sa
-        password: ibs
+        password: gyee54321
         driver-class-name: com.microsoft.sqlserver.jdbc.SQLServerDriver
      #配置初始化连接数大小
      initial-size: 10

binární
src/main/resources/lib/thumbnailator-0.4.2-all.jar


+ 52 - 0
src/main/resources/mybatis/ticket/LaborMapper.xml

@@ -0,0 +1,52 @@
+<?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.gyee.frame.mapper.ticket.LaborMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Labor">
+        <id column="ID" property="id" />
+        <result column="LABORNUM" property="labornum" />
+        <result column="LABORNAME" property="laborname" />
+        <result column="CRAFT" property="craft" />
+        <result column="DEPTNUM" property="deptnum" />
+        <result column="CREWID" property="crewid" />
+        <result column="JOBCODE" property="jobcode" />
+        <result column="EMPLOYEETYPE" property="employeetype" />
+        <result column="CALNUM" property="calnum" />
+        <result column="SHIFTNUM" property="shiftnum" />
+        <result column="ENABLED" property="enabled" />
+        <result column="EMAIL" property="email" />
+        <result column="WKADDRESS" property="wkaddress" />
+        <result column="POSTNUM" property="postnum" />
+        <result column="HOMEADDRESS" property="homeaddress" />
+        <result column="PHONENUM" property="phonenum" />
+        <result column="MPHONE" property="mphone" />
+        <result column="HOMEPHONE" property="homephone" />
+        <result column="PAYRATE" property="payrate" />
+        <result column="OTSCALE" property="otscale" />
+        <result column="BIRTHDATE" property="birthdate" />
+        <result column="HIREDATE" property="hiredate" />
+        <result column="OUTSIDE" property="outside" />
+        <result column="GLACCOUNT" property="glaccount" />
+        <result column="VENDOR" property="vendor" />
+        <result column="SUPERVISOR" property="supervisor" />
+        <result column="DEFAULTSTORELOC" property="defaultstoreloc" />
+        <result column="CONSIGN" property="consign" />
+        <result column="CONSIGSDATE" property="consigsdate" />
+        <result column="CONSIGEDATE" property="consigedate" />
+        <result column="NAVMENUTYPE" property="navmenutype" />
+        <result column="SITENUM" property="sitenum" />
+        <result column="CORPNUM" property="corpnum" />
+        <result column="DEFAULTLOC" property="defaultloc" />
+        <result column="AUTHALLDEPT" property="authalldept" />
+        <result column="AUTHDEPT" property="authdept" />
+        <result column="SHOWMIND" property="showmind" />
+        <result column="ORDERBY" property="orderby" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, LABORNUM, LABORNAME, CRAFT, DEPTNUM, CREWID, JOBCODE, EMPLOYEETYPE, CALNUM, SHIFTNUM, ENABLED, EMAIL, WKADDRESS, POSTNUM, HOMEADDRESS, PHONENUM, MPHONE, HOMEPHONE, PAYRATE, OTSCALE, BIRTHDATE, HIREDATE, OUTSIDE, GLACCOUNT, VENDOR, SUPERVISOR, DEFAULTSTORELOC, CONSIGN, CONSIGSDATE, CONSIGEDATE, NAVMENUTYPE, SITENUM, CORPNUM, DEFAULTLOC, AUTHALLDEPT, AUTHDEPT, SHOWMIND, ORDERBY
+    </sql>
+
+</mapper>

+ 17 - 0
src/main/resources/mybatis/ticket/LaborgrpsMapper.xml

@@ -0,0 +1,17 @@
+<?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.gyee.frame.mapper.ticket.LaborgrpsMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Laborgrps">
+        <id column="ID" property="id" />
+        <result column="GROUPNAME" property="groupname" />
+        <result column="LABORNUM" property="labornum" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, GROUPNAME, LABORNUM
+    </sql>
+
+</mapper>

+ 30 - 0
src/main/resources/mybatis/ticket/WfactionMapper.xml

@@ -0,0 +1,30 @@
+<?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.gyee.frame.mapper.ticket.WfactionMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wfaction">
+        <id column="ID" property="id" />
+        <result column="STARTNODEID" property="startnodeid" />
+        <result column="ENDNODEID" property="endnodeid" />
+        <result column="ACTION" property="action" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="WFNAME" property="wfname" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="ACTIONTYPE" property="actiontype" />
+        <result column="ACTIONSTRING" property="actionstring" />
+        <result column="CONDITION" property="condition" />
+        <result column="CONDITIONCLASS" property="conditionclass" />
+        <result column="STARTPT" property="startpt" />
+        <result column="ENDPT" property="endpt" />
+        <result column="ISPOSITIVE" property="ispositive" />
+        <result column="ACTORDERBY" property="actorderby" />
+        <result column="DEFAULTSEL" property="defaultsel" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, STARTNODEID, ENDNODEID, ACTION, DESCRIPTION, WFNAME, WFREVISION, ACTIONTYPE, ACTIONSTRING, CONDITION, CONDITIONCLASS, STARTPT, ENDPT, ISPOSITIVE, ACTORDERBY, DEFAULTSEL
+    </sql>
+
+</mapper>

+ 22 - 0
src/main/resources/mybatis/ticket/WfactionlistMapper.xml

@@ -0,0 +1,22 @@
+<?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.gyee.frame.mapper.ticket.WfactionlistMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wfactionlist">
+        <id column="ID" property="id" />
+        <result column="ACTION" property="action" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="TABLENAME" property="tablename" />
+        <result column="ACTIONTYPE" property="actiontype" />
+        <result column="ACTIONSTRING" property="actionstring" />
+        <result column="STATUSLIST" property="statuslist" />
+        <result column="TABLECOL" property="tablecol" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, ACTION, DESCRIPTION, TABLENAME, ACTIONTYPE, ACTIONSTRING, STATUSLIST, TABLECOL
+    </sql>
+
+</mapper>

+ 31 - 0
src/main/resources/mybatis/ticket/WfassignnotifyMapper.xml

@@ -0,0 +1,31 @@
+<?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.gyee.frame.mapper.ticket.WfassignnotifyMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wfassignnotify">
+        <id column="ID" property="id" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="ASSIGNCODE" property="assigncode" />
+        <result column="APP" property="app" />
+        <result column="STARTDATE" property="startdate" />
+        <result column="EMAILNOTIFY" property="emailnotify" />
+        <result column="ASSIGNSTATUS" property="assignstatus" />
+        <result column="WFINSTID" property="wfinstid" />
+        <result column="WFNAME" property="wfname" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="INITPERSON" property="initperson" />
+        <result column="OWNERTABLE" property="ownertable" />
+        <result column="OWNERID" property="ownerid" />
+        <result column="WFROLE" property="wfrole" />
+        <result column="LASTMEMO" property="lastmemo" />
+        <result column="NODEID" property="nodeid" />
+        <result column="TASKID" property="taskid" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, DESCRIPTION, ASSIGNCODE, APP, STARTDATE, EMAILNOTIFY, ASSIGNSTATUS, WFINSTID, WFNAME, WFREVISION, INITPERSON, OWNERTABLE, OWNERID, WFROLE, LASTMEMO, NODEID, TASKID
+    </sql>
+
+</mapper>

+ 24 - 0
src/main/resources/mybatis/ticket/WfinstanceMapper.xml

@@ -0,0 +1,24 @@
+<?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.gyee.frame.mapper.ticket.WfinstanceMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wfinstance">
+        <id column="ID" property="id" />
+        <result column="WFNAME" property="wfname" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="OWNERTABLE" property="ownertable" />
+        <result column="OWNERID" property="ownerid" />
+        <result column="ACTIVE" property="active" />
+        <result column="STARTOR" property="startor" />
+        <result column="STARTTIME" property="starttime" />
+        <result column="CURNODEID" property="curnodeid" />
+        <result column="DESCRIPTION" property="description" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, WFNAME, WFREVISION, OWNERTABLE, OWNERID, ACTIVE, STARTOR, STARTTIME, CURNODEID, DESCRIPTION
+    </sql>
+
+</mapper>

+ 25 - 0
src/main/resources/mybatis/ticket/WfnodeMapper.xml

@@ -0,0 +1,25 @@
+<?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.gyee.frame.mapper.ticket.WfnodeMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wfnode">
+        <id column="ID" property="id" />
+        <result column="NODETYPE" property="nodetype" />
+        <result column="XCANVAS" property="xcanvas" />
+        <result column="YCANVAS" property="ycanvas" />
+        <result column="TITLE" property="title" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="WFNAME" property="wfname" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="CONDITION" property="condition" />
+        <result column="CUSTOMCLASS" property="customclass" />
+        <result column="ISAGGRE" property="isaggre" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, NODETYPE, XCANVAS, YCANVAS, TITLE, DESCRIPTION, WFNAME, WFREVISION, CONDITION, CUSTOMCLASS, ISAGGRE
+    </sql>
+
+</mapper>

+ 26 - 0
src/main/resources/mybatis/ticket/WfprocessMapper.xml

@@ -0,0 +1,26 @@
+<?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.gyee.frame.mapper.ticket.WfprocessMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wfprocess">
+        <id column="ID" property="id" />
+        <result column="WFNAME" property="wfname" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="ENABLED" property="enabled" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="CHANGEBY" property="changeby" />
+        <result column="CHANGEDATE" property="changedate" />
+        <result column="TABLENAME" property="tablename" />
+        <result column="ACTIVE" property="active" />
+        <result column="AUTOINIT" property="autoinit" />
+        <result column="APP" property="app" />
+        <result column="WFINSTDESC" property="wfinstdesc" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, WFNAME, DESCRIPTION, ENABLED, WFREVISION, CHANGEBY, CHANGEDATE, TABLENAME, ACTIVE, AUTOINIT, APP, WFINSTDESC
+    </sql>
+
+</mapper>

+ 20 - 0
src/main/resources/mybatis/ticket/WfroleMapper.xml

@@ -0,0 +1,20 @@
+<?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.gyee.frame.mapper.ticket.WfroleMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wfrole">
+        <id column="ID" property="id" />
+        <result column="WFROLE" property="wfrole" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="ROLETYPE" property="roletype" />
+        <result column="VALUE" property="value" />
+        <result column="TABLENAME" property="tablename" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, WFROLE, DESCRIPTION, ROLETYPE, VALUE, TABLENAME
+    </sql>
+
+</mapper>

+ 30 - 0
src/main/resources/mybatis/ticket/WftaskassignMapper.xml

@@ -0,0 +1,30 @@
+<?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.gyee.frame.mapper.ticket.WftaskassignMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wftaskassign">
+        <id column="ID" property="id" />
+        <result column="NODEID" property="nodeid" />
+        <result column="APP" property="app" />
+        <result column="WFROLE" property="wfrole" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="WFNAME" property="wfname" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="EMAILNOTIFY" property="emailnotify" />
+        <result column="CONDITION" property="condition" />
+        <result column="CONDITIONCLASS" property="conditionclass" />
+        <result column="SITEFILTER" property="sitefilter" />
+        <result column="PRIORITY" property="priority" />
+        <result column="DEALTIMEOUT" property="dealtimeout" />
+        <result column="UPWFROLE" property="upwfrole" />
+        <result column="DEALTYPE" property="dealtype" />
+        <result column="NEEDPASS" property="needpass" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, NODEID, APP, WFROLE, DESCRIPTION, WFNAME, WFREVISION, EMAILNOTIFY, CONDITION, CONDITIONCLASS, SITEFILTER, PRIORITY, DEALTIMEOUT, UPWFROLE, DEALTYPE, NEEDPASS
+    </sql>
+
+</mapper>

+ 25 - 0
src/main/resources/mybatis/ticket/WftasknotifyMapper.xml

@@ -0,0 +1,25 @@
+<?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.gyee.frame.mapper.ticket.WftasknotifyMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wftasknotify">
+        <id column="ID" property="id" />
+        <result column="NODEID" property="nodeid" />
+        <result column="WFNAME" property="wfname" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="APP" property="app" />
+        <result column="WFROLE" property="wfrole" />
+        <result column="DESCRIPTION" property="description" />
+        <result column="EMAILNOTIFY" property="emailnotify" />
+        <result column="CONDITION" property="condition" />
+        <result column="CONDITIONCLASS" property="conditionclass" />
+        <result column="SITEFILTER" property="sitefilter" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, NODEID, WFNAME, WFREVISION, APP, WFROLE, DESCRIPTION, EMAILNOTIFY, CONDITION, CONDITIONCLASS, SITEFILTER
+    </sql>
+
+</mapper>

+ 29 - 0
src/main/resources/mybatis/ticket/WftransMapper.xml

@@ -0,0 +1,29 @@
+<?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.gyee.frame.mapper.ticket.WftransMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.gyee.frame.model.ticket.Wftrans">
+        <id column="ID" property="id" />
+        <result column="NODEID" property="nodeid" />
+        <result column="WFINSTID" property="wfinstid" />
+        <result column="ASSIGNID" property="assignid" />
+        <result column="ACTIONID" property="actionid" />
+        <result column="TRANSTYPE" property="transtype" />
+        <result column="TRANSDATE" property="transdate" />
+        <result column="MEMO" property="memo" />
+        <result column="NODETYPE" property="nodetype" />
+        <result column="WFNAME" property="wfname" />
+        <result column="WFREVISION" property="wfrevision" />
+        <result column="OWNERTABLE" property="ownertable" />
+        <result column="OWNERID" property="ownerid" />
+        <result column="ASSIGNCODE" property="assigncode" />
+        <result column="PRIORITY" property="priority" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        ID, NODEID, WFINSTID, ASSIGNID, ACTIONID, TRANSTYPE, TRANSDATE, MEMO, NODETYPE, WFNAME, WFREVISION, OWNERTABLE, OWNERID, ASSIGNCODE, PRIORITY
+    </sql>
+
+</mapper>