生效时间回填/矩阵规则去掉工程技术标准

This commit is contained in:
zhal 2024-08-20 10:20:44 +08:00
parent ed772c66b8
commit 001685700f
5 changed files with 94 additions and 36 deletions

View File

@ -642,7 +642,7 @@ public class PublisherController {
/**
* 查询发布流程中支持文件形状属性上传附件
* 查询发布流程中相关/支持文件形状属性上传附件
*
* @param me
* @param uuids

View File

@ -43,6 +43,7 @@ import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListener;
import com.actionsoft.bpms.bpmn.engine.listener.ExecuteListenerInterface;
import com.actionsoft.bpms.bpmn.engine.model.run.delegate.ProcessInstance;
import com.actionsoft.bpms.commons.database.RowMap;
import com.actionsoft.bpms.org.model.DepartmentModel;
import com.actionsoft.bpms.server.UserContext;
import com.actionsoft.bpms.util.DBSql;
import com.actionsoft.bpms.util.UUIDGener;
@ -581,6 +582,10 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
attrId = "effective_date";
}else if ("process.flowchart".equals(method)){
attrId = "effective_date";
}else if("engineering.standard".equals(method)){
attrId = "effective_date";
}else if("process.scheme".equals(method)){
attrId = "effective_date";
}
if (UtilString.isEmpty(attrId)) {
return false;
@ -703,6 +708,68 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
//存储发布流程的流程实例ID与权限阅览数据视图做关联
bo.set("PUBLISHPROCESSID" , bindId);
RowMap PROCESS_ARCHITECTURE_L1= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L1'");
RowMap PROCESS_ARCHITECTURE_L2= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L2'");
RowMap PROCESS_ARCHITECTURE_L3= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L3'");
RowMap PROCESS_ARCHITECTURE_L4= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='Process_Architecture_L4'");
RowMap versions= DBSql.getMap("SELECT PROPERTYVALUE FROM APP_ACT_COE_PAL_PROP where PLID = '"+verId+"' and PROPERTYID='versions'");
RowMap rlatRowMap= DBSql.getMap("SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID = '"+verId+"' and ATTRID='Issuing_department'");
JSONObject js=JSONObject.parseObject(rlatRowMap.getString("RELATIONSHAPETEXT"));
if(rlatRowMap!=null){
bo.set("PUBLISHDEPT",js.getString("name"));
bo.set("PUBLISHDEPTID",js.getString("id"));
}
bo.set("VERSION",versions.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L1",PROCESS_ARCHITECTURE_L1.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L2",PROCESS_ARCHITECTURE_L2.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L3",PROCESS_ARCHITECTURE_L3.getString("PROPERTYVALUE"));
bo.set("PROCESS_ARCHITECTURE_L4",PROCESS_ARCHITECTURE_L4.getString("PROPERTYVALUE"));
//事业部
/* RowMap rlatMap= DBSql.getMap("SELECT RELATIONSHAPETEXT FROM APP_ACT_COE_PAL_SHAPE_RLAT where FILEID = '"+verId+"' and ATTRID='Issuing_department'");
if(rlatRowMap!=null){
JSONObject relationshapetext=JSONObject.parseObject(rlatRowMap.getString("RELATIONSHAPETEXT"));
if(js!=null){
DepartmentModel departmentModel=SDK.getORGAPI().getDepartmentById(relationshapetext.getString("id"));
if(departmentModel!=null){
boolean isclosed=departmentModel.isClosed();
if(isclosed==false){
String allpath = SDK.getORGAPI().getDepartmentById(relationshapetext.getString("id")).getPathNameOfCache();
if(allpath.contains("事业部")){
String depname=allpath.substring(0,allpath.indexOf("事业部")+3);
if(depname!=null){
bo.set("BUSINESS_DIVISION",depname);
}
}
if(allpath.contains("伊利")){
bo.set("BUSINESS_DIVISION","伊利集团总部");
}
}
}
}
}*/
ProcessInstance boProcessInstance = SDK.getProcessAPI()
.createBOProcessInstance("obj_e076b01bd0d04bc39e5af12e2c8c188c", applyUser, "权限阅览");
SDK.getBOAPI().create(newBoName, bo, boProcessInstance.getId(), applyUser);

View File

@ -130,7 +130,6 @@ public class SubFormAfterSave extends ExecuteListener {
saveFileType(processInstId,formData);
}
} else if (boName.equals("BO_ACT_COE_PUBLISH")) {//如果是主表保存
SDK.getLogAPI().consoleInfo(">>>>>>保存触发了his数据更新");
BO bo = SDK.getBOAPI().query(PublisherConstant.BOTABLENAME).detailByBindId(processInstId);
if(UtilString.isNotEmpty(bo.getString("SEND_SCOPE_ORG"))//都不为空则更新
|| UtilString.isNotEmpty(bo.getString("SEND_SCOPE_POST"))
@ -206,7 +205,7 @@ public class SubFormAfterSave extends ExecuteListener {
}
//保存发布文件的类型到主表
if ((arr.contains("表单模板") || arr.contains("操作指导") || arr.contains("方案图") || arr.contains("工程技术标准") ) && !arr.contains("制度模型") && !arr.contains("EPC模型") && !arr.contains("泳道图") ) {
if ((arr.contains("表单模板") || arr.contains("操作指导") || arr.contains("方案图")) && !arr.contains("制度模型") && !arr.contains("EPC模型") && !arr.contains("泳道图") ) {
int coumt=DBSql.update("UPDATE BO_ACT_COE_PUBLISH SET RELEASE_THE_TITLE='操作指导/表单模板',SECONDARY_AUDIT_REQUIRED='N',LEVEL_1_AUDIT_REQUIRED='N' WHERE BINDID='" + processInstId + "'");
//SDK.getBOAPI().updateByBindId("BO_ACT_COE_PUBLISH", processInstId, "RELEASE_THE_TITLE", "操作指导/表单模板");
} else {

View File

@ -119,6 +119,7 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
}
//发送消息通知
List<BO> readCountBO=SDK.getBOAPI().query("BO_EU_READ_COUNT").addQuery("PROCESSID=",ext.getProcessInstance().getId()).addQuery("RESULT=","待处理").list();
if(readCountBO.size()>0){
@ -216,8 +217,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
jsonObject.put("title", " " + "" + boActCoePublish.getString("PROCESS_TITLE") + "");
jsonObject.put("dept", SDK.getORGAPI()
.getDepartmentByUser(processExecutionContext.getTaskInstance().getTarget()).getNo());// SDK.getORGAPI().getDepartmentByUser(processExecutionContext.getProcessInstance().getCreateUser()).getNo()
System.out.println("processExecutionContext.getTaskInstance().getTarget()).getNo()==========="+SDK.getORGAPI()
.getDepartmentByUser(processExecutionContext.getTaskInstance().getTarget()).getNo());
String target = processExecutionContext.getTaskInstance().getTarget();
target = processExecutionContext.getTaskInstance().getTarget();
@ -258,7 +257,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
if ("true".equals(isSendOA)) {
ProcessInstance instanceById = processExecutionContext.getProcessInstance();
if (bo_act_coe_publish1 != null && instanceById != null) {
System.err.println(instanceById.getTitle() + "推送OA待阅执行开始====>");
long sendUserstartTime = System.currentTimeMillis();
ArrayList<String> sendList = new ArrayList<String>();
// 发送全集团
@ -633,10 +631,10 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
for (BO bo : bo_act_coe_publish_s) {
try {
String fileId = bo.getString("STOPFILEID");
DBSql.update(open,"UPDATE APP_ACT_COE_PAL_REPOSITORY SET EXT5 = '0' WHERE ID = '"+fileId+"'");
DBSql.update(open,"UPDATE APP_ACT_COE_PAL_REPOSITORY SET EXT5='0' WHERE ID = '"+fileId+"'");
PALRepositoryPropertyDao propertyDao = new PALRepositoryPropertyDao();
/*PALRepositoryPropertyDao propertyDao = new PALRepositoryPropertyDao();
String sql = "insert into APP_ACT_COE_PAL_SHAPE_RLAT (ID,FILEID,ATTRID,RELATIONFILEID,RELATIONSHAPEID,RELATIONSHAPETEXT) values ('%s', '%s', '%s','%s','%s','%s')";
@ -655,7 +653,7 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
PALRepositoryModel plModel = CoeProcessLevelDaoFacotory.createCoeProcessLevel().getInstance(fileId);
if (plModel != null) {
PALRepositoryCache.getCache().put(fileId, plModel);
}
}*/
@ -779,7 +777,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
public void run() {
String userIds = "";
userIds = StringUtils.join(resrt, ",");
System.out.println("userIDs>>>>>>>>>>>>>>>"+userIds);
try {
SendOARead( processExecutionContext.getProcessInstance(), userIds,"批量推送");
countDownLatch.countDown();
@ -869,9 +866,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
if (StringUtils.isNotEmpty(cardId)) {
String sql_ext4 = "select * from APP_ACT_COE_PAL_REPOSITORY where EXT4 = '" + cardId + "'";
RowMap map = DBSql.getMap(sql_ext4);
System.out.println("maps======>>>>>>>" + map);
System.out.println("fileid==》》》》" + fileid);
System.out.println("id==》》》》" + map.getString("ID"));
RowMap rowMap = DBSql
.getMap("SELECT * FROM " + bo_name + " where " + fileid + " '" + map.getString("ID") + "'");
// BO bos =
@ -882,7 +876,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
OutputTaskModel model = new OutputTask().getTaskReportById(rowMap.getString("TASKID"));
if (model != null) {
// System.out.println("pdel============" + model);
OutputAppProfile appProfile = OutputAppManager.getProfile(model.getProfileId());
if (appProfile == null) {
throw new AWSException("Not Find OutputAppProfile! profileId=" + model.getProfileId());
@ -919,9 +912,9 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
// UtilFile file = new UtilFile(dcContext.getPath());
Map params = new HashMap<String, Object>();
//知识ID,必填
//知识ID,必填
params.put("cardId", cardId);
//sid,必填
//sid,必填
params.put("sid", userContext.getSessionId());
params.put("dc", dcContext);
@ -953,17 +946,17 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
*/
// 调用App
// 参数定义列表
// 参数定义列表
Map paramss = new HashMap<String, Object>();
//知识ID,必填
//知识ID,必填
paramss.put("cardId", cardId);
//sid,必填
//sid,必填
paramss.put("sid", userContext.getSessionId());
UpfileWeb upfileWeb = new UpfileWeb(userContext);
String sql_upfile = "select * from APP_ACT_COE_PAL_UPFILE where palrepositoryid in (select ID from APP_ACT_COE_PAL_REPOSITORY where PLMETHODID != 'process.framework' AND ID= '"
+ map.getString("ID") + "'" + ") ORDER BY FILENAME ASC";
+ map.getString("ID") + "'" + ") and FILETYPE='f' ORDER BY FILENAME ASC";
List<RowMap> maps = DBSql.getMaps(sql_upfile);
for (RowMap row : maps) {
if (!row.getString("FILENAME").contains(".xml")) {
@ -1248,7 +1241,6 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
String[] resrt = userIds.split(",");
long start_time = System.currentTimeMillis();
System.out.println("待阅推送开始时间>>>>>>>>>>>>"+start_time);
BO bo_OA_read = new BO();
bo_OA_read.set("FIR_NUMS",resrt.length);
bo_OA_read.set("START_TIME",start_time);
@ -1969,13 +1961,13 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
String sql_n = "select * from APP_ACT_COE_PAL_REPOSITORY where id = '" + publishfileid + "'";
RowMap map = DBSql.getMap(sql_n);
if (StringUtils.isEmpty(map.getString("EXT4"))) {
// aslp服务地址
// aslp服务地址
String aslps_create = "aslp://com.actionsoft.apps.kms/CreateKnwl";
// 参数定义列表
// 参数定义列表
Map params_create = new HashMap<String, Object>();
//保密级别 0: 普通 1秘密 2机密,必填
//保密级别 0: 普通 1秘密 2机密,必填
params_create.put("securityLevel", 0);
//知识名称,必填
//知识名称,必填
String level = "";
if (map != null) {
@ -2094,11 +2086,11 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
if (StringUtils.isEmpty(map.getString("EXT4"))) {
// aslp服务地址
String aslps_create = "aslp://com.actionsoft.apps.kms/CreateKnwl";
// 参数定义列表
// 参数定义列表
Map params_create = new HashMap<String, Object>();
//保密级别 0: 普通 1秘密 2机密,必填
//保密级别 0: 普通 1秘密 2机密,必填
params_create.put("securityLevel", 0);
//知识名称,必填
//知识名称,必填
String level = "";
if (map != null) {
String pver = map.getString("PLVER");
@ -2115,22 +2107,22 @@ public class ProcessEndAfterEvent_new extends ExecuteListener implements Execute
}
params_create.put("knwlName", map.getString("PLNAME") + "V" + level);
//是否可以评论,必填
//是否可以评论,必填
params_create.put("isComment", true);
//是否可以评分,必填
//是否可以评分,必填
params_create.put("isRate", true);
//有效期:yyyy-MM-dd,非必填
//有效期:yyyy-MM-dd,非必填
params_create.put("validDate", "2099-12-31");
//只读控制1在线阅读和下载 0在线阅读,必填
//只读控制1在线阅读和下载 0在线阅读,必填
params_create.put("onlineLevel", 1);
//知识创建人某些特殊场景下sid和createUser代表的用户并不一样如果此参数为null则使用sid代表的用户,非必填
//知识创建人某些特殊场景下sid和createUser代表的用户并不一样如果此参数为null则使用sid代表的用户,非必填
params_create.put("createUser", "admin");
//知识内容,非必填
//知识内容,非必填
params_create.put("cardContext", "");
//sid,必填
//sid,必填
params_create.put("sid", processExecutionContext.getUserContext().getSessionId());
AppAPI appAPI_create = SDK.getAppAPI();
//创建知识
//创建知识
ResponseObject ro_create = appAPI_create.callASLP(
appAPI_create.getAppContext(processExecutionContext.getProcessInstance().getAppId()),
aslps_create, params_create);