| 
					
				 | 
			
			
				@@ -24,6 +24,7 @@ import org.springframework.web.bind.annotation.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import javax.annotation.Resource; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.sql.Timestamp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.text.DateFormat; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.text.ParseException; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 import java.text.SimpleDateFormat; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -287,34 +288,64 @@ public class PosMachineController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //返回结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ResultData resultData = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(stationId !=null && classStructureNo !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            logger.info("查看POS上某个班结参数信息:油站ID:"+ stationId.toString() + "班结好:"+ classStructureNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             StationClassStructure classes =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             classes.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             classes.setClassStructureNo(classStructureNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StationClassesSummary scs = new StationClassesSummary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            scs.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            scs.setClassesNo(classStructureNo); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<StationClassesSummary> stationClassesSummaryList = stationClassesSummaryService.selectStationClassesSummaryList(scs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setClassStartDate(stationClassesSummaryList.get(0).getStartDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setClassStructureDate(stationClassesSummaryList.get(0).getEndDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //总数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             classes.setGroupBy(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map<String, String>> listSum = stationClassStructureService.selectClassStructureSum(classes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //listSum 添加退款总金额  refundAmtSum 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setStatus("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            PayOrder payOrder = new PayOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            payOrder.setStatus("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            payOrder.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            payOrder.setBeginTime(dateFormat.format(stationClassesSummaryList.get(0).getStartDate())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            payOrder.setEndTime(dateFormat.format(stationClassesSummaryList.get(0).getEndDate())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<String, Object> refundAmtResult = payOrderService.selectRefundAmtSum(payOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(refundAmtResult !=null && refundAmtResult.containsKey("refundAmtSum")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                listSum.get(0).put("refundAmtSum", refundAmtResult.get("refundAmtSum").toString()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                listSum.get(0).put("refundAmtSum", "0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //按照油品名称 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             classes.setGroupBy("oilName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map<String, String>> listSumGroupByOilName = stationClassStructureService.selectClassStructureSum(classes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //按照支付方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             classes.setGroupBy("payType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map<String, String>> listSumGroupByPayType = stationClassStructureService.selectClassStructureSum(classes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //退款金额按照支付方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setGroupBy("payType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            classes.setStatus("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<Map<String, String>> listSumGroupByPayTypeRefund = stationClassStructureService.selectClassStructureSum(classes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //班结人、时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             classes.setGroupBy("timeAndMan"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map<String, String>> timeList = stationClassStructureService.selectClassStructureSum(classes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            if(timeList !=null && listSum.size() ==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                //第一次班结 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                if(timeList.get(0).get("beginTime").equals("")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    PayOrder payOrder = new PayOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    payOrder.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    payOrder.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(payOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    //没有班结过:第一次班结 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                    timeList.get(0).replace("beginTime", dateFormat.format(payOrderInfoMin.getPayDate())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-//            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //返回POS结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, Object> map = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("listSumGroupByOilName", listSumGroupByOilName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("listSum", listSum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("timeList", timeList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("listSumGroupByPayType", listSumGroupByPayType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            map.put("listSumGroupByPayTypeRefund", listSumGroupByPayTypeRefund); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultData = ResultData.success(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return gson.toJson(resultData); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -334,22 +365,20 @@ public class PosMachineController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //返回结果集 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ResultData resultData = null; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if(stationId !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            StationClassStructure classes =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            classes.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //查询出上次班结,最后一条数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            StationClassStructure sss =stationClassStructureService.selectStationClassStructureMax(classes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             String beginTime=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //当前时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Date date= new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            StationClassStructure classesStructure =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            classesStructure.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(sss != null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //获取当油站是否有班结的记录存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StationClassesSummary stationClassesSummary = new StationClassesSummary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stationClassesSummary.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<StationClassesSummary> stationClassesSummaryList = stationClassesSummaryService.selectStationClassesSummaryList(stationClassesSummary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(stationClassesSummaryList != null && stationClassesSummaryList.size() >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //班结过 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                beginTime= dateFormat.format(sss.getClassStructureDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                beginTime= dateFormat.format(stationClassesSummaryList.get(0).getEndDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 PayOrder payOrder = new PayOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                payOrder.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //payOrder.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 payOrder.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(payOrder); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //没有班结过:第一次班结 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -369,6 +398,18 @@ public class PosMachineController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             order.setGroupBy(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map> listSum = payOrderService.selectSum(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //listSum 添加退款总金额  refundAmtSum 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            order.setStatus("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Map<String, Object> refundAmtResult = payOrderService.selectRefundAmtSum(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(refundAmtResult !=null && refundAmtResult.containsKey("refundAmtSum")){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String refundAmtSum = refundAmtResult.get("refundAmtSum").toString(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                listSum.get(0).put("refundAmtSum", refundAmtSum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                listSum.get(0).put("refundAmtSum", "0.00"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //班结时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map> timeList = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, String> m = new HashMap<>(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -378,15 +419,26 @@ public class PosMachineController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //查询要班结订单总和按油品分类 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             order.setGroupBy("oilName"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            order.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map> listSumGroupByOilName = payOrderService.selectSum(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             //查询要班结订单总和按支付方式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             order.setGroupBy("payType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            order.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             List<Map> listSumGroupByPayType = payOrderService.selectSum(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //要班结订单退款金额按照支付方式汇总 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            order.setGroupBy("payType"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            order.setStatus("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<Map> listSumGroupByPayTypeRefund = payOrderService.selectSum(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //返回POS机数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             Map<String, Object> map = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("listSumGroupByOilName", listSumGroupByOilName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("listSum", listSum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("timeList", timeList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("listSumGroupByPayType", listSumGroupByPayType); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            map.put("listSumGroupByPayTypeRefund", listSumGroupByPayTypeRefund); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultData =ResultData.success(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             resultData =ResultData.error(CodeMsg.PARAMS_NUll); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -395,8 +447,6 @@ public class PosMachineController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * pos机班结 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				      * @param stationClassStructure 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -408,325 +458,139 @@ public class PosMachineController { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     public Map posClassStructure (@RequestBody StationClassStructure stationClassStructure) throws ParseException { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Map map = new HashMap(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        int i =0;       // i==1,表示班结成功; i==3,表示已班结; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         //获取当前班结油站 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Integer stationId=stationClassStructure.getStationId(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //String stationName=stationClassStructure.getStationName(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         String username = stationClassStructure.getClassStructureMan(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         logger.info("POS班结参数信息:油站ID:"+ stationId.toString() + "班结人:"+ username); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //根据油站查询出油站是否班结过,班结过就需要查询上次班结的时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        StationClassStructure classes =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        classes.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //查询出上次班结,最后一条数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        StationClassStructure sss =stationClassStructureService.selectStationClassStructureMax(classes); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String beginTime=""; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //当前时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        Date date= new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        StationClassStructure classesStructure =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        classesStructure.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //查询上次班结时间的结束时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        StationClassesSummary stationClassesSummaryParam =new StationClassesSummary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stationClassesSummaryParam.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<StationClassesSummary> stationClassesSummaryList = stationClassesSummaryService.selectStationClassesSummaryList(stationClassesSummaryParam); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //本次班结开始时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Date startDate = new Date(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PayOrder order=new PayOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        order.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //order.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //班结号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         DateFormat dFormat = new SimpleDateFormat("yyyyMMdd"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        String no=dFormat.format(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        classesStructure.setLikeClassStructureNo(no); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //查询班结信息中本日班结次数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        StationClassStructure structure =stationClassStructureService.selectDistnctClassStructure(classesStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(structure!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(structure.getNum()==0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                no = no + "0"+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                int num  = structure.getNum()+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(num>0 && num<10){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    no = no + "0"+num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    no = no +""+ num; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        int i=0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(sss!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //获取上次班结时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            PayOrder order=new PayOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            beginTime= dateFormat.format(sss.getClassStructureDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setBeginTime(beginTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setEndTime( dateFormat.format(date)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<PayOrder> list = payOrderService.selectPayOrderList(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for(PayOrder payOrder:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                StationClassStructure stationclass =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setStationId(payOrder.getStationId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setStationName(payOrder.getStationName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStartDate(dateFormat.parse(beginTime)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStructureMan(username); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStructureNo(no); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilPirce(new BigDecimal(payOrder.getOilPirce())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilType(payOrder.getOilType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStructureDate(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOrderNo(payOrder.getOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilGun(payOrder.getOilGun()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilName(payOrder.getOilName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setConsumerId(payOrder.getConsumerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setConsumer(payOrder.getConsumer()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setAmt(new BigDecimal(payOrder.getAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getReceivableAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivableAmt(new BigDecimal(payOrder.getReceivableAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivableAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getReceivedAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivedAmt(new BigDecimal(payOrder.getReceivedAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivedAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDiscountAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountAmt(new BigDecimal(payOrder.getDiscountAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDiscountCouponAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountCouponAmt(new BigDecimal(payOrder.getDiscountCouponAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountCouponAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getWxAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setWxAmt(new BigDecimal(payOrder.getWxAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setWxAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getZfbAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setZfbAmt(new BigDecimal(payOrder.getZfbAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setZfbAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getPosAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPosAmt(new BigDecimal(payOrder.getPosAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPosAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getXjAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setXjAmt(new BigDecimal(payOrder.getXjAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setXjAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDidiAppAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(new BigDecimal(payOrder.getDidiAppAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getTyAppAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(new BigDecimal(payOrder.getTyAppAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getOtherAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setOtherAmt(new BigDecimal(payOrder.getOtherAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setOtherAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDzkAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDzkAmt(new BigDecimal(payOrder.getDzkAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDzkAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getMemberAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setMemberAmt(new BigDecimal(payOrder.getMemberAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setMemberAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOrderLiters(new BigDecimal(payOrder.getOrderLiters())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setPayWay(payOrder.getPayWay()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setPayType(payOrder.getPayType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setPayDate(payOrder.getPayDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilPersonnel(payOrder.getOilPersonnel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilPersonnelId(payOrder.getOilPersonnelId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOrderType(payOrder.getOrderType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getPrintCount()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPrintNum(payOrder.getPrintCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPrintNum(Integer.valueOf("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        String no=dFormat.format(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        //判断当前油站是否有班结记录: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(stationClassesSummaryList !=null && stationClassesSummaryList.size() >0){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果有记录,则当前油站最后一次的班结时间结束时间为新班结的开始时间; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            startDate = stationClassesSummaryList.get(0).getEndDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //班结的班号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String classesNo = stationClassesSummaryList.get(0).getClassesNo(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //获取最新一笔订单的支付时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            List<PayOrder> payOrderList = payOrderService.selectPayOrderListFormater(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            Timestamp payDate = payOrderList.get(0).getPayDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(startDate.compareTo(new Date(payDate.getTime())) != -1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //如果最近一次班结时间 < 油站的最新一笔订单的支付时间,则说明已班结; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i = 3; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //开始班结 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取要班结的汇总数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                stationClassStructure.setClassStartDate(startDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                stationClassStructure.setClassStructureDate(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                stationClassStructure.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                StationClassStructure classSumResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(classSumResult !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    StationClassesSummary staClassSum =new StationClassesSummary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setStationId(stationId);            //班结站点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setClassesMan(username);            //班结人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setEndDate(new Date());             //班结结束时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setStartDate(startDate);            //班结开始时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //班结号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    String substring = classesNo.substring(0,8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(substring.equals(no)){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        String substring1 = classesNo.substring(8); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        int ii = Integer.parseInt(substring1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        ii = ii+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if(ii < 10){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            classesNo = substring + "0" + ii; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            classesNo = substring + ii; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        classesNo = no + "01"; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setClassesNo(classesNo);                    //班结号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //汇总的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setDiscountAmt(classSumResult.getDiscountAmt());        //优惠总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setAmt(classSumResult.getAmt());                        //实际支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setDzkAmt(classSumResult.getDzkAmt());                  //电子卡支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setOrderNum(classSumResult.getNum());                   //支付订单总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setPrintNum(classSumResult.getPrintNum());              //小票打印总数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setWxAmt(classSumResult.getWxAmt());                    //微信支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setZfbAmt(classSumResult.getZfbAmt());                  //支付宝支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setSaleLiters(classSumResult.getOrderLiters());         //加油总升数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setSaleAmt(classSumResult.getReceivableAmt());          //应收总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setRefundAmt(new BigDecimal("0.00"));               //退款总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    //获取退款总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    stationClassStructure.setStatus("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    StationClassStructure classSumRefundResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if(classSumRefundResult !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        staClassSum.setRefundAmt(classSumRefundResult.getAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    i=stationClassesSummaryService.insertStationClassesSummary(staClassSum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                i= stationClassStructureService.insertStationClassStructure(stationclass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //初次班结 班结时间默认为当前时间,班结人username 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //根据班结时间查询订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            PayOrder order=new PayOrder(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //获取第一个最早时间的订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //如果没有记录,则开始班结的时间为当前油站的第一笔订单的支付时间; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             PayOrder payOrderInfoMin = payOrderService.getPayOrderInfoMin(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //没有班结过:第一次班结获取第一个订单的下单时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            beginTime =dateFormat.format(payOrderInfoMin.getPayDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setBeginTime(beginTime); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            order.setEndTime(dateFormat.format(date)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            List<PayOrder> list = payOrderService.selectPayOrderList(order); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            for(PayOrder payOrder:list){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                StationClassStructure stationclass =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStartDate(payOrderInfoMin.getPayDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setStationId(payOrder.getStationId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setStationName(payOrder.getStationName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStructureMan(username); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStructureDate(date); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setClassStructureNo(no); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOrderNo(payOrder.getOrderNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilGun(payOrder.getOilGun()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilName(payOrder.getOilName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilPirce(new BigDecimal(payOrder.getOilPirce())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilType(payOrder.getOilType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setConsumerId(payOrder.getConsumerId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setConsumer(payOrder.getConsumer()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setAmt(new BigDecimal(payOrder.getAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getReceivableAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivableAmt(new BigDecimal(payOrder.getReceivableAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivableAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getReceivedAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivedAmt(new BigDecimal(payOrder.getReceivedAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setReceivedAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDiscountAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountAmt(new BigDecimal(payOrder.getDiscountAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDiscountCouponAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountCouponAmt(new BigDecimal(payOrder.getDiscountCouponAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDiscountCouponAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getWxAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setWxAmt(new BigDecimal(payOrder.getWxAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setWxAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getZfbAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setZfbAmt(new BigDecimal(payOrder.getZfbAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setZfbAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getPosAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPosAmt(new BigDecimal(payOrder.getPosAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPosAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getXjAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setXjAmt(new BigDecimal(payOrder.getXjAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setXjAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDidiAppAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(new BigDecimal(payOrder.getDidiAppAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getTyAppAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(new BigDecimal(payOrder.getTyAppAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDidiAppAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getOtherAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setOtherAmt(new BigDecimal(payOrder.getOtherAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setOtherAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getDzkAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDzkAmt(new BigDecimal(payOrder.getDzkAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setDzkAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getMemberAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setMemberAmt(new BigDecimal(payOrder.getMemberAmt())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setMemberAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getOrderLiters() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setOrderLiters(new BigDecimal(payOrder.getOrderLiters())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setOrderLiters(new BigDecimal(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setPayWay(payOrder.getPayWay()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setPayType(payOrder.getPayType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setPayDate(payOrder.getPayDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilPersonnel(payOrder.getOilPersonnel()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOilPersonnelId(payOrder.getOilPersonnelId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationclass.setOrderType(payOrder.getOrderType()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if(payOrder.getPrintCount()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPrintNum(payOrder.getPrintCount()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    stationclass.setPrintNum(Integer.valueOf("0")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                i= stationClassStructureService.insertStationClassStructure(stationclass); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(payOrderInfoMin !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取第一个最早时间的订单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                startDate = payOrderInfoMin.getPayDate(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StationClassesSummary staClassSum =new StationClassesSummary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            staClassSum.setStationId(stationId);            //班结站点 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            staClassSum.setClassesMan(username);            //班结人 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            staClassSum.setEndDate(new Date());             //班结结束时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            staClassSum.setStartDate(startDate);            //班结开始时间 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            staClassSum.setClassesNo(no+"01");              //班结号 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            //获取要班结的汇总数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stationClassStructure.setClassStartDate(startDate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stationClassStructure.setClassStructureDate(new Date()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            stationClassStructure.setStatus("1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            StationClassStructure classSumResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if(classSumResult !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //汇总的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setDiscountAmt(classSumResult.getDiscountAmt());        //优惠总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setAmt(classSumResult.getAmt());                        //实际支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setDzkAmt(classSumResult.getDzkAmt());                  //电子卡支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setOrderNum(classSumResult.getNum());                   //支付订单总数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setPrintNum(classSumResult.getPrintNum());              //小票打印总数量 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setWxAmt(classSumResult.getWxAmt());                    //微信支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setZfbAmt(classSumResult.getZfbAmt());                  //支付宝支付总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setSaleLiters(classSumResult.getOrderLiters());         //加油总升数 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setSaleAmt(classSumResult.getReceivableAmt());          //应收总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                staClassSum.setRefundAmt(new BigDecimal("0.00"));               //退款总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //获取退款总金额 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                stationClassStructure.setStatus("3"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                StationClassStructure classSumRefundResult = stationClassStructureService.selectSummyByPayOrder(stationClassStructure); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if(classSumRefundResult !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    staClassSum.setRefundAmt(classSumRefundResult.getAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                i=stationClassesSummaryService.insertStationClassesSummary(staClassSum); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        StationClassStructure scs =new StationClassStructure(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        scs.setClassStructureNo(no); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        scs.setStationId(stationId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        //汇总班结数据将汇总的数据插入到汇总数据中 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        StationClassStructure stationclass = stationClassStructureService.selectSummyClassStructure(scs); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        if(stationclass!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            StationClassesSummary stationClassesSummary =new StationClassesSummary(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            stationClassesSummary.setClassesNo(stationclass.getClassStructureNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getClassStartDate()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setStartDate(stationclass.getClassStartDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getClassStructureDate()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setEndDate(stationclass.getClassStructureDate()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            //stationClassesSummary.setStationName(stationclass.getStationName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getStationId()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setStationId(stationclass.getStationId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getNum()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setOrderNum(Integer.valueOf(stationclass.getNum())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getPrintNum()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setPrintNum(stationclass.getPrintNum()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setPrintNum(Integer.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getOrderLiters()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setSaleLiters(stationclass.getOrderLiters()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getReceivableAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setSaleAmt(stationclass.getReceivableAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getDzkAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setDzkAmt(stationclass.getDzkAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setDzkAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getZfbAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setZfbAmt(stationclass.getZfbAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setZfbAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getWxAmt()!=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setWxAmt(stationclass.getWxAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setWxAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getAmt() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setAmt(stationclass.getAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(stationclass.getDiscountAmt() !=null){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setDiscountAmt(stationclass.getDiscountAmt()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                stationClassesSummary.setDiscountAmt(BigDecimal.valueOf(0)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            stationClassesSummary.setClassesMan(stationclass.getClassStructureMan()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            i=stationClassesSummaryService.insertStationClassesSummary(stationClassesSummary); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if(i==1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                map.put("retCode","0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                map.put("msg","班结成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        }else{ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if(i == 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            map.put("retCode","0"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            map.put("msg","班结成功"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else if(i== 3){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("retCode","-1"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             map.put("msg","已班结"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            map.put("retCode","-2"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            map.put("msg","班结失败"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         return map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     } 
			 |