Direct printing - prints the number of copies according to the specified number of data

/**
 * Direct printing - print the number of copies according to the specified number of data
 */
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);//Pass value by map
	}
	return result;	
}

 The parameter of printLabel.raq is 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>

 

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326352202&siteId=291194637
Recommended