yili-apps/com.awspaas.user.bpa/src/com/awspaas/user/bpa/job/UpdateKnowJobs.java

104 lines
5.4 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.awspaas.user.bpa.job;
import com.actionsoft.bpms.bo.engine.BO;
import com.actionsoft.bpms.bpmn.engine.core.delegate.ProcessExecutionContext;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.commons.mvc.view.ResponseObject;
import com.actionsoft.bpms.schedule.IJob;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.sdk.local.SDK;
import com.actionsoft.sdk.local.api.AppAPI;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import java.sql.Connection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
public class UpdateKnowJobs implements IJob {
@Override
public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException {
Connection open = DBSql.open();
List<BO> list = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH", true).addQuery("ISEND=","1").addQuery("SEND_SCOP=", "1").addQuery("SEND_SCOPE_ORG IS NULL", null).list();
for (BO bo:list) {
String bindid = bo.getString("BINDID");
ProcessInstance instanceById = SDK.getProcessAPI().getInstanceById(bindid);
boolean end = instanceById.isEnd();
if (end) {
List<BO> bo_act_coe_publish_n = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_N", true).addQuery("BINDID = ", bindid).list();
for (BO bo1 : bo_act_coe_publish_n) {
String publishfileid = bo1.getString("PUBLISHFILEID");
RowMap map = DBSql.getMap("select * from APP_ACT_COE_PAL_REPOSITORY where ID = '" + publishfileid + "' AND ISPUBLISH = '1' AND ISSTOP='0'");
if (map!=null) {
String ext4 = map.getString("EXT4");
RowMap map1 = DBSql.getMap("select * from app_act_kms_card where ID = '" + ext4 + "'");
if (map1 != null) {
int update = DBSql.update("delete from sys_ac where RESOURCEID = '" + ext4 + "' AND RESOURCETYPE = 'kms.card'");
SDK.getLogAPI().consoleInfo("删除ac授权文件>>>>>>>>>>" + update);
JSONArray jsonArray1 = new JSONArray();
JSONObject jsonObjecta = new JSONObject();
jsonObjecta.put("assignmentType", "company");
jsonObjecta.put("assignmentId", "8911e732-b42a-4556-853f-ad32761bcbee");
jsonArray1.add(jsonObjecta);
UserContext userContext = UserContext.fromUID("admin");
AddKnwlAC(jsonArray1, userContext.getSessionId(), ext4);
}
}
}
List<BO> bo_act_coe_publish_c = SDK.getBOAPI().query("BO_ACT_COE_PUBLISH_C", true).addQuery("BINDID = ", bindid).list();
for (BO bo1 : bo_act_coe_publish_c) {
String publishfileid = bo1.getString("CHANGEDFILEIDNEW");
RowMap map = DBSql.getMap("select * from APP_ACT_COE_PAL_REPOSITORY where ID = '" + publishfileid + "' AND ISPUBLISH = '1' AND ISSTOP='0'");
if (map!=null) {
String ext4 = map.getString("EXT4");
RowMap map1 = DBSql.getMap("select * from app_act_kms_card where ID = '" + ext4 + "'");
if (map1 != null) {
int update = DBSql.update("delete from sys_ac where RESOURCEID = '" + ext4 + "' AND RESOURCETYPE = 'kms.card'");
SDK.getLogAPI().consoleInfo("删除ac授权文件>>>>>>>>>>" + update);
JSONArray jsonArray1 = new JSONArray();
JSONObject jsonObjecta = new JSONObject();
jsonObjecta.put("assignmentType", "company");
jsonObjecta.put("assignmentId", "8911e732-b42a-4556-853f-ad32761bcbee");
jsonArray1.add(jsonObjecta);
UserContext userContext = UserContext.fromUID("admin");
AddKnwlAC(jsonArray1, userContext.getSessionId(), ext4);
}
}
}
}
}
}
public boolean AddKnwlAC(JSONArray jsonArray, String sid,
String knwlId) {
// 调用App
String sourceAppId = "com.awspaas.user.apps.new_performance_indicator_library";
// aslp服务地址
String aslp = "aslp://com.actionsoft.apps.kms/AddKnwlAC";
// 参数定义列表
Map params = new HashMap<String, Object>();
// [{"assignmentType":"department","assignmentId":"62196ff9-a26d-4be5-9480-3ef680886f63"},{"assignmentType":"user","assignmentId":"user1"}],必填
params.put("acList", jsonArray);
// sid如果为空则需要传createUser参数,非必填
params.put("sid", sid);
// 知识ID,必填
params.put("knwlId", knwlId);
AppAPI appAPI = SDK.getAppAPI();
// 给知识授权
ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params);
SDK.getLogAPI().consoleInfo("是否授权成功>>>>>>>>>>>>>>>"+ro.isOk());
return ro.isOk();
}
}