package com.foxconn.nwe.flex.ejb.dao;
import java.util.List;
import com.foxconn.nwe.flex.ejb.model.FlexCase;
public interface FlexCaseDAO {
public FlexCase find(String id);
public long sum();
public List<FlexCase> list(int start, int limit);
public long sum(String caseName);
public List<FlexCase> list(String caseName, int start, int limit);
public List<FlexCase> list(String state);
public String createId();
public boolean insert(FlexCase flexCase);
public boolean update(FlexCase flexCase);
public boolean delete(String id);
}
package com.foxconn.nwe.flex.ejb.dao.jpa;
import java.util.List;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;
import com.foxconn.nwe.flex.ejb.dao.FlexCaseDAO;
import com.foxconn.nwe.flex.ejb.model.FlexCase;
@Stateless
@Remote({FlexCaseDAO.class})
public class FlexCaseDAOBean implements FlexCaseDAO {
@PersistenceContext(unitName = "Oracle104PU")
private EntityManager em;
/**
* 根據屬性id獲得FlexCase對象
*
* @author f1410198
*/
public FlexCase find(String id) {
return em.find(FlexCase.class, id);
}
/**
* 按頁獲得FlexCase對象列表
*
* @author f1410198
*/
@SuppressWarnings("unchecked")
public List<FlexCase> list(int start, int limit) {
/* 按專案狀態和接單日期降序排序 */
String jpql = "select c from FlexCase c order by c.acceptDate desc,c.state desc";
/* 創建查詢 */
Query query = em.createQuery(jpql);
/* 設定每頁顯示的起始行和頁大小 */
query.setFirstResult(start);
query.setMaxResults(limit);
return query.getResultList();
}
/**
* 按專案名稱進行模糊查找
*
* @author f1410198
*/
@SuppressWarnings("unchecked")
public List<FlexCase> list(String caseName, int start, int limit) {
/* 按專案名進行模糊查詢 */
String jpql = "select c from FlexCase c where c.caseName like '%"
+ caseName + "%' order by c.state desc,c.acceptDate desc";
Query query = em.createQuery(jpql);
query.setFirstResult(start);
query.setMaxResults(limit);
return query.getResultList();
}
/**
* 根據結案狀態獲得的FlexCase對象列表
*
* @author f1410198
* @param state
* @return List<FlexCase>
*/
@SuppressWarnings("unchecked")
public List<FlexCase> list(String state) {
/* 按專案狀態查詢 */
String jpql = "select c from FlexCase c where c.state=?1 order by c.acceptDate desc";
/* 創建查詢并設置參數 */
Query query = em.createQuery(jpql).setParameter(1, state);
return query.getResultList();
}
/**
* 獲得FlexCase對象總行數
*
* @author f1410198
*/
public long sum() {
/* 統計對象總行數 */
String jpql = "select count(c) from FlexCase c";
Query query = em.createQuery(jpql);
return (Long) query.getSingleResult();
}
/**
* 模糊查找專案名稱的記錄數
*
* @author f1410198
*/
public long sum(String caseName) {
/* 按專案名統計對象總行數 */
String jpql = "select count(c) from FlexCase c where c.caseName like '%"
+ caseName + "%'";
Query query = em.createQuery(jpql);
return (Long) query.getSingleResult();
}
/**
* 創建一個新的專案id
*
* @author f1410198
*/
public String createId() {
/* 查詢最大的ID */
Query query = em.createQuery("select max(c.id) from FlexCase c");
/* 最大ID值 */
String maxId = (String) query.getSingleResult();
/* 最大ID值的數字部份 */
String sub = maxId.substring(3);
/* 轉換成整型 */
long no = Long.parseLong(sub);
/* 自增1以獲得新的ID值整數值 */
no++; // 自增1
/* 將新的ID值轉換成字符型 */
String newId = String.valueOf(no);
/* 根據字符串長度加上首碼 */
switch (newId.length()) {
case 1:
newId = "SEQ000000" + newId;
break;
case 2:
newId = "SEQ00000" + newId;
break;
case 3:
newId = "SEQ0000" + newId;
break;
case 4:
newId = "SEQ000" + newId;
break;
case 5:
newId = "SEQ00" + newId;
break;
case 6:
newId = "SEQ0" + newId;
break;
default:
newId = "SEQ" + newId;
break;
}
return newId;
}
/**
* 根據字段id刪除FlexCase對象
*
* @author f1410198
*/
public boolean delete(String id) {
FlexCase flexCase = this.find(id);
if (flexCase == null) {
return false;
} else {
try {
em.remove(flexCase);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
return true;
}
/**
* 新增FlexCase對象
*
* @author f1410198
*/
public boolean insert(FlexCase flexCase) {
try {
em.persist(flexCase);
} catch (Exception e) {
e.printStackTrace();
return false;
}
return true;
}
/**
* 更新FlexCase對象
*
* @author f1410198
*/
public boolean update(FlexCase flexCase) {
if (flexCase == null) {
return false;
} else {
try {
em.merge(flexCase);
} catch (Exception e) {
e.printStackTrace();
return false;
}
}
return true;
}
}
分享到:
相关推荐
cppc++
cppc++
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
临时项目:使用python进行自动网页抢票,包含selenium的调用,cookie获取以及网页信息全识别
内容概要:本文档详细介绍了如何在MATLAB中利用灰狼优化算法(GWO)优化极限学习机(ELM)实现多输入单输出回归预测。内容涵盖了项目背景、目标与意义、挑战、特点与创新、应用领域、模型架构、代码实现、算法流程、数据预处理、模型训练与优化、预测与结果分析、性能评估与可视化、GUI设计等各个方面。文档不仅提供了完整的程序和详细的代码解释,还展示了实际的预测结果与真实数据的对比图。 适合人群:具备一定编程基础的数据科学家、研究人员、工程师及高校学生。 使用场景及目标:该模型主要应用于时间序列预测、金融市场建模、工业控制系统、生物信息学等领域的多输入单输出回归预测任务。目标是通过GWO优化ELM的输入权重和偏置参数,提高预测精度和模型泛化能力。 其他说明:项目还包括了模型的扩展方向和未来改进计划,以便进一步提升模型的性能和实用性。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
一个很精简的C++机器学习库
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
_基于TS算法的直线往复2-RGV系统调度研究.pdf
CPPC++_该仓库主要记录 NLP 算法工程师相关的顶会论文研读笔记
CPPC++_简洁易用的C11网络库 支持单机千万并发连接 a simple C11 network server
ASP.NET多行业智能监控快递物流源码 快递智能物流源码 仿顺丰京东物流管理系统源码 多行业智能监控快递物流源码: 功能强大,界面美观,包含 ; 具有下面模块功能:分栋监控、主控系统、传感系统、自动升降系统、扫描系统、分流系 统、智能小车、体积测量系统 可与PLC下位机进行通信连接 与K8系统进行对接 开发环境为Visual Studio 2010,数据库为SQLServer2008,使用.net 4.0开发。 菜单功能:分栋监控、主控系统、传感系统、自动升降系统、扫描系统、分流系统、智能小 车、体积测量系统
!!内部代码要自己修改为自己的目录,不是立马可执行! 【一 功能】: (1) 自动查找系统数据库职位务数据库中的表 (2)根据 get_need_compaction_tables.sh 中 的阈值 version_count_max=500 筛选出需要手工进行compaction的tablets (3)根据生成的结果执行 compaction; 【二 .脚本介绍】 (1)get_need_compaction_tables.sh : 根据 version_count_max=500 筛选出需要进行compaction的表列表。 (2)auto_compact_doris_tablet.sh : 本地生成命令文件 (3)run_base.sh : 执行(2) 生成的命令文件 base compaction 类型 (4)run_cumul.sh : 执行(2)生成的命令文件 cumulative compaction 类型; 三、 使用cron 排程运行 run_cumul.sh(常用) 或 run_base.sh
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
SSM项目-RBAC权限实战
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。 替换数据可以直接使用,注释清楚,适合新手
1.版本:matlab2014/2019a/2024a 2.附赠案例数据可直接运行matlab程序。 3.代码特点:参数化编程、参数可方便更改、代码编程思路清晰、注释明细。 4.适用对象:计算机,电子信息工程、数学等专业的大学生课程设计、期末大作业和毕业设计。