Kill import instance only
authorVásáry Dániel <vasary@elgekko.net>
Wed, 6 Mar 2024 07:58:50 +0000 (08:58 +0100)
committerVásáry Dániel <vasary@elgekko.net>
Wed, 6 Mar 2024 07:58:50 +0000 (08:58 +0100)
sly-crm-ui/src/main/java/hu/user/lis/ui/view/IndexViewModel.java
sly-crm-ui/src/main/resources/web/index.zul
sly-crm-ui/src/main/resources/web/static/css/webclient.css
sly-crm-workflow/src/main/java/hu/user/lis/workflow/invoice/service/WorkflowManagerService.java

index f3c9b3d93f44f9e8616b313bb7585449547c4dfb..ea079b3fc854a9a30481b0a412110ef015302431 100644 (file)
@@ -224,7 +224,12 @@ public class IndexViewModel implements EventListener<Event> {
 
     @Command
     public void onCancelProcesses() {
-        workflowManagerService.cancelInvoiceImportProcess();
+        workflowManagerService.cancelInvoiceImportProcess(false);
+    }
+
+    @Command
+    public void onCancelImportProcesses() {
+        workflowManagerService.cancelInvoiceImportProcess(true);
     }
 
     @Command
index 3f414a66676a4be4bdccbd0741adf5a51b4e8fef..d3f3abd6485cf70f9dea49625f54c794db6290d9 100644 (file)
@@ -56,7 +56,7 @@
                                 <menuseparator/>
                                 <menu iconSclass="z-icon-picture-o" label="Téma">
                                     <menupopup>
-                                        <menuitem label="Silvertail (alapértelmezett)"
+                                        <menuitem label="Silvertail (alapértelmezett)" iconSclass="z-icon-wind-turbine"
                                                   onClick="@command('applyTheme', name='silvertail')"/>
                                         <menuitem label="Sapphire" onClick="@command('applyTheme', name='sapphire')"/>
                                         <menuitem label="Atlantic" onClick="@command('applyTheme', name='atlantic')"/>
                             <menuseparator/>
                             <!--                                    <menuitem iconSclass="z-icon-share-alt" label="Camunda"-->
                             <!--                                              onClick="@command(vm.selectPage('/camunda'))"/>-->
-                            <menuitem iconSclass="z-icon-times-circle-o" label="Folyamatok leállítása"
-                                      onClick="@command('onCancelProcesses')"/>
+                            <!--                            <menuitem iconSclass="z-icon-times-circle-o" label="Folyamatok leállítása"-->
+                            <!--                                      onClick="@command('onCancelProcesses')"/>-->
+                            <menuitem iconSclass="z-icon-times-circle-o" label="Import folyamat leállítása"
+                                      onClick="@command('onCancelImportProcesses')"/>
                         </menupopup>
                     </menu>
                 </menubar>
index 1a0b4f57b13468ba889eb4e4a37968fc65550b8a..57e2990a95aabcf1ecd306280ae7642039957437 100644 (file)
     border-radius: 10px;
 }
 
+.well {
+    min-height: 20px;
+    padding: 19px;
+    margin-bottom: 20px;
+    background-color: #f5f5f5;
+    border: 1px solid #e3e3e3;
+    border-radius: 4px;
+    -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
+    box-shadow: inset 0 1px 1px rgba(0,0,0,0.05);
+}
+
 .input-group {
     margin: 10px;
 }
index 407f0041a68d33866718d054aa24d10b98fd5b71..00e1cf56f644ecf86768d0138febccaec08eb69e 100644 (file)
@@ -76,17 +76,28 @@ public class WorkflowManagerService {
         return taskList;
     }
 
-    public void cancelInvoiceImportProcess() {
-        List<ProcessInstance> processInstances = runtimeService.createProcessInstanceQuery().active().list();
+    public void cancelInvoiceImportProcess(boolean onlyImport) {
+        List<ProcessInstance> processInstances = runtimeService.createProcessInstanceQuery().list();
         processInstances.forEach(p -> {
-            log.info("Killing {} {}", p.getProcessInstanceId(), p.getProcessDefinitionId());
-            try {
-                runtimeService.deleteProcessInstance(p.getProcessInstanceId(), "Canceled");
-            } catch (Exception e) {
+            log.info("Found process instance {} {} {}", p.getProcessInstanceId(), p.getProcessDefinitionId(), p.isSuspended());
+            if (onlyImport) {
+                if (IMPORT_INCOMING_INVOICES.equals(p.getProcessDefinitionId())) {
+                    killProcess(p);
+                }
+            } else {
+                killProcess(p);
             }
         });
     }
 
+    private void killProcess(ProcessInstance p) {
+        log.info("Killing process instance {} {} {}", p.getProcessInstanceId(), p.getProcessDefinitionId(), p.isSuspended());
+        try {
+            runtimeService.deleteProcessInstance(p.getProcessInstanceId(), "Canceled");
+        } catch (Exception e) {
+        }
+    }
+
     @EventListener
     public void onExecutionEvent(ExecutionEvent executionEvent) {
 //        log.info("ExecutionEvent {}", executionEvent.getEventName());