Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Problem

Thai

ปัญหา

English
Using multiapproval [Multiple Approval v2 (Thread safe)] while having forms in both parent and child process. You have 2 different processes while subprocess approve doesnt contain any row in database, so it can't be linked with

...

List inbox only with inbox as in example, which takes data only from SHKAssignmentsTable, without any data from forms.
Thai

การใช้ multiapproval [Multiple Approval v2 (Thread safe)] ในขณะที่มีแบบฟอร์มทั้งในกระบวนการผู้ปกครองและเด็ก คุณมี 2 กระบวนการที่แตกต่างกันในขณะที่การอนุมัติการประมวลผลย่อยไม่มีแถวใด ๆ ในฐานข้อมูลดังนั้นจึงไม่สามารถเชื่อมโยงกับกล่องขาเข้าดาต้าลิสต์กับกล่องขาเข้าได้เป็นตัวอย่างเท่านั้นซึ่งใช้ข้อมูลจาก SHKAssignmentsTable เท่านั้น

Motivation

Thai

แรงจูงใจ

You can simply use INBOX in userview, but this gives absolutely no info to users, I wanted to give them all relevant informations which were provided in apply, while retain opportunity to run actions for both processes from one datalistList.

Thai

คุณสามารถใช้ INBOX ใน userview ได้ แต่สิ่งนี้ไม่ได้ให้ข้อมูลกับผู้ใช้อย่างแน่นอนฉันต้องการให้ข้อมูลที่เกี่ยวข้องทั้งหมดที่มีให้ในการใช้งานในขณะที่ยังคงมีโอกาสในการดำเนินการสำหรับกระบวนการทั้งสองจากหนึ่ง datalistList


Solution

Thai

วิธีการแก้

1.Create row in DB

Thai

สร้างแถวใน DB

Create new tool in process Apply

...

Using Preset Form Data Tool set ID for Approval Form, which leads to creating row in table with correct process ID (which datalist List inbox uses for pairing with assignments through SHKAssignmentsTable ). Into field ID we assign #assignment.processId#, for Approval Form.

...

Thai

ข้าม "ฟอร์มการอนุมัติผู้ใช้หลายคน" เป็นแอปพลิเคชันของฉันที่มีชื่อแตกต่างกันควรมีฟอร์มที่เชื่อมโยงกับการอนุมัติ


2. Store Child ID's

Thai

เก็บรหัสย่อยของเด็ก

In main Process (Apply) in form Apply add hidden field childIDs so JW creates this column in table.

Add following lines into Generate Approvals Tool. This will save all child process ID's into childIDs column so we can have reference for datalist List inbox.

Thai

ในกระบวนการหลัก (นำไปใช้) ในรูปแบบใช้เพิ่มเขตข้อมูลที่ซ่อนไว้ childIDs เพื่อ JW สร้างคอลัมน์นี้ในตาราง

เพิ่มบรรทัดต่อไปนี้ลงในเครื่องมือสร้างการอนุมัติ สิ่งนี้จะบันทึก ID กระบวนการลูกทั้งหมดลงในคอลัมน์ childIDs เพื่อให้เราสามารถมีการอ้างอิงสำหรับกล่องจดหมายดาต้าลิสต์

Code Block
languagejava
themeDJango
Connection con = null;
try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();
    con = DriverManager.getConnection("jdbc:mysql://localhost:3306/jwdb?characterEncoding=UTF-8", "root", "/////////////");
    if (!con.isClosed()) {
        String sql = "UPDATE jwdb.app_fd_multiApproval_applications SET c_childIDs = ? WHERE id = ?";
        PreparedStatement stmt = con.prepareStatement(sql);
        String concated = approvalInstanceIds.substring(0, approvalInstanceIds.length() - 1); //cut out last ","
        stmt.setString(1, concated);
        stmt.setString(2, "#assignment.processId#");
        stmt.execute();
    }
} catch (Exception ex) {
    System.err.println("Exception: " + ex.getMessage());
} finally {
    try {
        if (con != null)
            con.close();
    } catch (SQLException e) {
        System.err.println("Exception: " + ex.getMessage());
    }
} 


3. Create

...

List Inbox 

Thai

สร้างกล่องขาเข้าดาต้าลิสต์

data binder: Database SQL Query

Thai

data binder: Database SQL Query


Image RemovedImage Added

setup connection to JWDB

Thai

ตั้งค่าการเชื่อมต่อกับ JWDB


Image RemovedImage Added

Now write your own query to UNION data of this 2 processes.

...

P.S. I would like to provide my application, but it is quite robust and this is only small part of it, I will try to provide edited Multiple Approval v2 (Thread safe) with datalist List inbox as soon as possible.

...