package com.cabletech.business.base.dao;
import java.util.List;
import java.util.Map;
import org.springframework.stereotype.Repository;
import com.cabletech.baseinfo.base.BaseDao;
import com.cabletech.business.base.service.CommonOrderCodeService;
/**
*
* 通用户生成(根据 中国移动网络代维管理平台技术规范 编码规范分册.doc)
* 包括:
* 工单编号
* 公告编号
* 公文编号
* 代维资料编号
* @author wj
*
*/
@Repository
public class CommonOrderCodeDao extends BaseDao {
/**
* 添加编码
* @param parameter 参数
* @return
*/
public void addOrderCode(Map<String,Object> parameter){
StringBuffer sb = new StringBuffer();
sb.append(" INSERT INTO BASE_SEQUENCE(TASK_TYPE,SYS_DATE,SERIAL_NUMBER) ");
sb.append(" VALUES ('"+parameter.get(CommonOrderCodeService.ORDER_CODE_TASK_TYPE)+"', ");
sb.append(" TO_DATE('"+parameter.get(CommonOrderCodeService.ORDER_CODE_SYS_DATE)+"','yyyy-MM-dd'), ");
sb.append(" "+parameter.get(CommonOrderCodeService.ORDER_CODE_SERIAL_NUMBER)+") ");
this.insetOrUpdate(sb.toString());
}
/**
* 删除编码
* @param parameter 参数
* @return
*/
public void deleteOrderCode(Map<String,Object> parameter){
StringBuffer sb = new StringBuffer();
sb.append(" DELETE BASE_SEQUENCE BS WHERE 1=1 ");
sb.append(" AND BS.TASK_TYPE = '"+parameter.get(CommonOrderCodeService.ORDER_CODE_TASK_TYPE)+"' ");
// sb.append(" AND BS.SYS_DATE = TO_DATE('"+parameter.get(CommonOrderCodeService.ORDER_CODE_TASK_TYPE)+"','yyyy-MM-dd') ");
this.insetOrUpdate(sb.toString());
}
/**
* 修改编码
* @param parameter 参数
* @return
*/
public void updateOrderCode(Map<String,Object> parameter){
StringBuffer sb = new StringBuffer();
sb.append(" UPDATE BASE_SEQUENCE SET ");
sb.append(" SERIAL_NUMBER = "+parameter.get(CommonOrderCodeService.ORDER_CODE_SERIAL_NUMBER)+" ");
sb.append(" WHERE 1=1 ");
sb.append(" AND TASK_TYPE='"+parameter.get(CommonOrderCodeService.ORDER_CODE_TASK_TYPE)+"' ");
sb.append(" AND SYS_DATE=TO_DATE('"+parameter.get(CommonOrderCodeService.ORDER_CODE_SYS_DATE)+"','yyyy-MM-dd') ");
logger.info("updateOrderCode : "+sb.toString());
this.insetOrUpdate(sb.toString());
}
/**
* 查询编码
* @param parameter 参数
* @return
*/
public Map<String,Object> queryOrderCode(Map<String,Object> parameter){
StringBuffer sb = new StringBuffer();
sb.append(" SELECT BS.TASK_TYPE,TO_CHAR(BS.SYS_DATE,'YYYY-MM-DD') AS SYS_DATE,(BS.SERIAL_NUMBER+1) AS SERIAL_NUMBER FROM BASE_SEQUENCE BS WHERE 1=1 ");
sb.append(" AND BS.TASK_TYPE = '"+parameter.get(CommonOrderCodeService.ORDER_CODE_TASK_TYPE)+"' ");
sb.append(" AND BS.SYS_DATE = TO_DATE('"+parameter.get(CommonOrderCodeService.ORDER_CODE_SYS_DATE)+"','yyyy-MM-dd') ");
List<Map<String,Object>> ls = this.queryForList(sb.toString());
if(ls.size()>0)return ls.get(0);
return null;
}
/**
* 查询编码 --前缀--省份缩写
* @param parameter 参数
* @return
*/
public String queryProvinceShort(Map<String,Object> parameter){
StringBuffer sb = new StringBuffer();
sb.append(" SELECT BR.REGIONCODE FROM BASE_REGION BR WHERE 1=1 ");
sb.append(" AND BR.REGIONID = SUBSTR('"+parameter.get(CommonOrderCodeService.ORDER_CODE_REGION_ID)+"',0,2)||'0000' ");
logger.info(sb);
return this.queryForString(sb.toString());
}
}