直接打印-根据数据指定数量打印份数

/**
 * 直接打印-根据数据指定数量打印份数
 */
public Map printLabel(List<WmsASN> wmsAsns){
	Map result = new HashMap();
	Map<Long,String> reportValue = new HashMap<Long, String>();
	Map printNums = new HashMap(); 
	for (WmsASN wmsAsn : wmsAsns) {	
		String hql = "SELECT w.id FROM WmsASNDetail w where w.asn.id =:id";
		List<Long> ids = commonDao.findByQuery(hql, new String[]{"id"}, new Object[]{wmsAsn.getId()});
		for(Long id : ids){
			WmsASNDetail asnDetail = commonDao.load(WmsASNDetail.class, id);
			String params = ";id="+id;
			reportValue.put(id, "printLabel.raq&raqParams="+params);
			printNums.put(id, asnDetail.getLabel()==null?0:asnDetail.getLabel().intValue());
		}
	}
	if(!reportValue.isEmpty()){
		result.put(IPage.REPORT_VALUES, reportValue);
		result.put(IPage.REPORT_PRINT_NUM, printNums);//map方式传值
	}
	return result;	
}

 printLabel.raq 参数为id=?

<tableDirectPrint id="printLabel" title="printLabel" process="wmsASNProcess.print" enableType="multi" multiMapping="true" download="false" closeTransactional="false" raq="printLabel.raq">
	<enableExpression/>
	<mappings>
		<mapping id="objs" className="list">
			<entries/>
		</mapping>
	</mappings>
	<actions>
		<action managerName="wmsTclASNManager" methodName="printLabel" parameter="objs"/>
	</actions>
	<forwards/>
</tableDirectPrint>

相关推荐