Преглед изворни кода

[task-6445]6445 体系运行记录盒改造

xiexh пре 5 месеци
родитељ
комит
df8e540ae9

+ 37 - 5
ibps-provider-root/modules/provider-platform/src/main/java/com/lc/ibps/platform/service/PatchService.java

@@ -127,12 +127,44 @@ public class PatchService {
                 TkID1 = po.getTaskId();
             }
         }
-        for (BpmApprovePo po :approvals) {
-            commonDao.execute("update ibps_bpm_approval_his set COMPLETE_TIME_=#{p0},CREATE_TIME_=#{p1} where id_=#{p2}",
-                    new Object[]{po.getCompleteTime(),po.getCompleteTime(),po.getId()});
+      /*  for (BpmApprovePo po :approvals) {
+            commonDao.execute("update ibps_bpm_approval_his set COMPLETE_TIME_=#{p0},CREATE_TIME_=#{p1},OPINION_=#{p3} where id_=#{p2}",
+                    new Object[]{po.getCompleteTime(),po.getCompleteTime(),po.getId(),po.getOpinion()});
             if(StringUtils.isNotEmpty(po.getTaskKey())) {
-                commonDao.execute("update ibps_bpm_oper_log set CREATE_TIME_=#{p0} where proc_inst_id_=#{p1} and node_id_=#{p2}",
-                        new Object[]{po.getCompleteTime(), po.getProcInstId(), po.getTaskKey()});
+                commonDao.execute("update ibps_bpm_oper_log set CREATE_TIME_=#{p0},OPTION_=#{p3} where proc_inst_id_=#{p1} and node_id_=#{p2}",
+                        new Object[]{po.getCompleteTime(), po.getProcInstId(), po.getTaskKey(),po.getOpinion()});
+            }
+        }*/
+        for (BpmApprovePo po : approvals) {
+            StringBuilder sql1 = new StringBuilder("update ibps_bpm_approval_his set COMPLETE_TIME_=#{p0},CREATE_TIME_=#{p1}");
+            List<Object> params1 = new ArrayList<>();
+            params1.add(po.getCompleteTime());//P0
+            params1.add(po.getCompleteTime());//P1
+            params1.add(po.getId());//p2
+
+            // 只有opinion不为空时才更新OPINION_字段
+            if (StringUtils.isNotEmpty(po.getOpinion())) {
+                params1.add(po.getOpinion());//p3
+                sql1.append(",OPINION_=#{p3}");
+            }
+            sql1.append(" where id_=#{p2}");
+            commonDao.execute(sql1.toString(), params1.toArray());
+
+            // 更新ibps_bpm_oper_log
+            if (StringUtils.isNotEmpty(po.getTaskKey())) {
+                StringBuilder sql2 = new StringBuilder("update ibps_bpm_oper_log set CREATE_TIME_=#{p0}");
+                List<Object> params2 = new ArrayList<>();
+                params2.add(po.getCompleteTime());//P0
+                params2.add(po.getProcInstId());//P1
+                params2.add(po.getTaskKey());//P2
+
+                // 只有opinion不为空时才更新OPTION_字段
+                if (StringUtils.isNotEmpty(po.getOpinion())) {
+                    params2.add(po.getOpinion());//P3
+                    sql2.append(",OPTION_=#{p3}");
+                }
+                sql2.append(" where proc_inst_id_=#{p1} and node_id_=#{p2}");
+                commonDao.execute(sql2.toString(), params2.toArray());
             }
         }
         commonDao.execute("update ibps_bpm_inst_his set end_TIME_=#{p0} where id_=#{p1} ", new Object[]{t, id});