📄 rmrecommandproductservice.java
字号:
}
this.add_product_affair(recommandid,lst_product,lst_affair);//增加推荐产品条件信息,传入推荐产品id
dacClient.endTransaction(true);//事务提交
return 1;
} catch (SQLException e) {
try {
dacClient.endTransaction(false);//回滚事务
} catch (SQLException e1) {
log.error("事务回滚失败!");
}
log.error("增加推荐产品信息失败!");
}
return 0;
}
/**
* 修改推荐产品
* @param rmrpb RMRecommandProductBean对象
* @param rmrcb[] RMRecommendConditionBean对象数组
* @return 1-正常,0-出异常
*/
public int updateRMRecommandProduct(RMRecommandProductBean rmrpb,List lst_product,List lst_affair){
if(rmrpb==null) return 0;
try {
//启动事务
dacClient.beginTransaction(-1);
//先修改推荐产品信息
//rmrDAO.updateRMRecommandProduct(rmrpb);
TD_RecommandProduct bean=this.buildTD_RecommandProduct(rmrpb);
bean.save();
//获取推荐产品id
long recommandid=rmrpb.getRecommandId();
//再删除对应推荐产品的所有条件
rmrDAO.deleteRMRecommandCondition(new Long(recommandid));
//增加条件信息
this.add_product_affair(recommandid,lst_product,lst_affair);
//事务提交
dacClient.endTransaction(true);
} catch (SQLException e) {
try {
dacClient.endTransaction(false);//回滚事务
} catch (SQLException e1) {
log.error("事务回滚失败!");
}
log.error("修改推荐产品信息失败!");
}
return 0;
}
/**
* 删除推荐产品条件
* @param number 产品序号
* @return
* @throws SQLException
*/
public int deleteRMRecommand(String[] id){
try {
if(id!=null){
//启动事务
dacClient.beginTransaction(-1);
for(int i=0;i<id.length;i++){
//先删除推荐产品条件信息
rmrDAO.deleteRMRecommandCondition(new Long(id[i]));
//再删除推荐产品信息
rmrDAO.deleteRMRecommandProduct(new Long(id[i]));
}
//事务提交
dacClient.endTransaction(true);
}
} catch (SQLException e) {
try {
//回滚事务
dacClient.endTransaction(false);
}
catch(SQLException e1) {
log.error("事务回滚失败!");
}
log.error("修改推荐产品信息失败!");
}
return 0;
}
/**
* 通过产品序号获取产品信息及产品条件信息
* @param number 产品序号
* @return Map,RMRecommandProductBean(key)产品信息
* RMRecommendConditionBeanList(key)产品条件列表
*/
public RMRecommandProductBean getRMRecommandProductBean(Long number){
DataTable dt1=null;
try {
dt1 = rmrDAO.getRMRecommandProductBean(number);
} catch (SQLException e) {
log.error(e.getMessage());
}
if(dt1!=null && dt1.getRows().getCount()>0){
DataRow dr=dt1.getRow(0);
//获取各字段信息
long lRecommendId=dr.getLong("RECOMMENDID");
String sTitle=dr.getString("TITLE");
String sCity=dr.getString("CITYCODE");
String sAbstract=dr.getString("ABSTRACT");
Date dStartTime=dr.getDate("STARTTIME");
Date dEndTime=dr.getDate("ENDTIME");
int sRmindex=dr.getInt("RMINDEX");
String sDisplayType=dr.getString("DISPLAYTYPE");
String sDescription=dr.getString("DESCRIPTION");
String sState=dr.getString("STATE");
//构造RMRecommandProductBean对象
RMRecommandProductBean rmrpb=new RMRecommandProductBean(
lRecommendId,sTitle,sCity,sAbstract,dStartTime,
dEndTime,sRmindex,sDisplayType,sDescription,sState);
return rmrpb;
}
return null;
}
/**
* 获取所有的产品列表
* @return
* @throws SQLException
*/
public DataTable getProduct(){
try {
return rmrDAO.getProduct();
} catch (SQLException e) {
log.error("获取所有的产品列表时出现异常");
return null;
}
}
/**
* 获取产品所属的地区程控
* @param request
* @param response
* @param map
* @return
*/
public DataTable getProgrammedByProduct(ServletRequest request,ServletResponse response,Map map){
try {
//产品序号
String productId=(String)map.get("productId");
//地市编号
String cityCode=(String)map.get("cityCode");
return rmrDAO.getProgrammedByProduct(productId,cityCode);
} catch (SQLException e){
log.error("获取产品所属的地区程控时出现异常!");
return null;
}
}
/**
* 根据标识字符获取最高,最低,普通级别指数
* @param request
* @param response
* @param map
* @return
*/
public int get_max_min_avg_rmindex(ServletRequest request,ServletResponse response,Map map){
try{
String flag=(String)map.get("flag");
int i=rmrDAO.get_max_min_avg_rmindex(flag);
//如果是获取最高,则+1
if(flag.equals("H")){
i++;
}
return i;
}catch(SQLException e){
log.error("获取产品所属的地区程控时出现异常!");
return 0;
}
}
/**
* 获取产品,程控字符串
* @param request
* @param response
* @param map
* @return
* @throws SQLException
* @throws NumberFormatException
*/
public String getProgrammedByReommandId(String cityCode,String recommandId) {
StringBuffer sb=new StringBuffer();
sb.append("<table id='product_table' width='100%'>");
sb.append("<input type='button' onclick='add_row();' value='增加行'>");
if(recommandId==null || recommandId.equals("")){
//sb.append("<tr><td><table id='programmed_table' name='programmed_table' width='100%'></table></td></tr>");
sb.append("</table>");
return sb.toString();
}
DataTable dt=null;
try {
dt = rmrDAO.getUpRMRecommend(Long.valueOf(recommandId));
} catch (NumberFormatException e) {
log.error("NumberFormatException");
} catch (SQLException e) {
log.error("SQLException");
}
if(dt==null || dt.getRows().getCount()==0){
//sb.append("<tr><td><table id='programmed_table' name='programmed_table' width='100%'></table></td></tr></table>");
sb.append("</table>");
return sb.toString();
}
for(int i=0;i<dt.getRows().getCount();i++){
DataRow row=dt.getRow(i);
String upconditionid=row.getString("CONDITIONID");
String parameter=row.getString("PARAMETER");
sb.append(this.parse(upconditionid,parameter,cityCode));
}
sb.append("</table>");
return sb.toString();
}
/**
* 获取某推荐产品下的程控
* @param upconditionid 父条件编号
* @param parameter 产品编号
* @param cityCode 城市编号 传入城市编号只是为了获取该地区所支持的程控
* @return
* @throws SQLException
*/
private String parse(String upconditionid,String parameter,String cityCode){
StringBuffer s=new StringBuffer();
StringBuffer body=new StringBuffer();
DataTable dt=null;
try {
dt = rmrDAO.getProgrammed(upconditionid);
ArrayList list=new ArrayList();
if(dt!=null){
for(int i=0;i<dt.getRows().getCount();i++){
String prodfunid=dt.getRow(i).getString("PRODFUNID");
list.add(prodfunid);
}
//获取所有的程控
DataTable all=rmrDAO.getProgrammedByProduct(parameter,cityCode);
if(all!=null){
body.append("<tr><td>");
for(int j=0;j<all.getRows().getCount();j++){
String prodfunid=all.getRow(j).getString("PRODFUNID");
String funname=all.getRow(j).getString("FUNNAME");
//循环判断所有的程控在某产品下属程控中是否存在
boolean exist=list.contains(prodfunid);
body.append("<input type='checkbox' name='AFFAIRTYPE'")
.append(" value='").append(prodfunid).append("'")
.append(exist?" checked":"").append(">").append(funname);
}
body.append("</td></tr>");
}
}
s.append("<tr>");
s.append("<td width='20%' nowrap='nowrap'>");
DataTable product=this.getProduct();
if(product!=null){
//产品下拉框
s.append("<select name='PRODUCT' id='PRODUCT' style='width:80%' onChange='showProgrammed(this);' onClick='checkCity(this)'>")
.append("<option value='0'>--请选择--</option>");
for(int i=0;i<product.getRows().getCount();i++){
DataRow row=product.getRow(i);
String value=row.getString("PRODUCTID");
String name=row.getString("PRODUCTNAME");
if(value.equals(parameter)){
s.append("<option value='"+value+"' selected>"+name+"</option>");
}else{
s.append("<option value='"+value+"'>"+name+"</option>");
}
}
s.append(" </select>");
}
//body为动态程控的块
s.append("</td>");
s.append("<td width='65%'>")
.append("<table id='programmed_table' name='programmed_table' width='100%'>")
.append(body)
.append("</table></td>");
s.append("<td width='10%'>");
//删除按钮
s.append("<input type='button' onclick='del_row();' value='删除行'>");
s.append("</td>");
s.append("</tr>");
} catch (SQLException e) {
log.error("SQLException");
}
return s.toString();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -