소스 검색

服务任务更新

lamphua 1 년 전
부모
커밋
4f1d00b5e8

+ 159
- 0
oa-back/ruoyi-common/src/main/java/com/ruoyi/common/utils/SnowFlake.java 파일 보기

@@ -0,0 +1,159 @@
1
+package com.ruoyi.common.utils;
2
+
3
+import org.springframework.stereotype.Component;
4
+
5
+import java.lang.management.ManagementFactory;
6
+import java.net.InetAddress;
7
+import java.net.NetworkInterface;
8
+import java.util.concurrent.ThreadLocalRandom;
9
+
10
+/**
11
+ * 雪花id生成类
12
+ * @author zyl
13
+ */
14
+@Component
15
+public class SnowFlake {
16
+    /* 时间起始标记点,作为基准,一般取系统的最近时间(一旦确定不能变动) */
17
+    private final long twepoch = 1288834974657L;
18
+    private final long workerIdBits = 5L;/* 机器标识位数 */
19
+    private final long datacenterIdBits = 5L;
20
+    private final long maxWorkerId = -1L ^ (-1L << workerIdBits);
21
+    private final long maxDatacenterId = -1L ^ (-1L << datacenterIdBits);
22
+    private final long sequenceBits = 12L;/* 毫秒内自增位 */
23
+    private final long workerIdShift = sequenceBits;
24
+    private final long datacenterIdShift = sequenceBits + workerIdBits;
25
+    /* 时间戳左移动位 */
26
+    private final long timestampLeftShift = sequenceBits + workerIdBits + datacenterIdBits;
27
+    private final long sequenceMask = -1L ^ (-1L << sequenceBits);
28
+
29
+    private long workerId;
30
+
31
+    /* 数据标识id部分 */
32
+    private long datacenterId;
33
+    private long sequence = 0L;/* 0,并发控制 */
34
+    private long lastTimestamp = -1L;/* 上次生产id时间戳 */
35
+
36
+    public SnowFlake() {
37
+        this.datacenterId = getDatacenterId(maxDatacenterId);
38
+        this.workerId = getMaxWorkerId(datacenterId, maxWorkerId);
39
+    }
40
+
41
+    /**
42
+     * @param workerId     工作机器ID
43
+     * @param datacenterId 序列号
44
+     */
45
+    public SnowFlake(long workerId, long datacenterId) {
46
+        if (workerId > maxWorkerId || workerId < 0) {
47
+            System.out.println(
48
+                    String.format("worker Id can't be greater than %d or less than 0", maxWorkerId));
49
+        }
50
+        if (datacenterId > maxDatacenterId || datacenterId < 0) {
51
+            System.out.println(
52
+                    String.format("datacenter Id can't be greater than %d or less than 0", maxDatacenterId));
53
+        }
54
+        this.workerId = workerId;
55
+        this.datacenterId = datacenterId;
56
+    }
57
+
58
+    /**
59
+     * 获取 maxWorkerId
60
+     */
61
+    protected static long getMaxWorkerId(long datacenterId, long maxWorkerId) {
62
+        StringBuilder mpid = new StringBuilder();
63
+        mpid.append(datacenterId);
64
+        String name = ManagementFactory.getRuntimeMXBean().getName();
65
+        if (name != null && "".equals(name)) {
66
+            /*
67
+             * GET jvmPid
68
+             */
69
+            mpid.append(name.split("@")[0]);
70
+        }
71
+        /*
72
+         * MAC + PID 的 hashcode 获取16个低位
73
+         */
74
+        return (mpid.toString().hashCode() & 0xffff) % (maxWorkerId + 1);
75
+    }
76
+
77
+    /**
78
+     * 数据标识id部分
79
+     */
80
+    protected static long getDatacenterId(long maxDatacenterId) {
81
+        long id = 0L;
82
+        try {
83
+            InetAddress ip = InetAddress.getLocalHost();
84
+            NetworkInterface network = NetworkInterface.getByInetAddress(ip);
85
+            if (network == null) {
86
+                id = 1L;
87
+            } else {
88
+                byte[] mac = network.getHardwareAddress();
89
+                if (null != mac) {
90
+                    id = ((0x000000FF & (long) mac[mac.length - 1]) | (0x0000FF00 & (((long) mac[mac.length - 2]) << 8))) >> 6;
91
+                    id = id % (maxDatacenterId + 1);
92
+                }
93
+            }
94
+        } catch (Exception e) {
95
+            System.out.println(" getDatacenterId: " + e.getMessage());
96
+        }
97
+        return id;
98
+    }
99
+
100
+    /**
101
+     * 获取下一个ID
102
+     *
103
+     * @return
104
+     */
105
+    public synchronized long nextId() {
106
+        long timestamp = timeGen();
107
+        if (timestamp < lastTimestamp) {//闰秒
108
+            long offset = lastTimestamp - timestamp;
109
+            if (offset <= 5) {
110
+                try {
111
+                    wait(offset << 1);
112
+                    timestamp = timeGen();
113
+                    if (timestamp < lastTimestamp) {
114
+                        throw new RuntimeException(String.format("Clock moved backwards.  Refusing to generate id for %d milliseconds", offset));
115
+                    }
116
+                } catch (Exception e) {
117
+                    throw new RuntimeException(e);
118
+                }
119
+            } else {
120
+                throw new RuntimeException(String.format("Clock moved backwards.  Refusing to generate id for %d milliseconds", offset));
121
+            }
122
+        }
123
+
124
+        if (lastTimestamp == timestamp) {
125
+            // 相同毫秒内,序列号自增
126
+            sequence = (sequence + 1) & sequenceMask;
127
+            if (sequence == 0) {
128
+                // 同一毫秒的序列数已经达到最大
129
+                timestamp = tilNextMillis(lastTimestamp);
130
+            }
131
+        } else {
132
+            // 不同毫秒内,序列号置为 1 - 3 随机数
133
+            sequence = ThreadLocalRandom.current().nextLong(1, 3);
134
+        }
135
+
136
+        lastTimestamp = timestamp;
137
+
138
+        return ((timestamp - twepoch) << timestampLeftShift)    // 时间戳部分
139
+                | (datacenterId << datacenterIdShift)           // 数据中心部分
140
+                | (workerId << workerIdShift)                   // 机器标识部分
141
+                | sequence;                                     // 序列号部分
142
+    }
143
+
144
+    protected long tilNextMillis(long lastTimestamp) {
145
+        long timestamp = timeGen();
146
+        while (timestamp <= lastTimestamp) {
147
+            timestamp = timeGen();
148
+        }
149
+        return timestamp;
150
+    }
151
+
152
+    protected long timeGen() {
153
+        return System.currentTimeMillis();
154
+    }
155
+
156
+    public String generateId() {
157
+        return String.valueOf(this.nextId());
158
+    }
159
+}

+ 72
- 0
oa-back/ruoyi-flowable/src/main/java/com/ruoyi/flowable/oa/MyServiceTask.java 파일 보기

@@ -1,5 +1,13 @@
1 1
 package com.ruoyi.flowable.oa;
2 2
 
3
+import com.ruoyi.common.utils.SnowFlake;
4
+import com.ruoyi.common.utils.spring.SpringUtils;
5
+import com.ruoyi.oa.domain.CmcAssess;
6
+import com.ruoyi.oa.domain.CmcAssessContent;
7
+import com.ruoyi.oa.domain.CmcAssessContentWork;
8
+import com.ruoyi.oa.mapper.CmcAssessContentMapper;
9
+import com.ruoyi.oa.mapper.CmcAssessContentWorkMapper;
10
+import com.ruoyi.oa.mapper.CmcAssessMapper;
3 11
 import org.flowable.engine.ProcessEngine;
4 12
 import org.flowable.engine.ProcessEngines;
5 13
 import org.flowable.engine.RuntimeService;
@@ -7,19 +15,83 @@ import org.flowable.engine.delegate.DelegateExecution;
7 15
 import org.flowable.engine.delegate.JavaDelegate;
8 16
 import org.flowable.engine.task.Comment;
9 17
 
18
+import java.util.Arrays;
19
+import java.util.List;
10 20
 import java.util.Map;
21
+import java.util.regex.Matcher;
22
+import java.util.regex.Pattern;
11 23
 
12 24
 public class MyServiceTask implements JavaDelegate {
25
+    public List<String> fieldList = Arrays.asList("role", "familiar", "remark");
26
+
13 27
     @Override
14 28
     public void execute(DelegateExecution execution) {
29
+        CmcAssessMapper cmcAssessMapper = SpringUtils.getBean(CmcAssessMapper.class);
30
+        CmcAssessContentMapper cmcAssessContentMapper = SpringUtils.getBean(CmcAssessContentMapper.class);
31
+        CmcAssessContentWorkMapper cmcAssessContentWorkMapper = SpringUtils.getBean(CmcAssessContentWorkMapper.class);
15 32
         ProcessEngine processEngine = ProcessEngines.getDefaultProcessEngine();
16 33
         RuntimeService runtimeService = processEngine.getRuntimeService();
17 34
         Map<String,Object> variables = runtimeService.getVariables(execution.getId());
18 35
         String processInstance = execution.getProcessInstanceId();
36
+        CmcAssess cmcAssess = new CmcAssess();
37
+        SnowFlake snowFlake = new SnowFlake();
38
+//        cmcAssess = cmcAssessMapper.selectCmcAssessByAssessId("0");
39
+        cmcAssess.setAssessId(snowFlake.generateId());
40
+        cmcAssessMapper.insertCmcAssess(cmcAssess);
41
+        for(String key : variables.keySet()){
42
+            if (removeDigital(key).equals("role") && !variables.get(key).toString().equals("")) {
43
+                CmcAssessContent cmcAssessContent = new CmcAssessContent();
44
+                cmcAssessContent.setContentId(cmcAssess.getAssessId() + key.substring(4));
45
+                cmcAssessContentMapper.insertCmcAssessContent(cmcAssessContent);
46
+            }
47
+        }
48
+        for(String key : variables.keySet()){
49
+            if (key.length() == 5 && key.startsWith("f") && !variables.get(key).toString().equals("")) {
50
+                CmcAssessContentWork cmcAssessContentWork = new CmcAssessContentWork();
51
+                cmcAssessContentWork.setWorkId(cmcAssess.getAssessId() + key.substring(1));
52
+                cmcAssessContentWork.setWorkLoad(variables.get(key).toString());
53
+                cmcAssessContentWorkMapper.insertCmcAssessContentWork(cmcAssessContentWork);
54
+            }
55
+            if (key.equals("INITIATOR"))
56
+                cmcAssess.setUserId((Long) variables.get(key));
57
+            if (removeDigital(key).equals(fieldList.get(0))) {
58
+                CmcAssessContent cmcAssessContent = cmcAssessContentMapper.selectCmcAssessContentByContentId(cmcAssess.getAssessId() + key.substring(4));
59
+                if (cmcAssessContent != null) {
60
+                    cmcAssessContent.setRole(variables.get(key).toString());
61
+                    cmcAssessContentMapper.updateCmcAssessContent(cmcAssessContent);
62
+                }
63
+            }
64
+            if (removeDigital(key).equals(fieldList.get(1))) {
65
+                CmcAssessContent cmcAssessContent = cmcAssessContentMapper.selectCmcAssessContentByContentId(cmcAssess.getAssessId() + key.substring(8));
66
+                if (cmcAssessContent != null) {
67
+                    cmcAssessContent.setFamiliar(variables.get(key).toString());
68
+                    cmcAssessContentMapper.updateCmcAssessContent(cmcAssessContent);
69
+                }
70
+            }
71
+            if (removeDigital(key).equals(fieldList.get(2))) {
72
+                CmcAssessContent cmcAssessContent = cmcAssessContentMapper.selectCmcAssessContentByContentId(cmcAssess.getAssessId() + key.substring(6));
73
+                if (cmcAssessContent != null) {
74
+                    cmcAssessContent.setRemark(variables.get(key).toString());
75
+                    cmcAssessContentMapper.updateCmcAssessContent(cmcAssessContent);
76
+                }
77
+            }
78
+
79
+        }
19 80
         for (Comment comment: processEngine.getTaskService().getProcessInstanceComments(processInstance))
20 81
             System.out.println(comment.getFullMessage());
21 82
         System.out.println("========MyServiceTask==========");
22 83
         System.out.println(variables);
23 84
         System.out.println(processInstance);
24 85
     }
86
+
87
+    /**
88
+     * 剔除数字
89
+     * @param value
90
+     */
91
+    public String removeDigital(String value){
92
+        Pattern p = Pattern.compile("[\\d]");
93
+        Matcher matcher = p.matcher(value);
94
+        return matcher.replaceAll("");
95
+    }
96
+
25 97
 }

+ 0
- 14
oa-back/ruoyi-system/src/main/java/com/ruoyi/oa/domain/CmcAssessContentWork.java 파일 보기

@@ -18,10 +18,6 @@ public class CmcAssessContentWork extends BaseEntity
18 18
     /** 工作内容id(考核内容id+2位) */
19 19
     private String workId;
20 20
 
21
-    /** 工作项数 */
22
-    @Excel(name = "工作项数")
23
-    private Long workCount;
24
-
25 21
     /** 工作量 */
26 22
     @Excel(name = "工作量")
27 23
     private String workLoad;
@@ -35,15 +31,6 @@ public class CmcAssessContentWork extends BaseEntity
35 31
     {
36 32
         return workId;
37 33
     }
38
-    public void setWorkCount(Long workCount) 
39
-    {
40
-        this.workCount = workCount;
41
-    }
42
-
43
-    public Long getWorkCount() 
44
-    {
45
-        return workCount;
46
-    }
47 34
     public void setWorkLoad(String workLoad) 
48 35
     {
49 36
         this.workLoad = workLoad;
@@ -58,7 +45,6 @@ public class CmcAssessContentWork extends BaseEntity
58 45
     public String toString() {
59 46
         return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
60 47
             .append("workId", getWorkId())
61
-            .append("workCount", getWorkCount())
62 48
             .append("workLoad", getWorkLoad())
63 49
             .toString();
64 50
     }

+ 0
- 92
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcAssessContentMapper.xml 파일 보기

@@ -1,92 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8" ?>
2
-<!DOCTYPE mapper
3
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
-<mapper namespace="com.ruoyi.oa.mapper.CmcAssessContentMapper">
6
-    
7
-    <resultMap type="CmcAssessContent" id="CmcAssessContentResult">
8
-        <result property="contentId"    column="content_id"    />
9
-        <result property="role"    column="role"    />
10
-        <result property="familiar"    column="familiar"    />
11
-        <result property="remark"    column="remark"    />
12
-        <result property="workload"    column="workload"    />
13
-        <result property="skill"    column="skill"    />
14
-        <result property="quality"    column="quality"    />
15
-        <result property="assessment"    column="assessment"    />
16
-        <result property="advice"    column="advice"    />
17
-    </resultMap>
18
-
19
-    <sql id="selectCmcAssessContentVo">
20
-        select content_id, role, familiar, remark, workload, skill, quality, assessment, advice from cmc_assess_content
21
-    </sql>
22
-
23
-    <select id="selectCmcAssessContentList" parameterType="CmcAssessContent" resultMap="CmcAssessContentResult">
24
-        <include refid="selectCmcAssessContentVo"/>
25
-        <where>  
26
-            <if test="role != null  and role != ''"> and role = #{role}</if>
27
-            <if test="familiar != null  and familiar != ''"> and familiar = #{familiar}</if>
28
-            <if test="workload != null  and workload != ''"> and workload = #{workload}</if>
29
-            <if test="skill != null  and skill != ''"> and skill = #{skill}</if>
30
-            <if test="quality != null  and quality != ''"> and quality = #{quality}</if>
31
-            <if test="assessment != null  and assessment != ''"> and assessment = #{assessment}</if>
32
-            <if test="advice != null  and advice != ''"> and advice = #{advice}</if>
33
-        </where>
34
-    </select>
35
-    
36
-    <select id="selectCmcAssessContentByContentId" parameterType="String" resultMap="CmcAssessContentResult">
37
-        <include refid="selectCmcAssessContentVo"/>
38
-        where content_id = #{contentId}
39
-    </select>
40
-        
41
-    <insert id="insertCmcAssessContent" parameterType="CmcAssessContent">
42
-        insert into cmc_assess_content
43
-        <trim prefix="(" suffix=")" suffixOverrides=",">
44
-            <if test="contentId != null">content_id,</if>
45
-            <if test="role != null">role,</if>
46
-            <if test="familiar != null">familiar,</if>
47
-            <if test="remark != null">remark,</if>
48
-            <if test="workload != null">workload,</if>
49
-            <if test="skill != null">skill,</if>
50
-            <if test="quality != null">quality,</if>
51
-            <if test="assessment != null">assessment,</if>
52
-            <if test="advice != null">advice,</if>
53
-         </trim>
54
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
55
-            <if test="contentId != null">#{contentId},</if>
56
-            <if test="role != null">#{role},</if>
57
-            <if test="familiar != null">#{familiar},</if>
58
-            <if test="remark != null">#{remark},</if>
59
-            <if test="workload != null">#{workload},</if>
60
-            <if test="skill != null">#{skill},</if>
61
-            <if test="quality != null">#{quality},</if>
62
-            <if test="assessment != null">#{assessment},</if>
63
-            <if test="advice != null">#{advice},</if>
64
-         </trim>
65
-    </insert>
66
-
67
-    <update id="updateCmcAssessContent" parameterType="CmcAssessContent">
68
-        update cmc_assess_content
69
-        <trim prefix="SET" suffixOverrides=",">
70
-            <if test="role != null">role = #{role},</if>
71
-            <if test="familiar != null">familiar = #{familiar},</if>
72
-            <if test="remark != null">remark = #{remark},</if>
73
-            <if test="workload != null">workload = #{workload},</if>
74
-            <if test="skill != null">skill = #{skill},</if>
75
-            <if test="quality != null">quality = #{quality},</if>
76
-            <if test="assessment != null">assessment = #{assessment},</if>
77
-            <if test="advice != null">advice = #{advice},</if>
78
-        </trim>
79
-        where content_id = #{contentId}
80
-    </update>
81
-
82
-    <delete id="deleteCmcAssessContentByContentId" parameterType="String">
83
-        delete from cmc_assess_content where content_id = #{contentId}
84
-    </delete>
85
-
86
-    <delete id="deleteCmcAssessContentByContentIds" parameterType="String">
87
-        delete from cmc_assess_content where content_id in 
88
-        <foreach item="contentId" collection="array" open="(" separator="," close=")">
89
-            #{contentId}
90
-        </foreach>
91
-    </delete>
92
-</mapper>

+ 0
- 63
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcAssessContentWorkMapper.xml 파일 보기

@@ -1,63 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8" ?>
2
-<!DOCTYPE mapper
3
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
-<mapper namespace="com.ruoyi.oa.mapper.CmcAssessContentWorkMapper">
6
-    
7
-    <resultMap type="CmcAssessContentWork" id="CmcAssessContentWorkResult">
8
-        <result property="workId"    column="work_id"    />
9
-        <result property="workCount"    column="work_count"    />
10
-        <result property="workLoad"    column="work_load"    />
11
-    </resultMap>
12
-
13
-    <sql id="selectCmcAssessContentWorkVo">
14
-        select work_id, work_count, work_load from cmc_assess_content_work
15
-    </sql>
16
-
17
-    <select id="selectCmcAssessContentWorkList" parameterType="CmcAssessContentWork" resultMap="CmcAssessContentWorkResult">
18
-        <include refid="selectCmcAssessContentWorkVo"/>
19
-        <where>  
20
-            <if test="workCount != null "> and work_count = #{workCount}</if>
21
-            <if test="workLoad != null  and workLoad != ''"> and work_load = #{workLoad}</if>
22
-        </where>
23
-    </select>
24
-    
25
-    <select id="selectCmcAssessContentWorkByWorkId" parameterType="String" resultMap="CmcAssessContentWorkResult">
26
-        <include refid="selectCmcAssessContentWorkVo"/>
27
-        where work_id = #{workId}
28
-    </select>
29
-        
30
-    <insert id="insertCmcAssessContentWork" parameterType="CmcAssessContentWork">
31
-        insert into cmc_assess_content_work
32
-        <trim prefix="(" suffix=")" suffixOverrides=",">
33
-            <if test="workId != null">work_id,</if>
34
-            <if test="workCount != null">work_count,</if>
35
-            <if test="workLoad != null">work_load,</if>
36
-         </trim>
37
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
38
-            <if test="workId != null">#{workId},</if>
39
-            <if test="workCount != null">#{workCount},</if>
40
-            <if test="workLoad != null">#{workLoad},</if>
41
-         </trim>
42
-    </insert>
43
-
44
-    <update id="updateCmcAssessContentWork" parameterType="CmcAssessContentWork">
45
-        update cmc_assess_content_work
46
-        <trim prefix="SET" suffixOverrides=",">
47
-            <if test="workCount != null">work_count = #{workCount},</if>
48
-            <if test="workLoad != null">work_load = #{workLoad},</if>
49
-        </trim>
50
-        where work_id = #{workId}
51
-    </update>
52
-
53
-    <delete id="deleteCmcAssessContentWorkByWorkId" parameterType="String">
54
-        delete from cmc_assess_content_work where work_id = #{workId}
55
-    </delete>
56
-
57
-    <delete id="deleteCmcAssessContentWorkByWorkIds" parameterType="String">
58
-        delete from cmc_assess_content_work where work_id in 
59
-        <foreach item="workId" collection="array" open="(" separator="," close=")">
60
-            #{workId}
61
-        </foreach>
62
-    </delete>
63
-</mapper>

+ 0
- 133
oa-back/ruoyi-system/src/main/resources/mapper/oa/CmcAssessMapper.xml 파일 보기

@@ -1,133 +0,0 @@
1
-<?xml version="1.0" encoding="UTF-8" ?>
2
-<!DOCTYPE mapper
3
-PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
4
-"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
5
-<mapper namespace="com.ruoyi.oa.mapper.CmcAssessMapper">
6
-
7
-    <resultMap type="CmcAssess" id="CmcAssessResult">
8
-        <result property="assessId"    column="assess_id"    />
9
-        <result property="userId"    column="user_id"    />
10
-        <result property="projectId"    column="project_id"    />
11
-        <result property="assessTime"    column="assess_time"    />
12
-        <result property="deptAssessment"    column="dept_assessment"    />
13
-        <result property="deptAdvice"    column="dept_advice"    />
14
-        <result property="deptTime"    column="dept_time"    />
15
-        <result property="deptAssesser"    column="dept_assesser"    />
16
-        <result property="managerAssessment"    column="manager_assessment"    />
17
-        <result property="managerAdvice"    column="manager_advice"    />
18
-        <result property="managerTime"    column="manager_time"    />
19
-        <result property="managerAssesser"    column="manager_assesser"    />
20
-        <result property="selfAssess"    column="self_assess"    />
21
-        <result property="fillTime"    column="fill_time"    />
22
-        <result property="otherWork"    column="other_work"    />
23
-        <result property="otherWorkunit"    column="other_workunit"    />
24
-        <result property="otherWorkload"    column="other_workload"    />
25
-    </resultMap>
26
-
27
-    <sql id="selectCmcAssessVo">
28
-        select assess_id, user_id, project_id, assess_time, dept_assessment, dept_advice, dept_time, dept_assesser, manager_assessment, manager_advice, manager_time, manager_assesser, self_assess, fill_time, other_work, other_workunit, other_workload from cmc_assess
29
-    </sql>
30
-
31
-    <select id="selectCmcAssessList" parameterType="CmcAssess" resultMap="CmcAssessResult">
32
-        <include refid="selectCmcAssessVo"/>
33
-        <where>
34
-            <if test="userId != null "> and user_id = #{userId}</if>
35
-            <if test="projectId != null "> and project_id = #{projectId}</if>
36
-            <if test="assessTime != null "> and assess_time = #{assessTime}</if>
37
-            <if test="deptAssessment != null  and deptAssessment != ''"> and dept_assessment = #{deptAssessment}</if>
38
-            <if test="deptAdvice != null  and deptAdvice != ''"> and dept_advice = #{deptAdvice}</if>
39
-            <if test="deptTime != null "> and dept_time = #{deptTime}</if>
40
-            <if test="deptAssesser != null  and deptAssesser != ''"> and dept_assesser = #{deptAssesser}</if>
41
-            <if test="managerAssessment != null  and managerAssessment != ''"> and manager_assessment = #{managerAssessment}</if>
42
-            <if test="managerAdvice != null  and managerAdvice != ''"> and manager_advice = #{managerAdvice}</if>
43
-            <if test="managerTime != null "> and manager_time = #{managerTime}</if>
44
-            <if test="managerAssesser != null  and managerAssesser != ''"> and manager_assesser = #{managerAssesser}</if>
45
-            <if test="selfAssess != null  and selfAssess != ''"> and self_assess = #{selfAssess}</if>
46
-            <if test="fillTime != null "> and fill_time = #{fillTime}</if>
47
-            <if test="otherWork != null  and otherWork != ''"> and other_work = #{otherWork}</if>
48
-            <if test="otherWorkunit != null  and otherWorkunit != ''"> and other_workunit = #{otherWorkunit}</if>
49
-            <if test="otherWorkload != null  and otherWorkload != ''"> and other_workload = #{otherWorkload}</if>
50
-        </where>
51
-    </select>
52
-
53
-    <select id="selectCmcAssessByAssessId" parameterType="String" resultMap="CmcAssessResult">
54
-        <include refid="selectCmcAssessVo"/>
55
-        where assess_id = #{assessId}
56
-    </select>
57
-
58
-    <insert id="insertCmcAssess" parameterType="CmcAssess">
59
-        insert into cmc_assess
60
-        <trim prefix="(" suffix=")" suffixOverrides=",">
61
-            <if test="assessId != null">assess_id,</if>
62
-            <if test="userId != null">user_id,</if>
63
-            <if test="projectId != null">project_id,</if>
64
-            <if test="assessTime != null">assess_time,</if>
65
-            <if test="deptAssessment != null">dept_assessment,</if>
66
-            <if test="deptAdvice != null">dept_advice,</if>
67
-            <if test="deptTime != null">dept_time,</if>
68
-            <if test="deptAssesser != null">dept_assesser,</if>
69
-            <if test="managerAssessment != null">manager_assessment,</if>
70
-            <if test="managerAdvice != null">manager_advice,</if>
71
-            <if test="managerTime != null">manager_time,</if>
72
-            <if test="managerAssesser != null">manager_assesser,</if>
73
-            <if test="selfAssess != null">self_assess,</if>
74
-            <if test="fillTime != null">fill_time,</if>
75
-            <if test="otherWork != null">other_work,</if>
76
-            <if test="otherWorkunit != null">other_workunit,</if>
77
-            <if test="otherWorkload != null">other_workload,</if>
78
-        </trim>
79
-        <trim prefix="values (" suffix=")" suffixOverrides=",">
80
-            <if test="assessId != null">#{assessId},</if>
81
-            <if test="userId != null">#{userId},</if>
82
-            <if test="projectId != null">#{projectId},</if>
83
-            <if test="assessTime != null">#{assessTime},</if>
84
-            <if test="deptAssessment != null">#{deptAssessment},</if>
85
-            <if test="deptAdvice != null">#{deptAdvice},</if>
86
-            <if test="deptTime != null">#{deptTime},</if>
87
-            <if test="deptAssesser != null">#{deptAssesser},</if>
88
-            <if test="managerAssessment != null">#{managerAssessment},</if>
89
-            <if test="managerAdvice != null">#{managerAdvice},</if>
90
-            <if test="managerTime != null">#{managerTime},</if>
91
-            <if test="managerAssesser != null">#{managerAssesser},</if>
92
-            <if test="selfAssess != null">#{selfAssess},</if>
93
-            <if test="fillTime != null">#{fillTime},</if>
94
-            <if test="otherWork != null">#{otherWork},</if>
95
-            <if test="otherWorkunit != null">#{otherWorkunit},</if>
96
-            <if test="otherWorkload != null">#{otherWorkload},</if>
97
-        </trim>
98
-    </insert>
99
-
100
-    <update id="updateCmcAssess" parameterType="CmcAssess">
101
-        update cmc_assess
102
-        <trim prefix="SET" suffixOverrides=",">
103
-            <if test="userId != null">user_id = #{userId},</if>
104
-            <if test="projectId != null">project_id = #{projectId},</if>
105
-            <if test="assessTime != null">assess_time = #{assessTime},</if>
106
-            <if test="deptAssessment != null">dept_assessment = #{deptAssessment},</if>
107
-            <if test="deptAdvice != null">dept_advice = #{deptAdvice},</if>
108
-            <if test="deptTime != null">dept_time = #{deptTime},</if>
109
-            <if test="deptAssesser != null">dept_assesser = #{deptAssesser},</if>
110
-            <if test="managerAssessment != null">manager_assessment = #{managerAssessment},</if>
111
-            <if test="managerAdvice != null">manager_advice = #{managerAdvice},</if>
112
-            <if test="managerTime != null">manager_time = #{managerTime},</if>
113
-            <if test="managerAssesser != null">manager_assesser = #{managerAssesser},</if>
114
-            <if test="selfAssess != null">self_assess = #{selfAssess},</if>
115
-            <if test="fillTime != null">fill_time = #{fillTime},</if>
116
-            <if test="otherWork != null">other_work = #{otherWork},</if>
117
-            <if test="otherWorkunit != null">other_workunit = #{otherWorkunit},</if>
118
-            <if test="otherWorkload != null">other_workload = #{otherWorkload},</if>
119
-        </trim>
120
-        where assess_id = #{assessId}
121
-    </update>
122
-
123
-    <delete id="deleteCmcAssessByAssessId" parameterType="String">
124
-        delete from cmc_assess where assess_id = #{assessId}
125
-    </delete>
126
-
127
-    <delete id="deleteCmcAssessByAssessIds" parameterType="String">
128
-        delete from cmc_assess where assess_id in
129
-        <foreach item="assessId" collection="array" open="(" separator="," close=")">
130
-            #{assessId}
131
-        </foreach>
132
-    </delete>
133
-</mapper>

+ 36
- 33
oa-back/sql/ry_20231130.sql 파일 보기

@@ -960,6 +960,7 @@ insert into sys_dict_type values (14, '考核等级', 'cmc_accessment', '0', 'ad
960 960
 insert into sys_dict_type values (15, '技能掌握', 'cmc_skill', '0', 'admin', '2024-01-08 16:07:43', '', null, null);
961 961
 insert into sys_dict_type values (16, '工作量', 'cmc_workload', '0', 'admin', '2024-01-08 16:08:51', '', null, null);
962 962
 insert into sys_dict_type values (17, '承担角色', 'cmc_role', '0', 'admin', '2024-01-08 16:10:07', '', null, null);
963
+insert into sys_dict_type values (18, '航飞机型', 'cmc_uav', '0', 'admin', '2024-01-12 15:34:18', '', null, null);
963 964
 
964 965
 -- ----------------------------
965 966
 -- 12、字典数据表
@@ -1041,38 +1042,41 @@ insert into sys_dict_data values (54, 3, '精通', '3', 'cmc_skill', null, 'defa
1041 1042
 insert into sys_dict_data values (55, 0, '较少', '0', 'cmc_workload', null, 'default', 'N', '0', 'admin', '2024-01-08 16:09:14', '', null, null);
1042 1043
 insert into sys_dict_data values (56, 1, '正常', '1', 'cmc_workload', null, 'default', 'N', '0', 'admin', '2024-01-08 16:09:22', '', null, null);
1043 1044
 insert into sys_dict_data values (57, 2, '较多', '2', 'cmc_workload', null, 'default', 'N', '0', 'admin', '2024-01-08 16:09:30', '', null, null);
1044
-insert into sys_dict_data values (58, 0, '主办', '0', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-08 16:11:04', '', null, '00');
1045
-insert into sys_dict_data values (59, 1, '参与', '1', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-08 16:11:15', '', null, '00');
1046
-insert into sys_dict_data values (60, 2, '协办', '2', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-08 16:11:39', '', null, '00');
1047
-insert into sys_dict_data values (61, 3, '常规项目', '3', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:15:45', '', null, '01');
1048
-insert into sys_dict_data values (62, 4, '监测项目', '4', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:16:47', '', null, '01');
1049
-insert into sys_dict_data values (63, 5, '调查项目', '5', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:19:17', '', null, '01');
1050
-insert into sys_dict_data values (64, 6, '测量项目', '6', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:20:20', '', null, '01');
1051
-insert into sys_dict_data values (65, 7, '其他项目', '7', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:20:32', '', null, '01');
1052
-insert into sys_dict_data values (66, 8, '选点', '8', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:23:11', '', null, '0206');
1053
-insert into sys_dict_data values (67, 9, '埋石', '9', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:23:28', '', null, '0206');
1054
-insert into sys_dict_data values (68, 10, '观测', '10', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:23:44', '', null, '0203040506');
1055
-insert into sys_dict_data values (69, 11, '计算', '11', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:24:21', '', null, '0203040506');
1056
-insert into sys_dict_data values (70, 12, '检查', '12', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:24:33', '', null, '02');
1057
-insert into sys_dict_data values (71, 13, '负责', '13', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:24:41', '', null, '02');
1058
-insert into sys_dict_data values (72, 14, '前视', '14', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:05', '', null, '030405');
1059
-insert into sys_dict_data values (73, 15, '后视', '15', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:14', '', null, '030405');
1060
-insert into sys_dict_data values (74, 16, '水准', '16', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:38', '', null, '030405');
1061
-insert into sys_dict_data values (75, 17, '三角高程', '17', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:52', '', null, '030405');
1062
-insert into sys_dict_data values (76, 18, '实测', '18', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:49:09', '', null, '07');
1063
-insert into sys_dict_data values (77, 19, '相控', '19', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:49:29', '', null, '07');
1064
-insert into sys_dict_data values (78, 20, '调绘', '20', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:31:53', '', null, '07');
1065
-insert into sys_dict_data values (79, 21, '测量', '21', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:32:57', '', null, '08');
1066
-insert into sys_dict_data values (80, 22, '整理', '22', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:33:08', '', null, '08');
1067
-insert into sys_dict_data values (81, 23, '主飞', '23', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:35:22', '', null, '09');
1068
-insert into sys_dict_data values (82, 24, '协飞', '24', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:35:48', '', null, '09');
1069
-insert into sys_dict_data values (83, 25, '作业', '25', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:43:01', '', null, '10111213141516171820');
1070
-insert into sys_dict_data values (84, 26, '检查', '26', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:44:59', '', null, '10111213141516171820');
1071
-insert into sys_dict_data values (85, 27, '负责', '27', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:45:12', '', null, '101112131415161718');
1072
-insert into sys_dict_data values (86, 28, '空三', '28', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:46:14', '', null, '19');
1073
-insert into sys_dict_data values (87, 29, '建模', '29', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:46:42', '', null, '19');
1074
-insert into sys_dict_data values (88, 30, '修模', '30', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:46:55', '', null, '19');
1075
-
1045
+insert into sys_dict_data values (58, 0, '主办', '0', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-08 16:11:04', '', null, null);
1046
+insert into sys_dict_data values (59, 1, '参与', '1', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-08 16:11:15', '', null, null);
1047
+insert into sys_dict_data values (60, 2, '协办', '2', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-08 16:11:39', '', null, null);
1048
+insert into sys_dict_data values (61, 3, '常规项目', '3', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:15:45', '', null, null);
1049
+insert into sys_dict_data values (62, 4, '监测项目', '4', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:16:47', '', null, null);
1050
+insert into sys_dict_data values (63, 5, '调查项目', '5', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:19:17', '', null, null);
1051
+insert into sys_dict_data values (64, 6, '测量项目', '6', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:20:20', '', null, null);
1052
+insert into sys_dict_data values (65, 7, '其他项目', '7', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:20:32', '', null, null);
1053
+insert into sys_dict_data values (66, 8, '选点', '8', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:23:11', '', null, null);
1054
+insert into sys_dict_data values (67, 9, '埋石', '9', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:23:28', '', null, null);
1055
+insert into sys_dict_data values (68, 10, '观测', '10', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:23:44', '', null, null);
1056
+insert into sys_dict_data values (69, 11, '计算', '11', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:24:21', '', null, null);
1057
+insert into sys_dict_data values (70, 12, '检查', '12', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:24:33', '', null, null);
1058
+insert into sys_dict_data values (71, 13, '负责', '13', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:24:41', '', null, null);
1059
+insert into sys_dict_data values (72, 14, '前视', '14', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:05', '', null, null);
1060
+insert into sys_dict_data values (73, 15, '后视', '15', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:14', '', null, null);
1061
+insert into sys_dict_data values (74, 16, '水准', '16', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:38', '', null, null);
1062
+insert into sys_dict_data values (75, 17, '三角高程', '17', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:48:52', '', null, null);
1063
+insert into sys_dict_data values (76, 18, '实测', '18', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:49:09', '', null, null);
1064
+insert into sys_dict_data values (77, 19, '相控', '19', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 09:49:29', '', null, null);
1065
+insert into sys_dict_data values (78, 20, '调绘', '20', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:31:53', '', null, null);
1066
+insert into sys_dict_data values (79, 21, '测量', '21', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:32:57', '', null, null);
1067
+insert into sys_dict_data values (80, 22, '整理', '22', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:33:08', '', null, null);
1068
+insert into sys_dict_data values (81, 23, '主飞', '23', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:35:22', '', null, null);
1069
+insert into sys_dict_data values (82, 24, '协飞', '24', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:35:48', '', null, null);
1070
+insert into sys_dict_data values (83, 25, '作业', '25', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:43:01', '', null, null);
1071
+insert into sys_dict_data values (84, 26, '检查', '26', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:44:59', '', null, null);
1072
+insert into sys_dict_data values (85, 27, '负责', '27', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:45:12', '', null, null);
1073
+insert into sys_dict_data values (86, 28, '空三', '28', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:46:14', '', null, null);
1074
+insert into sys_dict_data values (87, 29, '建模', '29', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:46:42', '', null, null);
1075
+insert into sys_dict_data values (88, 30, '修模', '30', 'cmc_role', null, 'default', 'N', '0', 'admin', '2024-01-09 10:46:55', '', null, null);
1076
+insert into sys_dict_data values (89, 0, '傲视', '0', 'cmc_uav', null, 'default', 'N', '0', 'admin', '2024-01-12 15:35:35', '', null, null);
1077
+insert into sys_dict_data values (90, 1, '飞马', '1', 'cmc_uav', null, 'default', 'N', '0', 'admin', '2024-01-12 15:35:46', '', null, null);
1078
+insert into sys_dict_data values (91, 2, '华测', '2', 'cmc_uav', null, 'default', 'N', '0', 'admin', '2024-01-12 15:35:56', '', null, null);
1079
+insert into sys_dict_data values (92, 3, '其他', '3', 'cmc_uav', null, 'default', 'N', '0', 'admin', '2024-01-12 15:36:03', '', null, null);
1076 1080
 
1077 1081
 
1078 1082
 -- ----------------------------
@@ -1300,7 +1304,6 @@ create table cmc_assess_content (
1300 1304
 drop table if exists cmc_assess_content_work;
1301 1305
 create table cmc_assess_content_work (
1302 1306
   work_id				char(23)		not null		comment '工作内容id(考核内容id+2位)',
1303
-  work_count			int				default null	comment '工作项数',
1304 1307
   work_load				varchar(255)	default null	comment '工作量',
1305 1308
   PRIMARY KEY (work_id)
1306 1309
 ) engine=innodb	comment = 'cmc考核工作内容表';

+ 1
- 1
oa-back/sql/tony-flowable.sql
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


+ 2
- 2
oa-ui/src/views/flowable/task/todo/detail/index.vue 파일 보기

@@ -24,7 +24,7 @@
24 24
               <!--                <el-button  icon="el-icon-edit-outline" type="primary" size="mini" @click="handleAssign">转办</el-button>-->
25 25
               <!--                <el-button  icon="el-icon-edit-outline" type="primary" size="mini" @click="handleDelegate">签收</el-button>-->
26 26
               <!--              <el-button icon="el-icon-refresh-left" type="warning" size="mini" @click="handleReturn">退回</el-button>-->
27
-              <!--              <el-button icon="el-icon-circle-close" type="danger" size="mini" @click="handleReject">驳回</el-button>-->
27
+                           <el-button icon="el-icon-circle-close" type="danger" size="mini" @click="handleReject">驳回</el-button>
28 28
             </div>
29 29
           </el-col>
30 30
         </el-tab-pane>
@@ -66,7 +66,7 @@
66 66
                       </el-descriptions-item>
67 67
                       <el-descriptions-item v-if="item.comment" label-class-name="my-label">
68 68
                         <template slot="label"><i class="el-icon-tickets"></i>处理意见</template>
69
-                        {{ item.comment.comment }}
69
+                        {{ item.comment }}
70 70
                       </el-descriptions-item>
71 71
                     </el-descriptions>
72 72
                   </el-card>

Loading…
취소
저장