更新已阅数据
This commit is contained in:
parent
85f8cee2ce
commit
4a3066f09a
Binary file not shown.
@ -1,33 +1,14 @@
|
||||
package com.awspaas.user.apps.integration.oauth;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.HttpURLConnection;
|
||||
import java.net.URL;
|
||||
import java.net.URLDecoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.constant.CoEConstant;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.OutputAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.constant.OutputConst;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.dao.OutputTask;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.extend.OutputAppManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.extend.OutputAppProfile;
|
||||
import com.actionsoft.apps.coe.pal.pal.output.model.OutputTaskModel;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.PALRepositoryQueryAPIManager;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.upfile.model.UpfileModel;
|
||||
import com.actionsoft.apps.coe.pal.pal.repository.upfile.web.UpfileWeb;
|
||||
import com.actionsoft.apps.coe.pal.util.HighSecurityUtil;
|
||||
import com.actionsoft.apps.resource.plugin.profile.DCPluginProfile;
|
||||
import com.actionsoft.bpms.bo.engine.BO;
|
||||
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.HistoryTaskInstance;
|
||||
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
|
||||
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.TaskInstance;
|
||||
import com.actionsoft.bpms.client.form.UserTaskFormsWeb;
|
||||
@ -43,31 +24,36 @@ import com.actionsoft.bpms.server.bind.annotation.Controller;
|
||||
import com.actionsoft.bpms.server.bind.annotation.Mapping;
|
||||
import com.actionsoft.bpms.server.fs.DCContext;
|
||||
import com.actionsoft.bpms.util.DBSql;
|
||||
import com.actionsoft.bpms.util.UUIDGener;
|
||||
import com.actionsoft.bpms.util.UtilString;
|
||||
import com.actionsoft.exception.AWSException;
|
||||
import com.actionsoft.exception.AWSQuotaException;
|
||||
import com.actionsoft.sdk.local.SDK;
|
||||
import com.actionsoft.sdk.local.api.AppAPI;
|
||||
import com.actionsoft.sdk.local.api.ORGAPI;
|
||||
import com.actionsoft.sdk.local.api.TaskAPI;
|
||||
import com.actionsoft.sdk.local.api.*;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.awspaas.user.apps.integration.event.OutputDCFileProcessor;
|
||||
import com.awspaas.user.apps.integration.util.HttpClientUtils;
|
||||
import com.awspaas.user.apps.integration.util.UtilUrl;
|
||||
import com.google.common.io.ByteStreams;
|
||||
import org.apache.commons.httpclient.HttpClient;
|
||||
import org.apache.commons.httpclient.methods.PostMethod;
|
||||
import org.apache.commons.httpclient.methods.RequestEntity;
|
||||
import org.apache.commons.httpclient.methods.StringRequestEntity;
|
||||
import org.apache.commons.lang.StringUtils;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import java.net.URLDecoder;
|
||||
import java.nio.charset.StandardCharsets;
|
||||
import java.sql.Connection;
|
||||
import java.sql.SQLException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.time.LocalDate;
|
||||
import java.util.*;
|
||||
|
||||
@SuppressWarnings("all")
|
||||
@Controller
|
||||
public class TaskController {
|
||||
|
||||
/**
|
||||
* OA系统单点访问PAL系统
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.yili_pal_portal_open")
|
||||
@ -117,9 +103,9 @@ public class TaskController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 用户登录日志
|
||||
*
|
||||
* @param userid
|
||||
* @param logType
|
||||
*/
|
||||
@ -141,18 +127,27 @@ public class TaskController {
|
||||
|
||||
|
||||
//将已读数据插入至BO_ACT_ALREADY_DATAID ,并把BO_ACT_DATAID中此条已读数据删除
|
||||
|
||||
String sql = "INSERT INTO BO_ACT_ALREADY_DATAID (\"ID\",ORGID,BINDID,CREATEDATE,CREATEUSER,UPDATEDATE,UPDATEUSER,PROCESSDEFID,ISEND,PROCESSID,USER_ID,USERDEP,READTIMES,DATAID,\"RESULT\",TITLE,SENDTYPE,READSTATE,READCOUNT,\"TYPE\")\n" +
|
||||
/*String sql = "INSERT INTO BO_ACT_ALREADY_DATAID (\"ID\",ORGID,BINDID,CREATEDATE,CREATEUSER,UPDATEDATE,UPDATEUSER,PROCESSDEFID,ISEND,PROCESSID,USER_ID,USERDEP,READTIMES,DATAID,\"RESULT\",TITLE,SENDTYPE,READSTATE,READCOUNT,\"TYPE\")\n" +
|
||||
"\t\t\t\tSELECT \"ID\",ORGID,BINDID,CREATEDATE,CREATEUSER,UPDATEDATE,UPDATEUSER,PROCESSDEFID,ISEND,PROCESSID,USER_ID,USERDEP,READTIMES,DATAID,\"RESULT\",TITLE,SENDTYPE,READSTATE,READCOUNT,\"TYPE\"\n" +
|
||||
"\t\t\t\tFROM BO_ACT_DATAID WHERE READSTATE='已读' AND PROCESSID = '" + processInstId + "' AND USER_ID = '" + userid + "'";
|
||||
DBSql.update(sql);
|
||||
DBSql.update(sql);*/
|
||||
|
||||
|
||||
|
||||
// 示例代码
|
||||
BOQueryAPI query = SDK.getBOAPI().query("BO_ACT_DATAID").addQuery("PROCESSID=", processInstId).addQuery("USER_ID=",userid);
|
||||
// 指定将要复制到新的bo表以及流程实例ID
|
||||
BOCopyAPI copyAPI = query.copyTo("BO_ACT_ALREADY_DATAID", processInstId);
|
||||
// 如果新表需要新的值,请添加新数据
|
||||
copyAPI.addNewData("USER", "");
|
||||
// 执行复制操作
|
||||
copyAPI.exec();
|
||||
|
||||
|
||||
String sql1 = "DELETE FROM BO_ACT_DATAID WHERE READSTATE='已读' AND PROCESSID = '" + processInstId + "' AND USER_ID = '" + userid + "'";
|
||||
DBSql.update(sql1);
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
String logTime = new SimpleDateFormat("yyyy-MM-dd").format(new Date());
|
||||
BO bo = new BO();
|
||||
@ -174,6 +169,7 @@ public class TaskController {
|
||||
|
||||
/**
|
||||
* OA系统单点访问表单数据
|
||||
*
|
||||
* @param me
|
||||
* @param params
|
||||
* @return
|
||||
@ -261,8 +257,7 @@ public class TaskController {
|
||||
try {
|
||||
// 记录门户待阅
|
||||
setRecord(me.getUID(), processInstId, instanceById.getTitle());
|
||||
// 用户打开阅览界面日志
|
||||
setUserLog(processInstId, me.getUID(), "3");
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
}
|
||||
@ -667,6 +662,7 @@ public class TaskController {
|
||||
List<BO> bo_act_dataid = SDK.getBOAPI().query("BO_ACT_DATAID").addQuery("PROCESSID=", processInstId)
|
||||
.addQuery("USER_ID=", usercode).list();
|
||||
if (bo_act_dataid.size() > 0) {
|
||||
System.out.println("查询未读数据=============" + processInstId + "USER_ID=========" + usercode);
|
||||
for (BO bo : bo_act_dataid) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("action", "read");
|
||||
@ -680,7 +676,36 @@ public class TaskController {
|
||||
int timeout = 10000;
|
||||
String readurl = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "readurl");
|
||||
String s = UtilUrl.doPostSoap(readurl, xmlStr, "");
|
||||
// System.err.println(instanceById.getTitle()+"OA待阅PC端阅读返回=======>"+s);
|
||||
System.err.println(instanceById.getTitle() + "OA待阅PC端阅读返回=======>" + s);
|
||||
String nums = DBSql.getString(
|
||||
"select READNUM from BO_EU_PAL_READ_LOG where PROCESSID = '" + processInstId + "'");
|
||||
if (UtilString.isNotEmpty(nums)) {
|
||||
Integer read_num = Integer.valueOf(nums);
|
||||
read_num += 1;
|
||||
DBSql.update("update BO_EU_PAL_READ_LOG set READNUM = '" + read_num + "' where PROCESSID = '"
|
||||
+ processInstId + "'");
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
List<BO> actAlreadyDataid = SDK.getBOAPI().query("BO_ACT_ALREADY_DATAID").addQuery("PROCESSID=", processInstId)
|
||||
.addQuery("USER_ID=", usercode).list();
|
||||
if (actAlreadyDataid.size() > 0) {
|
||||
System.out.println("查询已读数据=============" + processInstId + "USER_ID=========" + usercode);
|
||||
for (BO bo : actAlreadyDataid) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("action", "read");
|
||||
jsonObject.put("status", "1");
|
||||
jsonObject.put("dataid", bo.getString("DATAID"));
|
||||
String xmlStr = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"webservices.yili.weaver.com.cn\">\n"
|
||||
+ " <soapenv:Header/>" + " <soapenv:Body>" + " <web:service>"
|
||||
+ " <web:in0>" + "<![CDATA[" + jsonObject + "]]>" + " </web:in0>"
|
||||
+ " </web:service>" + " </soapenv:Body>" + "</soapenv:Envelope>";
|
||||
HttpClient client = new HttpClient();
|
||||
int timeout = 10000;
|
||||
String readurl = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "readurl");
|
||||
String s = UtilUrl.doPostSoap(readurl, xmlStr, "");
|
||||
System.err.println(instanceById.getTitle() + "OA待阅PC端阅读返回=======>" + s);
|
||||
String nums = DBSql.getString(
|
||||
"select READNUM from BO_EU_PAL_READ_LOG where PROCESSID = '" + processInstId + "'");
|
||||
if (UtilString.isNotEmpty(nums)) {
|
||||
@ -692,6 +717,11 @@ public class TaskController {
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// 用户打开阅览界面日志
|
||||
setUserLog(processInstId, me.getUID(), "3");
|
||||
|
||||
// }
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
@ -743,8 +773,7 @@ public class TaskController {
|
||||
try {
|
||||
//记录门户待阅
|
||||
setRecord(me.getUID(), processInstId, instanceById.getTitle());
|
||||
// 用户打开阅览界面日志
|
||||
setUserLog(processInstId, me.getUID(), "3");
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
}
|
||||
@ -1356,8 +1385,37 @@ public class TaskController {
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
List<BO> alreadyDataid = SDK.getBOAPI().query("BO_ACT_ALREADY_DATAID").addQuery("PROCESSID=", processInstId)
|
||||
.addQuery("USER_ID=", usercode).list();
|
||||
if (alreadyDataid.size() > 0) {
|
||||
for (BO bo : alreadyDataid) {
|
||||
JSONObject jsonObject = new JSONObject();
|
||||
jsonObject.put("status", "1");
|
||||
jsonObject.put("action", "read");
|
||||
jsonObject.put("dataid", bo.getString("DATAID"));
|
||||
String xmlStr = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:web=\"webservices.yili.weaver.com.cn\">\n"
|
||||
+ " <soapenv:Header/>" + " <soapenv:Body>" + " <web:service>"
|
||||
+ " <web:in0>" + "<![CDATA[" + jsonObject + "]]>" + " </web:in0>"
|
||||
+ " </web:service>" + " </soapenv:Body>" + "</soapenv:Envelope>";
|
||||
int timeout = 10000;
|
||||
String readurl = SDK.getAppAPI().getProperty("com.awspaas.user.apps.yili.integration", "readurl");
|
||||
String s = UtilUrl.doPostSoap(readurl, xmlStr, "");
|
||||
System.err.println(instanceById.getTitle() + "_OA待阅移动端阅读返回=======>" + s);
|
||||
String nums = DBSql.getString(
|
||||
"select READNUM from BO_EU_PAL_READ_LOG where PROCESSID = '" + processInstId + "'");
|
||||
if (UtilString.isNotEmpty(nums)) {
|
||||
Integer read_num = Integer.valueOf(nums);
|
||||
read_num += 1;
|
||||
DBSql.update("update BO_EU_PAL_READ_LOG set READNUM = '" + read_num + "' where PROCESSID = '"
|
||||
+ processInstId + "'");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
// 用户打开阅览界面日志
|
||||
setUserLog(processInstId, me.getUID(), "3");
|
||||
/*
|
||||
* JSONObject jsonObject = new JSONObject(); SimpleDateFormat sdf = new
|
||||
* SimpleDateFormat("yyyy-MM-dd"); String sql =
|
||||
@ -1412,6 +1470,7 @@ public class TaskController {
|
||||
|
||||
/**
|
||||
* 从 String 中提取数字
|
||||
*
|
||||
* @param string
|
||||
* @return
|
||||
*/
|
||||
@ -1440,5 +1499,4 @@ public class TaskController {
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user