流程清单代码
This commit is contained in:
parent
dcaf1d304e
commit
f9fd2d6b2b
8
com.actionsoft.apps.coe.pal.processlist/.classpath
Normal file
8
com.actionsoft.apps.coe.pal.processlist/.classpath
Normal file
@ -0,0 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<classpath>
|
||||
<classpathentry kind="src" path="src"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/AWS6.0"/>
|
||||
<classpathentry kind="con" path="org.eclipse.jdt.USER_LIBRARY/aws_lib"/>
|
||||
<classpathentry kind="output" path="bin"/>
|
||||
</classpath>
|
||||
17
com.actionsoft.apps.coe.pal.processlist/.project
Normal file
17
com.actionsoft.apps.coe.pal.processlist/.project
Normal file
@ -0,0 +1,17 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<projectDescription>
|
||||
<name>com.actionsoft.apps.coe.pal.processlist</name>
|
||||
<comment></comment>
|
||||
<projects>
|
||||
</projects>
|
||||
<buildSpec>
|
||||
<buildCommand>
|
||||
<name>org.eclipse.jdt.core.javabuilder</name>
|
||||
<arguments>
|
||||
</arguments>
|
||||
</buildCommand>
|
||||
</buildSpec>
|
||||
<natures>
|
||||
<nature>org.eclipse.jdt.core.javanature</nature>
|
||||
</natures>
|
||||
</projectDescription>
|
||||
20
com.actionsoft.apps.coe.pal.processlist/i18n/resource.xml
Normal file
20
com.actionsoft.apps.coe.pal.processlist/i18n/resource.xml
Normal file
@ -0,0 +1,20 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<!--
|
||||
#############################################################
|
||||
##
|
||||
## AWS CoE国际化配置
|
||||
##
|
||||
## Copyright(C)2001-2009 Actionsoft Co.,Ltd
|
||||
##
|
||||
#############################################################
|
||||
-->
|
||||
<locale-config>
|
||||
<lang>
|
||||
<item key="processlist">
|
||||
<cn><![CDATA[流程清单]]></cn>
|
||||
<en><![CDATA[processlist]]></en>
|
||||
<big5><![CDATA[流程清單]]></big5>
|
||||
</item>
|
||||
</lang>
|
||||
</locale-config>
|
||||
BIN
com.actionsoft.apps.coe.pal.processlist/icon16.png
Normal file
BIN
com.actionsoft.apps.coe.pal.processlist/icon16.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 3.3 KiB |
BIN
com.actionsoft.apps.coe.pal.processlist/icon64.png
Normal file
BIN
com.actionsoft.apps.coe.pal.processlist/icon64.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 6.2 KiB |
BIN
com.actionsoft.apps.coe.pal.processlist/icon96.png
Normal file
BIN
com.actionsoft.apps.coe.pal.processlist/icon96.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 8.8 KiB |
Binary file not shown.
39
com.actionsoft.apps.coe.pal.processlist/manifest.xml
Normal file
39
com.actionsoft.apps.coe.pal.processlist/manifest.xml
Normal file
@ -0,0 +1,39 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
|
||||
<app xmlns="http://www.actionsoft.com.cn/app" xmlns:processlist="http://www.w3.org/2001/XMLSchema">
|
||||
<name>流程清单</name>
|
||||
<version>1.0</version>
|
||||
<buildNo>47</buildNo>
|
||||
<developer id="776cca9a287c8b4d63b9cad216aa3859" tablePrefix="ACT" url="http://www.actionsoft.com.cn">北京炎黄盈动科技发展有限责任公司</developer>
|
||||
<productId>4f3b2bbb813df649602c5a3c14e9b150</productId>
|
||||
<categoryVisible>false</categoryVisible>
|
||||
<releaseDate>2018-12-10</releaseDate>
|
||||
<description><![CDATA[查询和检索流程资产库,提供对流程清单的结构化描述,管理和下载流程清单 ]]></description>
|
||||
<details><![CDATA[ 该应用还提供了对流程项目过程管理的支持,包括里程碑跟踪和责任体系管理。
|
||||
|
||||
<b>亮点</b>
|
||||
- 操作简单,突出流程相关的重点信息
|
||||
- 支持对流程文件的颜色分类
|
||||
- 支持模糊查询和条件查询,查询的范围包括:1.流程名称 2.责任部门 3.责任人 4.里程碑(规划/梳理/设计/实施/测试/运行/停用) 5.执行方式(未执行/制度执行/部分系统执行/系统执行) 6.流程层次
|
||||
- 支持将结果导出成符合APQC习惯的Excel文件
|
||||
]]></details>
|
||||
<installDate/>
|
||||
<upgradeDate>2016-06-02 16:18:25</upgradeDate>
|
||||
<installListener/>
|
||||
<pluginListener>com.actionsoft.apps.coe.pal.processlist.plugin.Plugins</pluginListener>
|
||||
<startListener/>
|
||||
<stopListener/>
|
||||
<upgradeListener/>
|
||||
<uninstallListener/>
|
||||
<reloadable>true</reloadable>
|
||||
<upgradeRollback/>
|
||||
<depend versions="6.5" env="6.3.3">com.actionsoft.apps.coe.pal</depend>
|
||||
<unInstallDate>2015-05-12 14:03:37</unInstallDate>
|
||||
<properties>
|
||||
<property action="disabled" group="默认" name="description" title="应用介绍" type="input" isSystem="false" desc="一句话介绍此应用,建议10字以内" ref="">结构化描述流程模型</property>
|
||||
</properties>
|
||||
<modelAdministrator/>
|
||||
<icon code="&#xe87f;" color="#009b52"/>
|
||||
<requires/>
|
||||
<processlist:config>{"f391f672-100b-4d4b-89d1-ba1b4b3d0132":{"wsId":"f391f672-100b-4d4b-89d1-ba1b4b3d0132","createUser":"admin","customColumns":[{"columnType":"default","showOverflow":false,"prop":"no_serialNumber","dataType":"default","name":"序号","width":"78","minWidth":"78","id":"no_serialNumber","label":"序号"},{"columnType":"default","showOverflow":false,"prop":"no_default","dataType":"default","name":"编号","width":"100","minWidth":"100","id":"no_default","label":"编号"},{"columnType":"default","showOverflow":false,"prop":"name","dataType":"name","name":"流程名称","width":"250","minWidth":"250","id":"name","label":"流程名称"},{"columnType":"default","showOverflow":false,"prop":"type","dataType":"selectType","name":"类型","width":"150","minWidth":"150","id":"type","label":"类型","filters":[{"text":"文件夹","value":"default"},{"text":"过程链图","value":"process.epc"},{"text":"流程图","value":"process.flowchart"},{"text":"BPMN图","value":"process.bpmn2"},{"text":"价值链图","value":"process.evc"}]},{"columnType":"default","showOverflow":false,"prop":"status","dataType":"selectStatus","name":"状态","width":"150","minWidth":"150","id":"status","label":"状态","filters":[{"text":"已发布","value":"publish"},{"text":"已停用","value":"stop"},{"text":"设计中","value":"designer"}]},{"columnType":"extendAttr","showOverflow":false,"prop":"bpm_department","dataType":"default","name":"责任部门","width":"150","minWidth":"150","id":"bpm_department","label":"责任部门"},{"columnType":"extendAttr","showOverflow":false,"prop":"bpm_person","dataType":"default","name":"责任人","width":"150","minWidth":"150","id":"bpm_person","label":"责任人"}],"createDate":"2021-07-05 17:03:58"}}</processlist:config>
|
||||
</app>
|
||||
@ -0,0 +1,86 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.processlist.web.PALRepositoryListWeb;
|
||||
import com.actionsoft.bpms.server.UserContext;
|
||||
import com.actionsoft.bpms.server.bind.annotation.Controller;
|
||||
import com.actionsoft.bpms.server.bind.annotation.Mapping;
|
||||
|
||||
/**
|
||||
* 流程清单-控制器
|
||||
*
|
||||
* @author 作者: renmm
|
||||
* @version 创建时间:2014-2-21
|
||||
*
|
||||
*/
|
||||
@Controller
|
||||
public class CoEProcessListController {
|
||||
|
||||
// 流程清单-入口
|
||||
@Mapping("com.actionsoft.apps.coe.pal.processlist_home")
|
||||
public String processlistHome(UserContext me, String wsid) {
|
||||
PALRepositoryListWeb proc = new PALRepositoryListWeb(me);
|
||||
return proc.mainPage(me, wsid);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询流程清单页面表头等信息
|
||||
* @param me
|
||||
* @param wsId 资产库id
|
||||
* @param searchInput 流程名称条件
|
||||
* @param levelValue 流程层级条件
|
||||
* @param tableFilter 表格表头筛选条件
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.processlist_header_query")
|
||||
public String getProcessListHeader (UserContext me, String wsId, String searchInput, String levelValue, String tableFilter) {
|
||||
PALRepositoryListWeb web = new PALRepositoryListWeb(me);
|
||||
return web.getProcessListHeader(wsId, searchInput, levelValue, tableFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 查询流程清单表格数据
|
||||
* @param me
|
||||
* @param wsId 资产库id
|
||||
* @param searchInput 流程名称条件
|
||||
* @param levelValue 流程层级条件
|
||||
* @param currentPage 当前页数
|
||||
* @param pageStep 每页条数
|
||||
* @param tableHead 表格列项
|
||||
* @param tableFilter 表格表头筛选条件
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.processlist_data_query")
|
||||
public String getProcessListTableData(UserContext me, String wsId, String searchInput, String levelValue, int currentPage, int pageStep, String tableHead, String tableFilter) {
|
||||
PALRepositoryListWeb web = new PALRepositoryListWeb(me);
|
||||
return web.getProcessListTableData(wsId, searchInput, levelValue, currentPage, pageStep, tableHead, tableFilter);
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存流程清单表格列设置
|
||||
* @param me
|
||||
* @param wsId
|
||||
* @param customTableCheckedData
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.processlist_config_save")
|
||||
public String saveProcessListConfig(UserContext me, String wsId, String customTableCheckedData) {
|
||||
PALRepositoryListWeb web = new PALRepositoryListWeb(me);
|
||||
return web.saveProcessListConfig(wsId, customTableCheckedData);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导出流程清单Excel
|
||||
* @param me
|
||||
* @param wsId
|
||||
* @param searchInput
|
||||
* @param levelValue
|
||||
* @param tableFilter 表格表头筛选条件
|
||||
* @return
|
||||
*/
|
||||
@Mapping("com.actionsoft.apps.coe.pal.processlist_data_export")
|
||||
public String processListExportExcel(UserContext me, String wsId, String searchInput, String levelValue, String tableFilter) {
|
||||
PALRepositoryListWeb web = new PALRepositoryListWeb(me);
|
||||
return web.processListExportExcel(wsId, searchInput, levelValue, tableFilter);
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,149 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist.cache;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.processlist.constant.ProcessListConstant;
|
||||
import com.actionsoft.apps.coe.pal.processlist.model.ProcessListConfigModel;
|
||||
import com.actionsoft.apps.resource.plugin.profile.CachePluginProfile;
|
||||
import com.actionsoft.bpms.commons.cache.Cache;
|
||||
import com.actionsoft.bpms.commons.cache.CacheManager;
|
||||
import com.actionsoft.bpms.server.fs.dc.DCUtil;
|
||||
import com.actionsoft.bpms.util.ConsolePrinter;
|
||||
import com.actionsoft.bpms.util.UtilFile;
|
||||
import com.actionsoft.bpms.util.UtilString;
|
||||
import com.actionsoft.sdk.local.SDK;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import org.dom4j.Document;
|
||||
import org.dom4j.Element;
|
||||
import org.dom4j.Namespace;
|
||||
import org.dom4j.io.SAXReader;
|
||||
import org.dom4j.io.XMLWriter;
|
||||
|
||||
import java.io.*;
|
||||
import java.sql.Timestamp;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* @Description 流程清单缓存model
|
||||
* @Created by sunlh
|
||||
* @Date 2020-05-17
|
||||
*/
|
||||
public class ProcessListConfigCache extends Cache<String, ProcessListConfigModel> {
|
||||
|
||||
/**
|
||||
* 构造方法,初始化一个新的缓存存储和缓存索引。如果该缓存对象扩展了缓存索引或自定义的集群同步动作,请在该构造方法中注册
|
||||
*
|
||||
* @param configuration 缓存插件注册配置对象
|
||||
*/
|
||||
public ProcessListConfigCache(CachePluginProfile configuration) {
|
||||
super(configuration);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected void load() {
|
||||
// 读取属性配置信息
|
||||
String json = getConfigJson();
|
||||
if (!UtilString.isEmpty(json)) {
|
||||
JSONObject configObj = JSONObject.parseObject(json);
|
||||
for (Map.Entry<String, Object> entry : configObj.entrySet()) {
|
||||
JSONObject obj = (JSONObject) entry.getValue();
|
||||
ProcessListConfigModel model = new ProcessListConfigModel();
|
||||
model.setWsId(obj.getString(ProcessListConfigModel.WS_ID));
|
||||
model.setCustomColumns(obj.getJSONArray(ProcessListConfigModel.CUSTOM_COLUMNS));
|
||||
model.setCreateUser(obj.getString(ProcessListConfigModel.CREATE_USER));
|
||||
model.setCreateDate(obj.getTimestamp(ProcessListConfigModel.CREATE_DATE));
|
||||
getCache().put(model.getWsId(), model);
|
||||
}
|
||||
}
|
||||
ConsolePrinter.info("[" + SDK.getAppAPI().getAppContext(ProcessListConstant.PROCESSLIST).getNameI18N() + "]Cache加载流程清单配置对象 [" + getCache().size() + "个]");
|
||||
}
|
||||
|
||||
/**
|
||||
* 更新配置信息(文件+缓存)
|
||||
* @param config 配置model
|
||||
*/
|
||||
public void update(ProcessListConfigModel config) {
|
||||
String json = getConfigJson();// 获取现有配置
|
||||
JSONObject configObj = new JSONObject();
|
||||
configObj.put(ProcessListConfigModel.WS_ID, config.getWsId());
|
||||
configObj.put(ProcessListConfigModel.CUSTOM_COLUMNS, config.getCustomColumns());
|
||||
configObj.put(ProcessListConfigModel.CREATE_USER, config.getCreateUser());
|
||||
configObj.put(ProcessListConfigModel.CREATE_DATE, new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
|
||||
JSONObject obj = new JSONObject();
|
||||
if (!UtilString.isEmpty(json)) {
|
||||
obj = JSONObject.parseObject(json);
|
||||
}
|
||||
obj.put(config.getWsId(), configObj);
|
||||
// 保存
|
||||
updateMmanifest(obj);
|
||||
// 更新缓存
|
||||
getCache().remove(config.getWsId());
|
||||
getCache().put(config.getWsId(), config);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取配置信息
|
||||
* @return
|
||||
*/
|
||||
private String getConfigJson() {
|
||||
// 读取属性配置信息
|
||||
String manifestXml = "../apps/install/"+ ProcessListConstant.PROCESSLIST +"/manifest.xml";
|
||||
File manifestFile = new File(manifestXml);
|
||||
if (manifestFile.exists()) {
|
||||
try {
|
||||
Document doc = new SAXReader().read(manifestFile);
|
||||
Element root = doc.getRootElement();
|
||||
// 获取子节点
|
||||
Element configEle = root.element("config");
|
||||
if (configEle != null) {
|
||||
String config = configEle.getText();
|
||||
return config;
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
SDK.getLogAPI().consoleErr("读取应用配置["+ manifestXml +"]失败");
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
/**
|
||||
* 保存配置信息
|
||||
* @param obj
|
||||
*/
|
||||
private void updateMmanifest(JSONObject obj) {
|
||||
String manifestXml = "../apps/install/"+ ProcessListConstant.PROCESSLIST +"/manifest.xml";
|
||||
File manifestFile = new File(manifestXml);
|
||||
if (manifestFile.exists()) {
|
||||
try {
|
||||
Document doc = new SAXReader().read(manifestFile);
|
||||
Element root = doc.getRootElement();
|
||||
root.add(new Namespace("processlist", "http://www.w3.org/2001/XMLSchema"));
|
||||
// 获取子节点
|
||||
Element configEle = root.element("config");
|
||||
if (configEle == null) {
|
||||
configEle = root.addElement("processlist:config");
|
||||
}
|
||||
configEle.setText(obj.toString());
|
||||
try {
|
||||
XMLWriter writer = new XMLWriter(new FileOutputStream(manifestFile));
|
||||
writer.write(doc);
|
||||
writer.close();
|
||||
} catch (UnsupportedEncodingException e) {
|
||||
e.printStackTrace();
|
||||
} catch (FileNotFoundException e) {
|
||||
e.printStackTrace();
|
||||
} catch (IOException e) {
|
||||
e.printStackTrace();
|
||||
}
|
||||
} catch (Exception e) {
|
||||
e.printStackTrace();
|
||||
SDK.getLogAPI().consoleErr("读取应用配置["+ manifestXml +"]失败");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static ProcessListConfigCache getCache() {
|
||||
return (ProcessListConfigCache) CacheManager.getCache(ProcessListConfigCache.class);
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,34 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist.constant;
|
||||
|
||||
import com.actionsoft.apps.lifecycle.api.AppsAPIManager;
|
||||
|
||||
public interface ProcessListConstant {
|
||||
/**
|
||||
* 流程清单-APP-ID
|
||||
*/
|
||||
public static final String PROCESSLIST ="com.actionsoft.apps.coe.pal.processlist";
|
||||
|
||||
/**
|
||||
* 流程清单配置dc文件夹
|
||||
*/
|
||||
public static final String PROCESSLIST_CONFIG = "config";
|
||||
|
||||
/**
|
||||
* 流程清单-页面-PORTAL
|
||||
*/
|
||||
public static final String PROCESSLIST_PAGE_PORTAL ="com.actionsoft.apps.coe.pal.processlist.portal.htm";
|
||||
|
||||
/**
|
||||
* 流程清单-页面-标记
|
||||
*/
|
||||
public static final String PROCESSLIST_PAGE_SIGN ="com.actionsoft.apps.coe.pal.processlist.sign.htm";
|
||||
|
||||
/**
|
||||
* 流程清单-页面-修改
|
||||
*/
|
||||
public static final String PROCESSLIST_PAGE_SAVE ="com.actionsoft.apps.coe.pal.processlist.save.htm";
|
||||
/**
|
||||
* 标题
|
||||
*/
|
||||
public static final String PROCESSLIST_PAGE_TITLE =AppsAPIManager.getInstance().getAppContext(PROCESSLIST).getName();
|
||||
}
|
||||
@ -0,0 +1,57 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist.model;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
|
||||
import java.io.Serializable;
|
||||
import java.sql.Timestamp;
|
||||
|
||||
/**
|
||||
* @Description 流程清单配置model
|
||||
* @Created by sunlh
|
||||
* @Date 2020-05-17
|
||||
*/
|
||||
public class ProcessListConfigModel implements Serializable {
|
||||
|
||||
public static final String WS_ID = "wsId";
|
||||
public static final String CUSTOM_COLUMNS = "customColumns";
|
||||
public static final String CREATE_USER = "createUser";
|
||||
public static final String CREATE_DATE = "createDate";
|
||||
|
||||
private String wsId;
|
||||
private JSONArray customColumns;
|
||||
private String createUser;
|
||||
private Timestamp createDate;
|
||||
|
||||
public String getWsId() {
|
||||
return wsId;
|
||||
}
|
||||
|
||||
public void setWsId(String wsId) {
|
||||
this.wsId = wsId;
|
||||
}
|
||||
|
||||
public JSONArray getCustomColumns() {
|
||||
return customColumns;
|
||||
}
|
||||
|
||||
public void setCustomColumns(JSONArray customColumns) {
|
||||
this.customColumns = customColumns;
|
||||
}
|
||||
|
||||
public String getCreateUser() {
|
||||
return createUser;
|
||||
}
|
||||
|
||||
public void setCreateUser(String createUser) {
|
||||
this.createUser = createUser;
|
||||
}
|
||||
|
||||
public Timestamp getCreateDate() {
|
||||
return createDate;
|
||||
}
|
||||
|
||||
public void setCreateDate(Timestamp createDate) {
|
||||
this.createDate = createDate;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,36 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist.plugin;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import com.actionsoft.apps.coe.pal.processlist.cache.ProcessListConfigCache;
|
||||
import com.actionsoft.apps.coe.pal.processlist.web.PALRepositoryListWeb;
|
||||
import com.actionsoft.apps.listener.PluginListener;
|
||||
import com.actionsoft.apps.resource.AppContext;
|
||||
import com.actionsoft.apps.resource.plugin.profile.AWSPluginProfile;
|
||||
import com.actionsoft.apps.resource.plugin.profile.AppExtensionProfile;
|
||||
import com.actionsoft.apps.resource.plugin.profile.CachePluginProfile;
|
||||
|
||||
public class Plugins implements PluginListener {
|
||||
|
||||
public Plugins() {
|
||||
}
|
||||
|
||||
public List<AWSPluginProfile> register(AppContext context) {
|
||||
List<AWSPluginProfile> list = new ArrayList<AWSPluginProfile>();
|
||||
// cache
|
||||
list.add(new CachePluginProfile(ProcessListConfigCache.class));
|
||||
// PAL应用扩展点
|
||||
Map<String, Object> params0 = new HashMap<String, Object>();
|
||||
params0.put("title", "流程清单");
|
||||
params0.put("icon", "");
|
||||
params0.put("desc", "流程清单");
|
||||
params0.put("mainClass", PALRepositoryListWeb.class.getName());
|
||||
params0.put("deletedClass", "");
|
||||
list.add(new AppExtensionProfile("PAL流程资产库->流程清单", "aslp://com.actionsoft.apps.coe.pal/registerExtendsApp", params0));
|
||||
return list;
|
||||
}
|
||||
|
||||
}
|
||||
@ -0,0 +1,63 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist.util;
|
||||
|
||||
public class Number2ChineseNumUtil {
|
||||
private static String HanDigiStr[] = new String[] { "零","一", "二", "三", "四", "五", "六", "七", "八", "九" };
|
||||
|
||||
private static String HanDiviStr[] = new String[] { "", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万", "十", "百", "千", "亿", "十", "百", "千", "万", "十", "百", "千" };
|
||||
|
||||
/**
|
||||
* @param NumStr
|
||||
* @return
|
||||
*
|
||||
*/
|
||||
public static String convertChineseStr(String NumStr) {
|
||||
// 输入字符串必须正整数,只允许前导空格(必须右对齐),不宜有前导零
|
||||
String ChineseStr = "";
|
||||
boolean lastZero = false;
|
||||
boolean hasValue = false; // 亿、万进位前有数值标记
|
||||
boolean blZero=false;//亿、万位为零的标志,
|
||||
int len, n;
|
||||
len = NumStr.length();
|
||||
if (len > 15)
|
||||
return "数值过大!";
|
||||
for (int i = len - 1; i >= 0; i--) {
|
||||
if (NumStr.charAt(len - i - 1) == ' ')
|
||||
continue;
|
||||
n = NumStr.charAt(len - i - 1) - '0';
|
||||
if (n < 0 || n > 9)
|
||||
return "输入含非数字字符!";
|
||||
|
||||
if (n != 0) {
|
||||
if (lastZero)
|
||||
ChineseStr += HanDigiStr[0]; // 若干零后若跟非零值,只显示一个零
|
||||
// 除了亿万前的零不带到后面
|
||||
// if( !( n==1 && (i%4)==1 && (lastzero || i==len-1) ) ) //
|
||||
// 如十进位前有零也不发壹音用此行
|
||||
if((i%4==3)&& blZero) //亿位为0,万位非0需要读零
|
||||
ChineseStr +=HanDigiStr[0];
|
||||
ChineseStr += HanDigiStr[n];
|
||||
ChineseStr += HanDiviStr[i]; // 非零值后加进位,个位为空
|
||||
hasValue = true; // 置万进位前有值标记
|
||||
|
||||
} else {
|
||||
|
||||
if ((i % 8) == 0 || ((i % 8) == 4 && hasValue)) // 亿万之间必须有非零值方显示万
|
||||
ChineseStr += HanDiviStr[i]; // “亿”或“万”
|
||||
}
|
||||
if (i % 8 == 0)
|
||||
hasValue = false; // 万进位前有值标记逢亿复位
|
||||
lastZero = (n == 0) && (i % 4 != 0);
|
||||
blZero=(n == 0) && (i % 4 == 0);
|
||||
}
|
||||
if (ChineseStr.length() == 0)
|
||||
return HanDigiStr[0]; // 输入空字符或"0",返回"零"
|
||||
|
||||
if(ChineseStr.length()==3&&ChineseStr.substring(1,2).equals("十")&&ChineseStr.substring(0,1).equals("一")){
|
||||
ChineseStr=ChineseStr.substring(1,3);
|
||||
}
|
||||
if(ChineseStr.length()==2&&ChineseStr.substring(1,2).equals("十")){
|
||||
ChineseStr=ChineseStr.substring(1,2);
|
||||
}
|
||||
return ChineseStr;
|
||||
}
|
||||
}
|
||||
@ -0,0 +1,5 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist.util;
|
||||
|
||||
public class ProcssListUtil {
|
||||
|
||||
}
|
||||
@ -0,0 +1,58 @@
|
||||
package com.actionsoft.apps.coe.pal.processlist.util;
|
||||
|
||||
public class UtilString {
|
||||
public static final String [] placSrc = {"'","_","%"};
|
||||
public static final String [] placTar = {"''","\\_","\\%"};
|
||||
public static final String [] placTarMySql = {"''","\\\\_","\\\\%"};
|
||||
|
||||
|
||||
|
||||
/**替换特殊字符 百分号、单引号、下划线
|
||||
* @param str
|
||||
* @param isMysql : true:mysql,false:其他数据库
|
||||
* @return
|
||||
*/
|
||||
public static String replaceSqlStr(String str,boolean isMysql){
|
||||
|
||||
String sent = "";
|
||||
sent = str;
|
||||
|
||||
if(isMysql){
|
||||
sent = replaceSqlStr(str, placTarMySql);
|
||||
}else{
|
||||
sent = replaceSqlStr(str, placTar);
|
||||
}
|
||||
return sent;
|
||||
}
|
||||
|
||||
/**替换特殊字符 百分号、单引号、下划线
|
||||
* @param str
|
||||
* @return
|
||||
*/
|
||||
private static String replaceSqlStr(String str, String [] array){
|
||||
|
||||
String sent = "";
|
||||
sent = str;
|
||||
for(int i = 0, size = placSrc.length; i<size; i++){
|
||||
sent = sent.replace(placSrc[i], array[i]);
|
||||
}
|
||||
return sent;
|
||||
}
|
||||
|
||||
/**字符串是否包含特殊字符
|
||||
* @param state
|
||||
* @return
|
||||
*/
|
||||
public static boolean containSpecialChar(String state){
|
||||
boolean right = false;
|
||||
for(int i = 0, size = placSrc.length; i<size; i++){
|
||||
if(state.indexOf(placSrc[i]) != -1){
|
||||
right= true;
|
||||
break;
|
||||
}
|
||||
}
|
||||
return right;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@ -0,0 +1,6 @@
|
||||
<!DOCTYPE html><html lang=en><head><meta charset=utf-8><meta http-equiv=X-UA-Compatible content="IE=edge"><meta name=viewport content="width=device-width,initial-scale=1"><link rel=icon href=../apps/com.actionsoft.apps.coe.pal.processlist/main/favicon.ico><title>com.actionsoft.apps.coe.pal.processlist</title><script>const settingParam = <#settingParam>;
|
||||
const axiosBaseUrl = "./";
|
||||
const production = true;</script><script>var wsId = "<#wsId>";
|
||||
var levelSelect = <#levelSelect>;
|
||||
var defaultSelectVal = <#defaultSelectVal>;
|
||||
var wHref = "./w";</script><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/css/chunk-6e39575d.431c8ce0.css rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/js/chunk-2d224ef1.43774eae.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/js/chunk-3a9b7577.9d1f1636.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/js/chunk-6e39575d.40cb27de.js rel=prefetch><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/css/app.cc849ee7.css rel=preload as=style><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/js/app.238f44f1.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/js/chunk-vendors.7670095f.js rel=preload as=script><link href=../apps/com.actionsoft.apps.coe.pal.processlist/main/css/app.cc849ee7.css rel=stylesheet></head><body style=margin:0;><div id=app></div><script src=../apps/com.actionsoft.apps.coe.pal.processlist/main/js/chunk-vendors.7670095f.js></script><script src=../apps/com.actionsoft.apps.coe.pal.processlist/main/js/app.238f44f1.js></script></body></html>
|
||||
@ -0,0 +1,31 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<aws-actions>
|
||||
<cmd-bean name="com.actionsoft.apps.coe.pal.processlist_home">
|
||||
<param name="wsid"/>
|
||||
</cmd-bean>
|
||||
<cmd-bean name="com.actionsoft.apps.coe.pal.processlist_header_query">
|
||||
<param name="wsId"/>
|
||||
<param name="searchInput"/>
|
||||
<param name="levelValue"/>
|
||||
<param name="tableFilter"/>
|
||||
</cmd-bean>
|
||||
<cmd-bean name="com.actionsoft.apps.coe.pal.processlist_data_query">
|
||||
<param name="wsId"/>
|
||||
<param name="searchInput"/>
|
||||
<param name="levelValue"/>
|
||||
<param name="currentPage"/>
|
||||
<param name="pageStep"/>
|
||||
<param name="tableHead"/>
|
||||
<param name="tableFilter"/>
|
||||
</cmd-bean>
|
||||
<cmd-bean name="com.actionsoft.apps.coe.pal.processlist_config_save">
|
||||
<param name="wsId"/>
|
||||
<param name="customTableCheckedData"/>
|
||||
</cmd-bean>
|
||||
<cmd-bean name="com.actionsoft.apps.coe.pal.processlist_data_export">
|
||||
<param name="wsId"/>
|
||||
<param name="searchInput"/>
|
||||
<param name="levelValue"/>
|
||||
<param name="tableFilter"/>
|
||||
</cmd-bean>
|
||||
</aws-actions>
|
||||
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
.el-select--medium{float:left}a,button,div,i,input,span{outline:none}.grid-content[data-v-4573c24d]{border-radius:4px;min-height:36px}.custom_table_dlg_icon[data-v-4573c24d]{color:#4e7ff9;font-size:20px;cursor:pointer;position:relative;top:5px}.custom-table-dlg-li[data-v-4573c24d]{text-align:left;padding-left:20px;height:30px;line-height:30px;vertical-align:middle;cursor:move}.custom-table-dlg-li[data-v-4573c24d]:hover{background-color:#f5f7fa}.custom-table-dlg-li-item[data-v-4573c24d]{display:inline-block;width:88%}.custom-table-dlg-li-item-icon[data-v-4573c24d]{width:10%;text-align:center}.icon-display[data-v-4573c24d]{display:none}.custom-table-dlg-li:hover .icon-display[data-v-4573c24d]{display:inline-block}.custom-table-dlg-footer[data-v-4573c24d]{height:40px;text-align:right;padding:10px}.draggable-title[data-v-4573c24d]{text-align:left;padding-left:20px;height:30px;line-height:30px;font-size:12px;color:#95a2b2}.head-title[data-v-4573c24d]{display:inline-block}.button_fixed_width[data-v-4573c24d]{width:80px}#customTableDlg[data-v-4573c24d] .awsui-sidebar__header{padding:10px 10px 10px 20px}#processlistMain[data-v-4573c24d] .el-table__row:hover .processlist-title,#processlistMain[data-v-4573c24d] .el-table__row:hover .processlist-title-version{color:#4e7ff9!important}.processlist-title-version[data-v-4573c24d]{display:inline-block;-webkit-transform:scale(.9);font-size:12px;color:#aaa}.btn-more-data[data-v-4573c24d]:hover{color:#4e7ff9}.btn-more-data[data-v-4573c24d]{cursor:pointer}
|
||||
Binary file not shown.
|
After Width: | Height: | Size: 4.2 KiB |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 158 KiB |
File diff suppressed because one or more lines are too long
|
After Width: | Height: | Size: 1.2 MiB |
File diff suppressed because one or more lines are too long
@ -0,0 +1 @@
|
||||
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2d224ef1"],{e1f5:function(e,s,t){"use strict";t.r(s);var n=function(){var e=this,s=e.$createElement,t=e._self._c||s;return t("div",{staticClass:"devGetSession"},[e._v(" 正在获取session ")])},a=[],o=t("a18c"),d=t("0f08"),i=t("4360");d["a"].post({url:"jd",data:{userid:devUserInfo.userid,pwd:devUserInfo.pwd,lang:"cn",cmd:"com.actionsoft.apps.getsession.get",deviceType:"pc"}}).then((function(e){"error"==e.result?alert("获取session错误:"+e.msg):(i["a"].commit("edit",{sessionId:e.data.sid}),o["a"].replace("/"))}));var c={data:function(){return{dwList:[]}},methods:{},mounted:function(){}},r=c,u=t("2877"),l=Object(u["a"])(r,n,a,!1,null,null,null);s["default"]=l.exports}}]);
|
||||
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Loading…
Reference in New Issue
Block a user