文件状态批量修改停用状态将kms文件取消发布并且删除索引
This commit is contained in:
parent
1dd5fa577e
commit
2bd2a2422b
@ -212,6 +212,14 @@ public class UpateFileStateController {
|
||||
PALRepositoryCache.getCache().put(plId, plModel);
|
||||
}
|
||||
|
||||
RowMap map = DBSql.getMap("SELECT * FROM APP_ACT_COE_PAL_REPOSITORY WHERE ID = '" + plId + "'");
|
||||
String ext4 = map.getString("EXT4");
|
||||
if (UtilString.isNotEmpty(ext4)){
|
||||
ProcessInstance processInstance = SDK.getProcessAPI().createProcessInstance("obj_a228b4816a7b4f58a862b9612299948c", "admin", "");
|
||||
CancelPublishKnwl(processInstance,sid,ext4);
|
||||
}else {
|
||||
System.out.println("该文件未被发布,不进行取消发布知识以及删除索引");
|
||||
}
|
||||
|
||||
SDK.getLogAPI().consoleInfo("更新状态后刷新缓存结束===========>");
|
||||
}
|
||||
@ -641,7 +649,7 @@ public class UpateFileStateController {
|
||||
//jsonObject.put("abstract", dcContext);//信息摘要
|
||||
jsonObject.put("title", dcContext.getFileName().substring(0,dcContext.getFileName().indexOf(".")));//信息标题
|
||||
coontest.add(jsonObject);
|
||||
createIndexesByContent(processExecutionContext,coontest);
|
||||
createIndexesByContent(processExecutionContext,coontest,cardId);
|
||||
|
||||
}
|
||||
}
|
||||
@ -689,7 +697,7 @@ public class UpateFileStateController {
|
||||
//jsonObject.put("abstract", dcContexts);//信息摘要
|
||||
jsonObject.put("title", dcContexts.getFileName().substring(0,dcContexts.getFileName().indexOf(".")));//信息标题
|
||||
coontest.add(jsonObject);
|
||||
createIndexesByContent(processExecutionContext,coontest);
|
||||
createIndexesByContent(processExecutionContext,coontest,cardId);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -703,6 +711,61 @@ public class UpateFileStateController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
public boolean deleteIndex(ProcessInstance processExecutionContext,String documentId) {
|
||||
// 调用App
|
||||
String sourceAppId = processExecutionContext.getAppId();
|
||||
// aslp服务地址
|
||||
String aslp = "aslp://com.actionsoft.apps.addons.es/deleteIndex";
|
||||
// 参数定义列表
|
||||
Map params = new HashMap<String, Object>();
|
||||
//索引名称(文档在哪存放),必填
|
||||
params.put("index", "com.actionsoft.apps.kms_kmsdoc_card");
|
||||
//类型(索引中对数据进行逻辑分区。不同 type的文档可能有不同的字段,但最好能够非常相似,比如:存储所有产品到索引products中,但是你有许多不同的产品类别,这些产品共享一种相同的(或非常相似)的模式:他们有一个标题、描述、产品代码和价格。他们只是正好属于“产品”下的一些子类。用type表示不同的类别),必填
|
||||
params.put("type", "kmsdoc_card");
|
||||
//索引ID,入库时给定的ID,非必填
|
||||
params.put("documentId", documentId);
|
||||
AppAPI appAPI = SDK.getAppAPI();
|
||||
//删除索引
|
||||
ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params);
|
||||
System.out.println("删除索引成功>>>>>>>>"+ro.isOk());
|
||||
return ro.isOk();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 取消发布知识
|
||||
*
|
||||
* @param processExecutionContext
|
||||
* @param sid
|
||||
* @param knwlId
|
||||
* @return
|
||||
*/
|
||||
public boolean CancelPublishKnwl(ProcessInstance processExecutionContext, String sid, String knwlId) {
|
||||
// 调用App
|
||||
String sourceAppId = processExecutionContext.getAppId();
|
||||
// aslp服务地址
|
||||
String aslp = "aslp://com.actionsoft.apps.kms/CancelPublishKnwl";
|
||||
// 参数定义列表
|
||||
Map params = new HashMap<String, Object>();
|
||||
// sid,如果为空,则需要传createUser参数,非必填
|
||||
params.put("sid", sid);
|
||||
// 知识ID,必填
|
||||
params.put("knwlId", knwlId);
|
||||
AppAPI appAPI = SDK.getAppAPI();
|
||||
// 取消发布知识(全部维度)
|
||||
ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params);
|
||||
System.out.println("取消发布的ro=====>>>>" + ro);
|
||||
List<BO> bo_act_document = SDK.getBOAPI().query("BO_ACT_DOCUMENT", true).addQuery("CARDID = ", knwlId).list();
|
||||
for (BO bo:
|
||||
bo_act_document) {
|
||||
String documentid = bo.getString("DOCUMENTID");
|
||||
deleteIndex(processExecutionContext,documentid);
|
||||
}
|
||||
return ro.isOk();
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 创建索引
|
||||
* @param processExecutionContext 流程实例
|
||||
@ -710,7 +773,7 @@ public class UpateFileStateController {
|
||||
* @return
|
||||
*/
|
||||
|
||||
public boolean createIndexesByContent(ProcessInstance processExecutionContext,JSONArray contents) {
|
||||
public boolean createIndexesByContent(ProcessInstance processExecutionContext,JSONArray contents,String cardId) {
|
||||
// 调用App
|
||||
String sourceAppId =processExecutionContext.getAppId() ;
|
||||
// aslp服务地址
|
||||
@ -726,6 +789,18 @@ public class UpateFileStateController {
|
||||
AppAPI appAPI = SDK.getAppAPI();
|
||||
//入库操作,创建内容索引(多个)
|
||||
ResponseObject ro = appAPI.callASLP(appAPI.getAppContext(sourceAppId), aslp, params);
|
||||
|
||||
if(ro.isOk()){
|
||||
String documentId = ((LinkedHashMap) ro.getData()).get("documentId").toString();
|
||||
BO bo = new BO();
|
||||
bo.set("DOCUMENTID",documentId);
|
||||
bo.set("CARDID",cardId);
|
||||
JSONObject jsonObject = contents.getJSONObject(0);
|
||||
String title = jsonObject.get("title").toString();
|
||||
bo.set("TITLE",title);
|
||||
SDK.getBOAPI().create("BO_ACT_DOCUMENT",bo,processExecutionContext,UserContext.fromUID(processExecutionContext.getCreateUser()));
|
||||
}
|
||||
|
||||
return ro.isOk();
|
||||
}
|
||||
|
||||
|
||||
@ -55,7 +55,7 @@ public class OaPendComponent {
|
||||
private String userName = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "restUserName");
|
||||
private String password = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "restUserPwd");
|
||||
private String[] GO_BACK = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "GO_BACK").split("\\|");
|
||||
|
||||
private String[] TERMINATION = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "TERMINATION").split("\\|");
|
||||
|
||||
private static class PostPendTask implements Runnable {
|
||||
int type;
|
||||
@ -469,25 +469,24 @@ public class OaPendComponent {
|
||||
xmlDatasUtil.setReceivetime(der.substring(der.indexOf(" "),der.length()));
|
||||
if (taskInstance!=null){
|
||||
String actionName = getActionName(taskInstance);
|
||||
if (actionName.equals("确认发布")||equalsAction(GO_BACK, actionName)){
|
||||
xmlDatasUtil.setCurrentnodetype("1");
|
||||
if (actionName.equals("确认发布")||equalsAction(GO_BACK, actionName)||equalsAction(TERMINATION,actionName)){
|
||||
//流程结束时,归档所有任务
|
||||
try {
|
||||
String processInstId = pec.getProcessInstance().getId();
|
||||
List<HistoryTaskInstance> list = SDK.getHistoryTaskQueryAPI().processInstId(processInstId).list();
|
||||
System.err.println(pec.getProcessInstance().getTitle()+"_当前流程的历史任务========>"+list);
|
||||
for (HistoryTaskInstance historyTaskInstance : list) {
|
||||
try {
|
||||
updatePending2(historyTaskInstance, pec);
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
xmlDatasUtil.setCurrentnodetype("1");
|
||||
//如果是终止或者废止的话,将历史记录全部更新
|
||||
if (!actionName.equals("确认发布")){
|
||||
try {
|
||||
String processInstId = pec.getProcessInstance().getId();
|
||||
List<HistoryTaskInstance> list = SDK.getHistoryTaskQueryAPI().processInstId(processInstId).list();
|
||||
System.err.println(pec.getProcessInstance().getTitle()+"_当前流程的历史任务========>"+list);
|
||||
for (HistoryTaskInstance historyTaskInstance : list) {
|
||||
try {
|
||||
updatePending2(historyTaskInstance, pec);
|
||||
} catch (Exception e) {
|
||||
}
|
||||
}
|
||||
} catch (Exception e) {
|
||||
}
|
||||
} catch (Exception e) {
|
||||
// TODO: handle exception
|
||||
}
|
||||
|
||||
|
||||
}else{
|
||||
xmlDatasUtil.setCurrentnodetype("0");
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user