MP编号生成/发布代码打包
This commit is contained in:
parent
c7515c042d
commit
6faa304340
Binary file not shown.
@ -124,7 +124,7 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
|
||||
updateRoleAndPerformance(boN.get("PUBLISHFILEID").toString(),model.getPublishDate());
|
||||
|
||||
//绩效模型中数据模型回填流程编号
|
||||
updateProcessNumber(boN.get("PUBLISHFILEID").toString(),param.getUserContext(),bo.get("WSID").toString(),boN.getString("PUBLISH_NUMBER"));
|
||||
updateProcessNumber(boN.get("PUBLISHFILEID").toString(),param.getUserContext(),bo.get("WSID").toString(),boN.getString("PUBLISH_NUMBER"),model.getPublishDate());
|
||||
|
||||
|
||||
}
|
||||
@ -526,8 +526,7 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
|
||||
* @param publishFileId
|
||||
* @param publishDate
|
||||
*/
|
||||
public void updateProcessNumber(String publishFileId, UserContext uc, String wsId, String processNumber) {
|
||||
|
||||
public void updateProcessNumber(String publishFileId, UserContext uc, String wsId, String processNumber,Timestamp publishDate) {
|
||||
try {
|
||||
//获取关联绩效模型数据
|
||||
List performanceList = new ArrayList();
|
||||
@ -539,7 +538,7 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
|
||||
ProcessInstance processInst = SDK.getProcessAPI().createBOProcessInstance("obj_1ffbc1e73b99427ca64469e466f97dbe", uc.getUID(), "指标绩效数据插入");
|
||||
|
||||
|
||||
ProcessInstance performNumberProcess = SDK.getProcessAPI().createBOProcessInstance("obj_96bc36eab7ac44af90458d8de6bcc58b", uc.getUID(), "绩效编号插入");
|
||||
ProcessInstance performNumberProcess = SDK.getProcessAPI().createBOProcessInstance("obj_b92c1343b4914e969ead13db62f360f2", uc.getUID(), "绩效编号插入");
|
||||
|
||||
if (performrowMap != null) {
|
||||
|
||||
@ -563,139 +562,156 @@ public class PublishExecuteListenerInterfaceImpl extends ExecuteListener impleme
|
||||
|
||||
coeProcessLevelWeb.handleShapeDefaultAttr(wsId, parentModel, elements, methodAttrsMap);
|
||||
|
||||
//获取当前MP绩效最新排序数值
|
||||
BO performanceNumberBO = SDK.getBOAPI().query("BO_EU_PERFORMANCE_NUMBER").addQuery("PERFORMANCE_TYPE=", "control.kpi").addQuery("PROCESS_NUMBER=", processNumber).detail();
|
||||
//去掉 /P05V1.0-
|
||||
String before = processNumber.substring(0, processNumber.indexOf("/"));
|
||||
String after = processNumber.substring(processNumber.indexOf("-"), processNumber.length());
|
||||
|
||||
int currentnumber = 0;
|
||||
//拿去流程数据填充绩效模型中数据属性
|
||||
for (String key : elements.keySet()) {
|
||||
JSONObject shape1 = elements.getJSONObject(key);
|
||||
if ("linker".equals(shape1.getString("name"))) {
|
||||
continue;
|
||||
}
|
||||
String shapeText = shape1.getString("text");
|
||||
JSONArray dataAttributes = shape1.getJSONArray("dataAttributes");
|
||||
if (!dataAttributes.isEmpty() && dataAttributes.size() > 0) {
|
||||
if(UtilString.isNotEmpty(processNumber)){
|
||||
//编号规则为: MP(流程编号是:08.01.05.05/P05V1.0-YLYYYY,对应的流程绩效编号MP-08.01.05.05-YLYYYY.AA(AA=1~99顺序排号)对流程编号,去除"/P05V1.0)
|
||||
|
||||
if (performanceNumberBO != null) {
|
||||
currentnumber = Integer.valueOf(performanceNumberBO.getString("CURRENTNUMBER"));
|
||||
} else {
|
||||
BO performanceBo = new BO();
|
||||
performanceBo.set("PROCESS_NUMBER", processNumber);
|
||||
performanceBo.set("CURRENTNUMBER", 1);
|
||||
performanceBo.set("PERFORMANCE_TYPE", "control.kpi");
|
||||
SDK.getBOAPI().create("BO_EU_PERFORMANCE_NUMBER", performanceBo, performNumberProcess.getId(), "");
|
||||
currentnumber = 1;
|
||||
|
||||
//去掉 /P05V1.0-
|
||||
String before = processNumber.substring(0, processNumber.indexOf("/"));
|
||||
String after = processNumber.substring(processNumber.indexOf("-"), processNumber.length());
|
||||
|
||||
int currentnumber = 0;
|
||||
//拿去流程数据填充绩效模型中数据属性
|
||||
for (String key : elements.keySet()) {
|
||||
//获取当前MP绩效最新排序数值
|
||||
BO performanceNumberBO = SDK.getBOAPI().query("BO_EU_PERFORMANCE_NUMBER").addQuery("PERFORMANCE_TYPE=", "control.kpi").addQuery("PROCESS_NUMBER=", processNumber).detail();
|
||||
|
||||
JSONObject shape1 = elements.getJSONObject(key);
|
||||
if ("linker".equals(shape1.getString("name"))) {
|
||||
continue;
|
||||
}
|
||||
currentnumber++;
|
||||
String shapeText = shape1.getString("text");
|
||||
JSONArray dataAttributes = shape1.getJSONArray("dataAttributes");
|
||||
if (!dataAttributes.isEmpty() && dataAttributes.size() > 0) {
|
||||
|
||||
for (Object attribute : dataAttributes) {
|
||||
JSONObject obj = (JSONObject) attribute;
|
||||
if (obj.containsKey("attributesJsonArray")) {
|
||||
JSONArray attributesJsonArray = obj.getJSONArray("attributesJsonArray");
|
||||
BO recordBO = new BO();
|
||||
if (attributesJsonArray.size() > 0) {
|
||||
for (int i = 0; i < attributesJsonArray.size(); i++) {
|
||||
if (attributesJsonArray.getJSONObject(i).containsKey("id")) {
|
||||
String getid = attributesJsonArray.getJSONObject(i).getString("id");
|
||||
String value = attributesJsonArray.getJSONObject(i).getString("value");
|
||||
if (performanceNumberBO != null) {
|
||||
currentnumber = Integer.valueOf(performanceNumberBO.getString("CURRENTNUMBER"));
|
||||
} else {
|
||||
BO performanceBo = new BO();
|
||||
performanceBo.set("PROCESS_NUMBER", processNumber);
|
||||
performanceBo.set("CURRENTNUMBER", 1);
|
||||
performanceBo.set("PERFORMANCE_TYPE", "control.kpi");
|
||||
SDK.getBOAPI().create("BO_EU_PERFORMANCE_NUMBER", performanceBo, performNumberProcess.getId(), "");
|
||||
currentnumber = 0;
|
||||
}
|
||||
currentnumber++;
|
||||
|
||||
//回填流程编号到绩效模型
|
||||
if (getid.equals("Number_of_the_associated_flow_file")) {
|
||||
attributesJsonArray.getJSONObject(i).put("value", processNumber);
|
||||
}
|
||||
for (Object attribute : dataAttributes) {
|
||||
JSONObject obj = (JSONObject) attribute;
|
||||
if (obj.containsKey("attributesJsonArray")) {
|
||||
JSONArray attributesJsonArray = obj.getJSONArray("attributesJsonArray");
|
||||
BO recordBO = new BO();
|
||||
if (attributesJsonArray.size() > 0) {
|
||||
for (int i = 0; i < attributesJsonArray.size(); i++) {
|
||||
if (attributesJsonArray.getJSONObject(i).containsKey("id")) {
|
||||
String getid = attributesJsonArray.getJSONObject(i).getString("id");
|
||||
String value = attributesJsonArray.getJSONObject(i).getString("value");
|
||||
|
||||
|
||||
//插入绩效指标库操作
|
||||
if (getid.equals("Process_Architecture_L1")) {//L1
|
||||
recordBO.set("PROCESS_ARCHITECTURE_L1", value);
|
||||
}
|
||||
if (getid.equals("Process_Architecture_L2")) {//L2
|
||||
recordBO.set("PROCESS_ARCHITECTURE_L2", value);
|
||||
}
|
||||
if (getid.equals("Process_Architecture_L3")) {//L3
|
||||
recordBO.set("PROCESS_ARCHITECTURE_L3", value);
|
||||
}
|
||||
if (getid.equals("Number_of_the_associated_flow_file")) {//关联流程文件编号
|
||||
recordBO.set("NUMBER_OF_THE_ASSO_FLOW_FILE", value);
|
||||
}
|
||||
if (getid.equals("Associated_process_name")) {//关联流程名称
|
||||
recordBO.set("ASSOCIATED_PROCESS_NAME", value);
|
||||
}
|
||||
if (getid.equals("Associated_process_name")) {//流程绩效指标名称
|
||||
recordBO.set("PERFORMANCE_INDICATOR_NAME", value);
|
||||
}
|
||||
|
||||
if (getid.equals("Index_properties")) {//指标性质
|
||||
recordBO.set("INDEX_PROPERTIES", value);
|
||||
}
|
||||
if (getid.equals("ndicator_User_defined_label")) {//指标自定义标签
|
||||
recordBO.set("NDICATOR_USER_DEFINED_LABEL", value);
|
||||
}
|
||||
if (getid.equals("Index_definition")) {//指标定义
|
||||
recordBO.set("INDEX_DEFINITION", value);
|
||||
}
|
||||
if (getid.equals("unit_measurement")) {//计量单位
|
||||
recordBO.set("UNIT_MEASUREMENT", value);
|
||||
}
|
||||
if (getid.equals("statistical_period")) {//统计周期
|
||||
recordBO.set("STATISTICAL_PERIOD", value);
|
||||
}
|
||||
|
||||
if (getid.equals("computational_formula")) {//计算公式
|
||||
recordBO.set("COMPUTATIONAL_FORMULA", value);
|
||||
}
|
||||
if (getid.equals("Data_fetch_logic")) {//数据取数逻辑
|
||||
recordBO.set("DATA_FETCH_LOGIC", value);
|
||||
}
|
||||
if (getid.equals("Take_the_number_aperture")) {//取数口径
|
||||
recordBO.set("TAKE_THE_NUMBER_APERTURE", value);
|
||||
}
|
||||
if (getid.equals("remark")) {//备注
|
||||
recordBO.set("REMARK", value);
|
||||
}
|
||||
if (getid.equals("oa_process")) {//OA流程
|
||||
recordBO.set("OA_PROCESS", value);
|
||||
}
|
||||
|
||||
if (getid.equals("element")) {//元素
|
||||
JSONObject getvalue = attributesJsonArray.getJSONObject(i).getJSONObject("value");
|
||||
if (getvalue != null) {
|
||||
JSONArray elejsonArray = attributesJsonArray.getJSONObject(i).getJSONObject("value").getJSONArray("table");
|
||||
for (int k = 1; k < elejsonArray.size(); k++) {
|
||||
String name = elejsonArray.getJSONObject(k).get("name").toString();
|
||||
String desc = elejsonArray.getJSONObject(k).get("desc").toString();
|
||||
BO eleBO = new BO();
|
||||
eleBO.set("ELEMENT", name);
|
||||
eleBO.set("DATASOURCES", desc);
|
||||
SDK.getBOAPI().create("BO_EU_ELEMENT", eleBO, processInst.getId(), "");
|
||||
}
|
||||
//回填流程编号到绩效模型
|
||||
if (getid.equals("Number_of_the_associated_flow_file")) {
|
||||
attributesJsonArray.getJSONObject(i).put("value", processNumber);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
//回填绩效编号操作
|
||||
if (getid.equals("Process_performance_indicator_Number")) {
|
||||
attributesJsonArray.getJSONObject(i).put("value", "MA" + before + after + currentnumber);
|
||||
//插入绩效指标库操作
|
||||
if (getid.equals("Process_Architecture_L1")) {//L1
|
||||
recordBO.set("PROCESS_ARCHITECTURE_L1", value);
|
||||
}
|
||||
if (getid.equals("Process_Architecture_L2")) {//L2
|
||||
recordBO.set("PROCESS_ARCHITECTURE_L2", value);
|
||||
}
|
||||
if (getid.equals("Process_Architecture_L3")) {//L3
|
||||
recordBO.set("PROCESS_ARCHITECTURE_L3", value);
|
||||
}
|
||||
if (getid.equals("Number_of_the_associated_flow_file")) {//关联流程文件编号
|
||||
recordBO.set("NUMBER_OF_THE_ASSO_FLOW_FILE", value);
|
||||
}
|
||||
if (getid.equals("Associated_process_name")) {//关联流程名称
|
||||
recordBO.set("ASSOCIATED_PROCESS_NAME", value);
|
||||
}
|
||||
if (getid.equals("Associated_process_name")) {//流程绩效指标名称
|
||||
recordBO.set("PERFORMANCE_INDICATOR_NAME", value);
|
||||
}
|
||||
|
||||
if (getid.equals("Index_properties")) {//指标性质
|
||||
recordBO.set("INDEX_PROPERTIES", value);
|
||||
}
|
||||
if (getid.equals("ndicator_User_defined_label")) {//指标自定义标签
|
||||
recordBO.set("NDICATOR_USER_DEFINED_LABEL", value);
|
||||
}
|
||||
if (getid.equals("Index_definition")) {//指标定义
|
||||
recordBO.set("INDEX_DEFINITION", value);
|
||||
}
|
||||
if (getid.equals("unit_measurement")) {//计量单位
|
||||
recordBO.set("UNIT_MEASUREMENT", value);
|
||||
}
|
||||
if (getid.equals("statistical_period")) {//统计周期
|
||||
recordBO.set("STATISTICAL_PERIOD", value);
|
||||
}
|
||||
|
||||
if (getid.equals("computational_formula")) {//计算公式
|
||||
recordBO.set("COMPUTATIONAL_FORMULA", value);
|
||||
}
|
||||
if (getid.equals("Data_fetch_logic")) {//数据取数逻辑
|
||||
recordBO.set("DATA_FETCH_LOGIC", value);
|
||||
}
|
||||
if (getid.equals("Take_the_number_aperture")) {//取数口径
|
||||
recordBO.set("TAKE_THE_NUMBER_APERTURE", value);
|
||||
}
|
||||
if (getid.equals("remark")) {//备注
|
||||
recordBO.set("REMARK", value);
|
||||
}
|
||||
if (getid.equals("oa_process")) {//OA流程
|
||||
recordBO.set("OA_PROCESS", value);
|
||||
}
|
||||
|
||||
if (getid.equals("element")) {//元素
|
||||
JSONObject getvalue = attributesJsonArray.getJSONObject(i).getJSONObject("value");
|
||||
if (getvalue != null) {
|
||||
JSONArray elejsonArray = attributesJsonArray.getJSONObject(i).getJSONObject("value").getJSONArray("table");
|
||||
for (int k = 1; k < elejsonArray.size(); k++) {
|
||||
String name = elejsonArray.getJSONObject(k).get("name").toString();
|
||||
String desc = elejsonArray.getJSONObject(k).get("desc").toString();
|
||||
BO eleBO = new BO();
|
||||
eleBO.set("ELEMENT", name);
|
||||
eleBO.set("DATASOURCES", desc);
|
||||
SDK.getBOAPI().create("BO_EU_ELEMENT", eleBO, processInst.getId(), "");
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
//发布时间
|
||||
recordBO.set("PUBDATE", publishDate);
|
||||
//回填绩效编号操作
|
||||
if (getid.equals("Process_performance_indicator_Number")) {
|
||||
attributesJsonArray.getJSONObject(i).put("value", "MA." + before + after +"."+ currentnumber);
|
||||
}
|
||||
}
|
||||
}
|
||||
SDK.getBOAPI().create("BO_EU_PER_IND_LIB", recordBO, processInst.getId(), "");
|
||||
}
|
||||
SDK.getBOAPI().create("BO_EU_PER_IND_LIB", recordBO, processInst.getId(), "");
|
||||
}
|
||||
}
|
||||
}
|
||||
if(performanceNumberBO!=null){
|
||||
performanceNumberBO.set("CURRENTNUMBER", currentnumber);
|
||||
}else{
|
||||
performanceNumberBO=SDK.getBOAPI().query("BO_EU_PERFORMANCE_NUMBER").addQuery("PERFORMANCE_TYPE=", "control.kpi").addQuery("PROCESS_NUMBER=", processNumber).detail();
|
||||
}
|
||||
SDK.getBOAPI().update("BO_EU_PERFORMANCE_NUMBER", performanceNumberBO);
|
||||
}
|
||||
|
||||
}
|
||||
performanceNumberBO.set("CURRENTNUMBER", currentnumber);
|
||||
SDK.getBOAPI().update("BO_EU_PERFORMANCE_NUMBER", performanceNumberBO);
|
||||
|
||||
defineModel.setDefinition(definition.toString());
|
||||
// 保存文件
|
||||
CoeDesignerAPIManager.getInstance().storeDefinition(defineModel);// dao操作
|
||||
|
||||
|
||||
defineModel.setDefinition(definition.toString());
|
||||
// 保存文件
|
||||
CoeDesignerAPIManager.getInstance().storeDefinition(defineModel);// dao操作
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
} catch (AWSDataAccessException e) {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user