public void copyCardTemp(Map dataMap,String id) throws Exception {
String idCondition = TbDpTemplate.TEMPLATE_ID.toSqlEQ(id);
Map tempMap = BizDB.getOneRowAsMap(TbDpTemplate.TABLE, idCondition);
Connection conn = BizDB.getConn() ;
try {
//复制模板
String condition = TbDpTemplate.TEMPLATE_NO.toSqlEQ(dataMap.get(TbDpTemplate.TEMPLATE_NO.name));
Integer count = BizDB.getCount(TbDpTemplate.TABLE, condition);
if (count > 0)
{
throw new Exception("卡模板号已经存在");
}
long templateId = SequenceGen.getInstance().nextValue(TbDpTemplate.TABLE);
dataMap.put(TbDpTemplate.TEMPLATE_ID.name, templateId);
dataMap.put(TbDpTemplate.CREATE_DATE.name, new Date());
dataMap.put(TbDpTemplate.BANK_ID.name, Constants.FLAG_PUBDATA_ORG);
try
{
BizDB.insert(conn,TbDpTemplate.TABLE, dataMap);
} catch (Exception e)
{
LogProcess.error(this.getClass(), "复制卡模板错误信息-" + e.getMessage());
throw new Exception("卡模板复制出错:"+e.getMessage());
}
//复制模板对应的数据项
try
{
//查出该模板对应的应用list
String appList = tempMap.get(TbDpTemplate.APP_LIST.name).toString();
String []listTemp = appList.split(",");
for(int i=0;i<listTemp.length;i++)
{
//查数据项表中apptype对应该模板应用的所有记录
String typeCondition = TbDpTempDateApp.APP_TYPE.toSqlEQ(listTemp[i]);
String tempIdCondition = TbDpTempDateApp.TEMPLATE_ID.toSqlEQ(id);
String addCondition = typeCondition+" and "+tempIdCondition;
List itemList = BizDB.searchAsMapList(TbDpTempDateApp.TABLE, addCondition);
for (Iterator iter = itemList.iterator(); iter.hasNext();)
{
long itemId = SequenceGen.getInstance().nextValue(TbDpTempDateApp.TABLE);
//组装数据项map