- 浏览: 323745 次
- 性别:
- 来自: 重庆
-
文章分类
- 全部博客 (286)
- 设计模式 (14)
- spring (5)
- 开发工具 (12)
- java (19)
- apache.commons工具 (7)
- ibaits (5)
- extjs4.0 (4)
- 数据库 (2)
- spring工具类 (2)
- jquery1.8 (32)
- 杂记 (1)
- linux (2)
- Quart (1)
- springMVC (2)
- webservice (1)
- oracle (5)
- dwr (6)
- jbmp3 (27)
- lucene3.5 (27)
- javascript (18)
- hibernate3.3.2 (27)
- spring事务管理 (10)
- nio (2)
- strust2 (3)
- jvm (7)
- jquery-easyui-1.2.6 (22)
- 多线程 (14)
- maven (3)
- 常用正则表达式 (4)
最新评论
-
HF_SKY000:
请问:
一、能否提供一下密钥库文件的生成方法?
二、密钥库的密 ...
Java sslSocket 聊天实例
public class JbpmFacadeImpl extends AbstractManager implements JbpmFacade {
private JbpmConfiguration jbpmConfiguration;
public long addProcessInstance(String processName, Document document) {
JbpmContext context = getJbpmContext();
ProcessDefinition def = context.getGraphSession().findLatestProcessDefinition(processName);
ProcessInstance instance = new ProcessInstance(def);
instance.getContextInstance().setVariable("document", document.getId());
//将公文标题也提交到流程实例变量中,以便在E-Mail中能够提示这个公文的名称
instance.getContextInstance().setVariable("docTitle", document.getTitle());
//将公文的相关属性设置进入流程实例变量
Map props = document.getProperties();
if(props != null){
Set entries = props.entrySet();
for (Iterator iterator = entries.iterator(); iterator.hasNext();) {
Map.Entry entry = (Map.Entry) iterator.next();
String propertyName = (String)entry.getKey();
Object obj = document.getProperty(propertyName);
//将变量放入流程实例变量
instance.getContextInstance().setVariable(propertyName, obj);
}
}
context.save(instance);
return instance.getId();
}
public void delProcessDefinition(String processName) {
JbpmContext context = getJbpmContext();
List defs = context.getGraphSession().findAllProcessDefinitionVersions(processName);
for (Iterator iterator = defs.iterator(); iterator.hasNext();) {
ProcessDefinition def = (ProcessDefinition) iterator.next();
context.getGraphSession().deleteProcessDefinition(def);
}
}
public void delProcessInstance(long processInstanceId) {
JbpmContext context = getJbpmContext();
context.getGraphSession().deleteProcessInstance(processInstanceId);
}
public String deployProcessDefinition(byte[] processDef) {
JbpmContext context = getJbpmContext();
ProcessDefinition def = ProcessDefinition.parseXmlInputStream(
new ByteArrayInputStream(processDef)
);
context.deployProcessDefinition(def);
return def.getName();
}
public String nextStep(long processInstanceId, String actorId,
String transitionName) {
JbpmContext context = getJbpmContext();
ProcessInstance instance = context.getProcessInstance(processInstanceId);
//当前节点
String currentNodeName = instance.getRootToken().getNode().getName();
//起点的名称
String startNodeName = instance.getProcessDefinition().getStartState().getName();
//如果是在起点
if(startNodeName.equals(currentNodeName)){
if(transitionName == null){
instance.signal();
}else{
instance.signal(transitionName);
}
}else{
List taskInstances = context.getTaskMgmtSession().findTaskInstances(actorId);
for (Iterator iterator = taskInstances.iterator(); iterator
.hasNext();) {
TaskInstance ti = (TaskInstance) iterator.next();
if(ti.getProcessInstance().getId() == processInstanceId){
if(transitionName == null){
ti.end();
}else{
ti.end(transitionName);
}
break;
}
}
//查找所属组的任务实例
List pooledTaskInstances = context.getTaskMgmtSession().findPooledTaskInstances(actorId);
for (Iterator iterator = pooledTaskInstances.iterator(); iterator
.hasNext();) {
TaskInstance ti = (TaskInstance) iterator.next();
if(ti.getProcessInstance().getId() == processInstanceId){
if(transitionName == null){
ti.end();
}else{
ti.end(transitionName);
}
break;
}
}
}
//返回转向之后的节点名称
return instance.getRootToken().getNode().getName();
}
//回退
public Object[] backStep(long processInstanceId, String actorId) {
JbpmContext context = getJbpmContext();
//根据流程实例标识查找流程实例
ProcessInstance instance = context.getProcessInstance(processInstanceId);
Object[] os = new Object[2];
//搜索用户对应的所有的任务实例
List taskInstances = context.getTaskMgmtSession().findTaskInstances(actorId);
for (Iterator iterator = taskInstances.iterator(); iterator
.hasNext();) {
TaskInstance ti = (TaskInstance) iterator.next();
if(ti.getProcessInstance().getId() == processInstanceId){
//先判断是否是要回退到起点
Set set = ti.getToken().getNode().getArrivingTransitions();
for (Iterator iterator2 = set.iterator(); iterator2.hasNext();) {
Transition t = (Transition) iterator2.next();
//如果它需要回退到起点
if(t.getFrom().equals(ti.getProcessInstance().getProcessDefinition().getStartState())){
int docId = (Integer)ti.getProcessInstance().getContextInstance().getVariable("document");
//结束当前的流程实例
ti.getProcessInstance().end();
//结束当前任务实例
ti.end();
//重新创建流程实例对象
ProcessInstance pi = new ProcessInstance(ti.getProcessInstance().getProcessDefinition());
pi.getContextInstance().setVariable("document", docId);
//将流程实例对象重新持久化到数据库
context.save(pi);
os[0] = Document.STATUS_NEW;
os[1] = pi.getId();
return os;
}
}
//如果不需要回退到起点
ti.end(CreateTransitionAction.BACK_TRANSITION);
break;
}
}
os[0] = instance.getRootToken().getNode().getName();
os[1] = processInstanceId;
return os;
}
public List searchMyTaskList(String actorId) {
JbpmContext context = getJbpmContext();
List docIds = new ArrayList();
List taskInstances = context.getTaskMgmtSession().findTaskInstances(actorId);
for (Iterator iterator = taskInstances.iterator(); iterator.hasNext();) {
TaskInstance ti = (TaskInstance) iterator.next();
Integer docId = (Integer)ti.getProcessInstance().getContextInstance().getVariable("document");
docIds.add(docId);
}
//查找所属组的任务实例
List pooledTaskInstances = context.getTaskMgmtSession().findPooledTaskInstances(actorId);
for (Iterator iterator = pooledTaskInstances.iterator(); iterator
.hasNext();) {
TaskInstance ti = (TaskInstance) iterator.next();
Integer docId = (Integer)ti.getProcessInstance().getContextInstance().getVariable("document");
docIds.add(docId);
}
return docIds;
}
public List searchNextTransitions(long processInstanceId, String actorId) {
JbpmContext context = getJbpmContext();
ProcessInstance instance = context.getProcessInstance(processInstanceId);
//当前节点
String currentNodeName = instance.getRootToken().getNode().getName();
//起点的名称
String startNodeName = instance.getProcessDefinition().getStartState().getName();
Collection transitions = null;
//如果是在起点
if(startNodeName.equals(currentNodeName)){
transitions = instance.getRootToken().getAvailableTransitions();
}else{
List taskInstances = context.getTaskMgmtSession().findTaskInstances(actorId);
for (Iterator iterator = taskInstances.iterator(); iterator
.hasNext();) {
TaskInstance ti = (TaskInstance) iterator.next();
if(ti.getProcessInstance().getId() == processInstanceId){
transitions = ti.getAvailableTransitions();
break;
}
}
//查找所属组的任务实例
List pooledTaskInstances = context.getTaskMgmtSession().findPooledTaskInstances(actorId);
for (Iterator iterator = pooledTaskInstances.iterator(); iterator
.hasNext();) {
TaskInstance ti = (TaskInstance) iterator.next();
if(ti.getProcessInstance().getId() == processInstanceId){
transitions = ti.getAvailableTransitions();
}
}
}
List transitionNames = new ArrayList();
if(transitions != null){
//为了不把Transition对象直接暴露给OA系统,需要将其转换为名称列表
for (Iterator iterator = transitions.iterator(); iterator.hasNext();) {
Transition transition = (Transition) iterator.next();
transitionNames.add(transition.getName());
}
}
return transitionNames;
}
private JbpmContext getJbpmContext(){
JbpmContext context = jbpmConfiguration.createJbpmContext();
context.setSession(getSession());
return context;
}
public void setJbpmConfiguration(JbpmConfiguration jbpmConfiguration) {
this.jbpmConfiguration = jbpmConfiguration;
}
}
发表评论
-
二十七、jbpm回退
2012-11-16 10:56 2093要实现JBPM的任务回退很 ... -
二十五、将JBPM集成到基于SSH的OA系统中
2012-11-15 22:43 961具体步骤如下: -
二十四、如何给角色分配任务,而且拥有此角色的用户必需要通过n个人的审批之后才能继续往下?
2012-11-15 21:33 812解决方案: 1、 在一个node-enter ... -
二十三、如何给角色分配任务,而且拥有此角色的用户只要有一个用户审批通过就可以继续往下
2012-11-13 14:41 801解决方案: 首先,是基于前一个解决方案,我们自己来给 ... -
二十二、如何给角色分配任务,而且拥有此角色的用户均需审批通过之后才能继续往下?
2012-11-13 14:18 870解决方法: * 在一个n ... -
二十一、如何在Jbpm的各种Handler中访问spring的bean
2012-11-13 11:42 1106import org.springframe ... -
二十、如何给角色分配任务
2012-11-13 11:12 1187实现AssignmentHandler接口,在接口的实现方法中 ... -
十九、会签(通过PooledActors或者在一个TaskNode中定义多个Task)来实现
2012-11-09 17:15 1049如何实现多人会签,而且只要其中一个人审批通过就继续往下? ... -
十八、自定义VariableResolver
2012-11-09 16:50 1075<decision name="decisio ... -
十七、Decision节点和DecisionHandler的使用
2012-11-09 16:15 1079<?xml version="1.0& ... -
十六、流程相关的用例图、流程图
2012-11-08 17:29 1037部署流程: ... -
十五、从中间的TaskNode节点出发如何得到下一步可选路径列表
2012-11-06 16:12 856在上一节中说到: Set&l ... -
十四、从起点(StartState)出发,如何得知下一步可选的路径列表
2012-11-06 11:59 1072<process-definition name=&q ... -
十三、Fork和Join节点的基本用法
2012-11-06 10:48 1118<?xml version="1.0&qu ... -
十二、查询公文流转到哪个节点
2012-11-06 10:43 1017//得到流程流转到的当前节点 @Test ... -
十一、流程流转
2012-11-06 10:43 1001提交公文到下一个节点(本节点不是开始节点) pr ... -
十、查询某个用户的公文列表
2012-11-05 10:27 885private void printTask(JbpmCont ... -
九、提交公文
2012-11-05 10:29 814//将公文提交到第一个环节 @Test ... -
八、创建公文
2012-11-05 10:29 8401、创建公文对象 public ... -
七、部署流程
2012-11-05 10:28 912测试代码如下: //部署流程定义:根据流程 ...
相关推荐
内容概要:本文详细介绍了利用粒子群优化(PSO)改进BP神经网络进行多特征分类预测的方法。主要内容涵盖PSO与BP神经网络结合的技术背景、具体实现步骤以及优化效果。文中首先解释了BP神经网络初始权值和阈值选择的重要性及其随机性带来的挑战,接着引入PSO作为解决方案。随后展示了完整的代码实现流程,包括数据加载、预处理、模型构建、PSO参数设定、适应度函数定义、训练过程及最终结果可视化。实验结果显示,在特定数据集上,经过PSO优化后的BP神经网络分类准确率显著提升,从82%提高到了91%。 适合人群:对机器学习尤其是神经网络优化感兴趣的科研工作者和技术开发者。 使用场景及目标:适用于需要解决复杂分类问题的研究项目或实际应用中,旨在提高分类准确性,特别是在处理高维度特征数据时。通过本系统的应用,可以有效改善传统BP神经网络因初始参数选择不当而导致性能不佳的问题。 其他说明:文中还提供了若干实用技巧,如参数范围约束、并行计算加速、保存历代最优粒子等,帮助使用者更好地理解和运用这一方法。同时强调了数据归一化的必要性和重要性,提醒读者注意潜在陷阱。
python实现基于文本和多模态数据的风险识别项目源码.zip 字节跳动安全AI挑战赛——色情导流用户识别项目源码。内容来源于网络分享,如有侵权请联系我删除。
3000软件30000
众星捧月选股器.tni
内容概要:本文详细介绍了信捷PLC六轴标准程序在双头旋铆机上的应用。该程序采用模块化编程思想,将整个程序分为多个工位编辑,每个工位负责特定功能,确保程序结构清晰明了。程序分层合理,涵盖系统层、功能层、逻辑层和代码层,确保了设备的稳定性和效率。所有模块均配有详细注释,便于理解和维护。此外,程序已在实际设备上批量应用,证明其成熟可靠,为信捷PLC编程提供宝贵的借鉴经验。 适合人群:从事信捷PLC编程的技术人员,尤其是希望提升编程技能和了解模块化编程思想的工程师。 使用场景及目标:适用于需要对多轴控制系统进行编程的工业自动化项目。通过学习本文,可以掌握信捷PLC的编程技巧,提高编程水平,优化程序结构,增强设备性能。 其他说明:本文不仅关注具体代码实现,还强调了程序设计思路和模块化编程的优势,有助于读者全面理解信捷PLC编程的核心理念和技术细节。
内容概要:本文详细介绍了一种基于霍尔自学习与超前换相策略的电机控制解决方案。该方案利用上位机控制电机的启停、调速等操作,支持开环和闭环运行模式。系统具备实时动态绘图功能,用于分析电机启动特性、转速波动、指令响应速度等关键参数。此外,系统实现了霍尔相序的自学习和校验,支持PI参数调节并能对比不同参数的波形图,优化算法。超前换相策略通过预测电流和电压变化,提前进行换相操作,减少转矩波动和能量损失。硬件方面采用野火全套设备,确保高性能和高可靠性。文中还附有上位机使用指南和通信协议解析,帮助用户更好地开发和调试。 适合人群:从事电机控制研究和技术开发的专业人士,尤其是希望深入了解霍尔自学习和超前换相策略的应用工程师。 使用场景及目标:适用于需要精确控制电机性能和提高运行效率的工业应用场景。目标是通过先进的控制策略和技术手段,优化电机的启动特性、转速稳定性、指令响应速度等性能指标。 其他说明:本文不仅提供了详细的理论和技术背景,还给出了实际的操作指导和工具,便于用户快速上手并应用于实际项目中。
电子设计竞赛相关资源
内容概要:本文档《Swift入门实例教程.pdf》详细介绍了Swift编程语言的基础知识及其在iOS和macOS开发中的应用。首先概述了Swift的背景、特点和优势,强调其高效性、安全性、跨平台兼容性等特性。接着深入讲解了Swift的基本语法,包括变量与常量、数据类型、运算符和流程控制语句等内容。随后探讨了Swift的高级特性,如枚举、结构体、泛型、闭包和装饰器模式等。文档还结合iOS开发实例,介绍了如何使用UIKit框架、Swift与Objective-C的互操作性以及MVC模式的实现。此外,文档涵盖了Swift的性能优化技巧,如内存管理、代码优化和编译器优化指令。最后,展望了Swift语言的未来发展,指出其在跨平台、云端开发、后端服务、物联网等方面的应用前景。 适合人群:具备一定编程基础,特别是对iOS和macOS开发感兴趣的初学者和中级开发人员。 使用场景及目标:①掌握Swift语言的基本语法和高级特性;②学习如何使用Swift进行iOS和macOS应用开发;③了解Swift的性能优化方法,提高代码质量和运行效率;④探索Swift在跨平台、云端开发、后端服务和物联网等领域的应用前景。 阅读建议:建议读者从基础语法开始学习,逐步深入到高级特性和实际项目开发,同时结合性能优化技巧,实践并调试代码,以加深理解和掌握Swift编程语言。
tutorial-32-to-56-gbps-serial-link-analysis-optimization-methods-pathological-channels.pdf
内容概要:本文详细介绍了单相交交变频电路的仿真分析,特别是针对阻感负载的情况。文中首先介绍了交交变频电路的重要性和应用场景,随后详细描述了如何利用MATLAB搭建仿真环境并进行电路建模。重点讨论了负载阻感特性对电路性能的影响,并通过傅立叶分析展示了输出电压的频谱特性。此外,文章还提供了仿真过程中的一些注意事项和技术要点,帮助读者更好地理解和应用这一技术。 适合人群:电气工程及相关领域的学生、研究人员和工程师,尤其是那些对电力电子技术和电路仿真感兴趣的人群。 使用场景及目标:适用于希望通过MATLAB进行单相交交变频电路仿真的技术人员,旨在帮助他们深入理解电路原理,掌握仿真技巧,并能通过调整负载来优化电路性能。 其他说明:本文提供的仿真案例基于MATLAB 2017a版本,默认提供完整的理论说明和操作指南,方便读者自学和实践。
内容概要:本文深入浅出地介绍了用例图的概念、构成元素及其在软件开发中的重要作用。用例图作为一种描述系统功能的视图,是UML的重要组成部分,它通过参与者、用例、边界及关系清晰展示了系统的功能需求。文章详细解释了参与者(外部实体)、用例(功能需求或用户场景)、系统边界和关系(关联、包含、扩展、泛化)的定义和作用。用例图不仅有助于获取精准需求,还能指导测试和系统设计,确保开发过程有序高效。通过实际案例,如电商系统、打车软件等,文章生动地展示了用例图的应用场景,帮助读者更好地理解其在软件开发各阶段的作用。 适合人群:适合软件开发人员、项目经理、需求分析师以及所有参与软件开发流程的相关人员,尤其是初学者和有一定经验的技术人员。 使用场景及目标:① 在需求分析阶段,帮助团队梳理用户需求,确保系统功能明确;② 在系统设计阶段,为架构师和开发人员提供功能模块划分和接口设计的依据;③ 在测试阶段,为测试人员提供详细的测试用例设计参考;④ 提高团队沟通效率,确保各方对系统功能达成一致理解。 其他说明:本文通过丰富的实例和详细的解释,帮助读者掌握用例图的绘制方法和应用技巧,建议读者在实际项目中多加练习,结合具体业务场景灵活运用用例图,以提升软件开发的质量和效率。
629684565507752猎豹清理大师_6.22.3 解锁会员版_Rikkati.apk
内容概要:本文介绍了一个基于Python和Django框架的音乐推荐系统的开发过程。该系统旨在帮助用户从海量音乐中找到自己喜欢的歌曲,解决了用户选择困难的问题。系统通过记录用户的听歌次数,计算用户对歌曲的喜好度,并采用基于用户协同过滤的算法,利用余弦相似度来为用户推荐可能喜欢的歌曲。具体实现步骤包括设计数据库结构、实现用户登录功能、记录听歌次数、计算余弦相似度、构建相似度矩阵和推荐分数矩阵,最后通过界面展示推荐结果。 适合人群:对Python和Django有一定了解的研发人员,尤其是对推荐系统感兴趣的开发者。 使用场景及目标:①帮助用户在海量音乐中找到自己可能喜欢的歌曲;②提升用户体验,减少选择困难;③学习基于用户协同过滤和余弦相似度的推荐算法实现。 阅读建议:读者可以通过本文了解音乐推荐系统的完整开发流程,掌握如何使用Python和Django实现基于用户行为的个性化推荐。同时,关注实现细节如数据库设计、相似度计算等,有助于深入理解推荐系统的原理。
内容概要:本文详细介绍了在MATLAB r2018a环境下,针对冲击噪声环境下的鲁棒稀疏恢复算法的研究与应用。鲁棒稀疏恢复旨在从含噪数据中提取并重构有用信息,在信号处理领域具有重要意义。文中阐述了算法的基本概念、实现方式,特别是利用MATLAB的优化和信号处理工具箱完成具体操作。此外,还展示了该算法在多个领域的广泛应用,如金融时间序列、地震信号、机械振动、生理信号等,并给出了一段简化的MATLAB代码示例用于演示。 适合人群:从事信号处理相关工作的研究人员和技术人员,尤其关注冲击噪声下数据恢复的技术人员。 使用场景及目标:①帮助用户理解鲁棒稀疏恢复算法的工作原理;②指导用户在MATLAB环境下实现该算法;③促进该算法在不同领域的实际应用。 其他说明:文中提供的代码仅为示意,实际应用时需根据具体情况进行适当修改。
内容概要:本文深入探讨了微电网主从控制在孤岛与并网模式之间的平滑切换技术。首先介绍了孤岛模式下的VF控制,通过下垂控制维持电压和频率稳定;接着阐述了并网模式下的PQ控制,强调电流环控制的重要性。文中详细解析了模式切换的关键环节——预同步,特别是锁相环的作用。此外,还讨论了分布式发电与主动配电网的相关问题,如通信延迟的影响和容量分配算法的设计。最后,通过MATLAB模型展示了控制回路的模块化设计及其优势。 适合人群:从事电力系统研究、微电网技术研发的专业人士,以及对智能电网感兴趣的科研人员。 使用场景及目标:适用于需要理解和优化微电网控制系统的技术人员,帮助他们掌握孤岛与并网模式切换的关键技术和实现方法,提高系统的稳定性和可靠性。 其他说明:文章提供了详细的MATLAB模型和代码片段,便于读者进行实验和验证。同时,通过对实际案例的分析,为相关领域的研究提供了宝贵的实践经验。
数据集介绍:自动驾驶道路多目标检测数据集 数据集名称:自动驾驶道路多目标检测数据集 图片数量: - 训练集:2,447张图片 - 验证集:1,121张图片 - 测试集:1,126张图片 总计:4,694张道路场景图片 分类类别: 1. 坑洼道路:路面凹陷区域检测,用于车辆避障决策 2. 停止标志:交通禁令标志识别,支持车辆制动逻辑 3. 自行车:非机动车目标检测 4. 谨慎标志:预警类交通标识识别 5. 道路区域:可行驶区域划分 6. 路面坑洞:小型障碍物检测 7. 前进指示:交通引导标志识别 8. 摩托车:二轮机动车辆检测 9. 行人:行人目标识别与追踪 10. 车牌:车辆身份标识提取 11. 卡车:大型货运车辆检测 标注格式: YOLO格式标注,包含目标边界框与类别标签,支持主流检测框架直接调用。 自动驾驶系统开发: 训练车辆感知模型,实现道路障碍物、交通标志、行人等多目标实时检测。 道路安全预警系统: 集成至ADAS系统,提供坑洞预警、行人碰撞预警等功能。 交通流量分析: 通过车辆类型检测统计道路货运/客运比例。 算法研究: 支持YOLO系列模型优化,适用于复杂道路场景下的检测鲁棒性研究。 场景覆盖全面: 包含11类道路核心要素,涵盖车辆、行人、交通标志、路面异常四维检测目标。 标注专业化: YOLO格式标注经多轮质检,边界框定位精准,类别标注准确率达98.6%。 任务适配灵活: 同时支持目标检测、可行驶区域分割、特殊标志识别等多任务模型训练。 数据分布合理: 严格按6:3:1划分训练/验证/测试集,包含昼夜、多种天气条件下的道路场景。
11-16届C/C++ A组省赛题目全解(附AC代码)
内容概要:本文详细介绍了用于电机控制器的IGBT结温估算算法及其模型。该算法经过多年实际应用验证,能够精确估算IGBT内部6个三极管和6个二极管的温度,并找出最热点,从而有效保护IGBT并优化产品性能。文中提供了具体的MATLAB和C代码片段,展示了损耗计算、热阻抗模型以及温度查找的具体实现方法。此外,还介绍了Simulink模型的双模切换机制,包括直流和交流两种仿真模型,以及一些优化技巧如查表法加速指数运算。最后,通过实际案例证明了该算法的有效性和可靠性,误差控制在±3°C以内,显著延长了IGBT的使用寿命。 适合人群:从事电机控制系统设计、IGBT应用开发的技术人员,尤其是需要深入了解IGBT结温估算原理和实现细节的专业人士。 使用场景及目标:适用于需要高精度温度监控和保护的电机控制系统,特别是电动汽车等领域。目标是确保IGBT的安全运行,优化降额策略,延长设备寿命。 其他说明:提供的模型不仅支持仿真,还可以生成代码应用于实际硬件中,增强了其实用价值。同时,模型内置CRC校验,提升了系统的可靠性和安全性。
内容概要:本文档为交通银行考试准备的模拟题集,提供了5套线上模拟试题的链接,考生可以通过这些链接进行自我测试并即时查看答题结果与错题解析。模拟题覆盖了交通银行考试的关键知识点,旨在帮助考生熟悉考试形式、检验自身水平并针对性地复习薄弱环节。; 适合人群:即将参加交通银行招聘考试的求职者,特别是希望提前了解考试题型和难度的应聘者。; 使用场景及目标:①考生可以在备考期间利用这些模拟题进行练习;②通过自我检测及时发现知识盲点并加以巩固;③适应在线考试环境,减轻正式考试时的紧张感。; 阅读建议:建议考生在正式做题前先浏览一遍题目类型,做完后认真分析错误原因,结合答案解析加深对知识点的理解,反复练习以提高正确率。
实训商业源码-红色茶叶销售企业网站源码-毕业设计.zip