package com.topsun.posclient.sales.service; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.math.BigDecimal; import java.util.ArrayList; import java.util.Date; import java.util.List; import javax.xml.bind.JAXBContext; import javax.xml.bind.JAXBException; import javax.xml.bind.Marshaller; import junit.framework.TestCase; import com.topsun.posclient.common.LocalDataProcessor; import com.topsun.posclient.datamodel.Retail; import com.topsun.posclient.datamodel.RetailM; import com.topsun.posclient.datamodel.RetailMP; import com.topsun.posclient.datamodel.RetailP; import com.topsun.posclient.datamodel.dto.RetailDTO; import com.topsun.posclient.sales.core.service.IPartSaleService; import com.topsun.posclient.sales.core.service.impl.PartSaleServiceImpl; /** * @author Dong * */ public class PartSaleServiceTest extends TestCase { IPartSaleService saleService = new PartSaleServiceImpl(); LocalDataProcessor localProcessor = new LocalDataProcessor(); public void testApplyPromotion(){ RetailDTO retailDTO = getData(); for(Retail retail : retailDTO.getRetailList()){ for(RetailM rmm : retail.getRetailMList()){ System.out.println(rmm.getItemCode()+"打折之前的零售价为:"+rmm.getSalesAmount()); } // try { // retail = saleService.applyPromotion(retail); // // } catch (POSException e) { // e.printStackTrace(); // } for(RetailM rmm : retail.getRetailMList()){ System.out.println(); System.out.println(rmm.getPromotionID()); System.out.println(rmm.getPromotionName()); System.out.println(); System.out.println(rmm.getItemCode()+"打折之后的实售价为:"+rmm.getFactAmount()); } } } public void aaaa(){ RetailDTO retailDTO = getData(); File file = new File("D:\\data_PartSales_"+ System.currentTimeMillis() + ".xml"); try { if (!file.exists()) { file.createNewFile(); } FileOutputStream fos = new FileOutputStream(file.getAbsoluteFile()); JAXBContext context = JAXBContext.newInstance(retailDTO.getClass()); Marshaller marshaller = context.createMarshaller(); marshaller.setProperty(Marshaller.JAXB_ENCODING, "UTF-8"); marshaller.marshal(retailDTO, fos); } catch (JAXBException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } String content = localProcessor.getDataFileContent(file); System.out.println(content); } public RetailDTO getData(){ RetailP retailP1 = new RetailP(); retailP1.setID(1); retailP1.setDocNum("1010101"); RetailP retailP2 = new RetailP(); retailP2.setID(2); retailP2.setDocNum("1010101"); RetailMP retailMP1 = new RetailMP(); retailMP1.setID(1); retailMP1.setDocNum("1010101"); RetailMP retailMP2 = new RetailMP(); retailMP2.setID(2); retailMP2.setDocNum("1010101"); RetailM retailM1 = new RetailM(); retailM1.setID(1); retailM1.setDocNum("1010101"); retailM1.setItemId(1); retailM1.setItemCode("0201"); retailM1.setItemType("0303"); retailM1.setSalesAmount(new BigDecimal(6000)); retailM1.setFactAmount(new BigDecimal(6000)); retailM1.setPromotionID(""); retailM1.setPromotionName(""); retailM1.setMATNR("101010"); RetailM retailM2 = new RetailM(); retailM2.setID(2); retailM2.setDocNum("1010101"); retailM2.setItemId(1); retailM2.setItemCode("0202"); retailM2.setItemType("0303"); retailM2.setSalesAmount(new BigDecimal(4000)); retailM2.setFactAmount(new BigDecimal(4000)); retailM2.setPromotionID(""); retailM2.setPromotionName(""); retailM2.setMATNR("101012"); List<RetailM> retailMList = new ArrayList<RetailM>(); retailMList.add(retailM1); retailMList.add(retailM2); List<RetailMP> retailMPList = new ArrayList<RetailMP>(); retailMPList.add(retailMP1); retailMPList.add(retailMP2); List<RetailP> retailPList = new ArrayList<RetailP>(); retailPList.add(retailP1); retailPList.add(retailP2); List<Retail> retailList = new ArrayList<Retail>(); Retail retail1 = new Retail(); retail1.setID(1); retail1.setDocNum("1010101"); retail1.setAccountData(new Date()); retail1.setRetailMList(retailMList); retail1.setRetailMPList(retailMPList); retail1.setRetailPList(retailPList); retailList.add(retail1); RetailDTO retailDTO = new RetailDTO(); retailDTO.setRetailList(retailList); return retailDTO; } }