CalcWaybillController.java 10.7 KB
package com.bsth.controller.calc;

import com.bsth.common.ResponseCode;
import com.bsth.controller.BaseController;
import com.bsth.entity.calc.CalcStatistics;
import com.bsth.entity.calc.CalcWaybill;
import com.bsth.service.calc.CalcWaybillService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * Created by 17/10/23.
 */
@RestController
@RequestMapping("calcWaybill")
public class CalcWaybillController extends BaseController<CalcWaybill, Integer> {
	
	@Autowired
	private CalcWaybillService calcWaybillService;
	
	@RequestMapping(value="/generateNew")
	public Map<String, Object> generateNews(@RequestParam Map<String, Object> map) throws Exception{
		Map<String, Object> resMap = new HashMap<String, Object>();
		String date = "", date1 = "", date2 = "", line = "", key="";
		if(map.get("date")!=null){
			date=map.get("date").toString().trim();
		}
		if(map.get("date1")!=null){
			date1=map.get("date1").toString().trim();
		}
		if(map.get("date2")!=null){
			date2=map.get("date2").toString().trim();
		}
		if(map.get("line")!=null){
			line=map.get("line").toString().trim();
		}
		if(map.get("key")!=null){
			key=map.get("key").toString().trim();
		}
		
		if(date.length() > 0){
			try {
				
				if(key.length() == 0){
					resMap = calcWaybillService.generateNew(date, line);
					resMap.put("status", calcWaybillService.calcDaily(date, line));
				} else if("1".equals(key)){
					resMap = calcWaybillService.generateNew(date, line);
				} else if("2".equals(key)){
					resMap.put("status", calcWaybillService.calcDaily(date, line));
				}
				
			} catch (Exception e) {
				// TODO: handle exception
				e.printStackTrace();
				resMap.put("status", ResponseCode.ERROR);
				resMap.put("date", date);
				resMap.put("line", line);
				resMap.put("key", key);
				return resMap;
			}
			resMap.put("date", date);
			resMap.put("line", line);
			resMap.put("key", key);
		} else if(date1.length() > 0 && date2.length() > 0){
			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
			Date parse1 = sdf.parse(date1);
			Date parse2 = sdf.parse(date2);
			for(Date d = new Date(parse1.getTime());
					d.getTime() <= parse2.getTime();
					d.setTime(d.getTime() + 1l*1000*60*60*24)){
				try {
					
					if(key.length() == 0){
						resMap = calcWaybillService.generateNew(sdf.format(d), line);
						resMap.put("status", calcWaybillService.calcDaily(sdf.format(d), line));
					} else if("1".equals(key)){
						resMap = calcWaybillService.generateNew(sdf.format(d), line);
					} else if("2".equals(key)){
						resMap.put("status", calcWaybillService.calcDaily(sdf.format(d), line));
					}
					
				} catch (Exception e) {
					// TODO: handle exception
					e.printStackTrace();
					resMap.put("status", ResponseCode.ERROR);
					resMap.put("date1", date1);
					resMap.put("date2", date2);
					resMap.put("line", line);
					resMap.put("key", key);
					return resMap;
				}
			}
			resMap.put("date1", date1);
			resMap.put("date2", date2);
			resMap.put("line", line);
			resMap.put("key", key);
		}
		return resMap;
	}
	
	@RequestMapping(value="/statisticsDailyTj")
	public List<Map<String,Object>> statisticsDailyTj(@RequestParam Map<String, Object> map){
		String gsdm="";
		if(map.get("gsdm")!=null){
			gsdm=map.get("gsdm").toString().trim();
		}
		String fgsdm="";
		if(map.get("fgsdm")!=null){
			fgsdm=map.get("fgsdm").toString().trim();
		}
		String line="";
		if(map.get("line")!=null){
			line=map.get("line").toString().trim();
		}
		String date="";
		if(map.get("date")!=null){
			date=map.get("date").toString().trim();
		}
		String date2="";
		if(map.get("date2")!=null){
			date2=map.get("date2").toString().trim();
		}
		String xlName="";
		if(map.get("xlName")!=null){
			xlName=map.get("xlName").toString().trim();
		}
		String type="";
		if(map.get("type")!=null){
			type=map.get("type").toString().trim();
		}
		return calcWaybillService.statisticsDailyTj(gsdm,fgsdm,line,date,date2,xlName,type);
	}
	
	@RequestMapping(value="/generateDaliy")
	public Map<String, Object> generateDaliy(@RequestParam Map<String, Object> map) throws Exception{
		String date = "", line = "";
		if(map.containsKey("date") && map.get("date")!=null){
			date=map.get("date").toString().trim();
		}
		if(map.containsKey("line") && map.get("line")!=null){
			line=map.get("line").toString().trim();
		}
		
		Map<String, Object> m = new HashMap<String, Object>();
		m.put("date", date);
		m.put("line", line);
		try {
			
			m.put("status", calcWaybillService.calcDaily(date, line));
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			m.put("status", ResponseCode.ERROR);
			return m;
		}
		return m;
	}
	
	@RequestMapping(value="/calcStatisticsDaily")
	public List<CalcStatistics> calcStatisticsDaily(@RequestParam Map<String, Object> map){
		String gsdm="";
		if(map.get("gsdm")!=null){
			gsdm=map.get("gsdm").toString().trim();
		}
		String fgsdm="";
		if(map.get("fgsdm")!=null){
			fgsdm=map.get("fgsdm").toString().trim();
		}
		String line="";
		if(map.get("line")!=null){
			line=map.get("line").toString().trim();
		}
		String date="";
		if(map.get("date")!=null){
			date=map.get("date").toString().trim();
		}
		String date2="";
		if(map.get("date2")!=null){
			date2=map.get("date2").toString().trim();
		}
		String xlName="";
		if(map.get("xlName")!=null){
			xlName=map.get("xlName").toString().trim();
		}
		String type="";
		if(map.get("type")!=null){
			type=map.get("type").toString().trim();
		}
		String nature="0";
		if(map.get("nature")!=null){
			nature=map.get("nature").toString();
		}
		return calcWaybillService.calcStatisticsDaily(gsdm,fgsdm,line,date,date2,xlName,type,nature);
	}
	
	@RequestMapping(value="/calcStatisticsDaily2")
	public List<Map<String, Object>> calcStatisticsDaily2(@RequestParam Map<String, Object> map){
		String gsdm="";
		if(map.get("gsdm")!=null){
			gsdm=map.get("gsdm").toString().trim();
		}
		String fgsdm="";
		if(map.get("fgsdm")!=null){
			fgsdm=map.get("fgsdm").toString().trim();
		}
		String line="";
		if(map.get("line")!=null){
			line=map.get("line").toString().trim();
		}
		String date="";
		if(map.get("date")!=null){
			date=map.get("date").toString().trim();
		}
		String date2="";
		if(map.get("date2")!=null){
			date2=map.get("date2").toString().trim();
		}
		String xlName="";
		if(map.get("xlName")!=null){
			xlName=map.get("xlName").toString().trim();
		}
		String type="";
		if(map.get("type")!=null){
			type=map.get("type").toString().trim();
		}
		String nature="0";
		if(map.get("nature")!=null){
			nature=map.get("nature").toString();
		}
		return calcWaybillService.calcStatisticsDaily2(gsdm,fgsdm,line,date,date2,xlName,type,nature);
	}
	
	@RequestMapping(value="/generateLineMileage")
	public Map<String, Object> generateLineMileage(@RequestParam Map<String, Object> map) throws Exception{
		Map<String, Object> m = new HashMap<String, Object>();
		String date = "", line = "";
		try {
			
			if(map.containsKey("date") && map.get("date")!=null){
				date=map.get("date").toString().trim();
			}
			if(map.containsKey("line") && map.get("line")!=null){
				line=map.get("line").toString().trim();
			}
			
			
			return calcWaybillService.calcLineMileage(date, line);
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			m.put("status", ResponseCode.ERROR);
			m.put("date", date);
			m.put("line", line);
			return m;
		}
	}

	@RequestMapping(value="/generateBusMileage")
	public Map<String, Object> generateBusMileage(@RequestParam Map<String, Object> map) throws Exception{
		Map<String, Object> m = new HashMap<String, Object>();
		String date = "", line = "";
		try {
			
			if(map.containsKey("date") && map.get("date")!=null){
				date=map.get("date").toString().trim();
			}
			if(map.containsKey("line") && map.get("line")!=null){
				line=map.get("line").toString().trim();
			}
			
			
			return calcWaybillService.calcBusMileage(date, line);
			
		} catch (Exception e) {
			// TODO: handle exception
			e.printStackTrace();
			m.put("status", ResponseCode.ERROR);
			m.put("date", date);
			m.put("line", line);
			return m;
		}
	}

	@RequestMapping(value="/getLineMileage")
	public List<Map<String, Object>> getLineMileage(@RequestParam Map<String, Object> map){
		String gsdm="";
		if(map.get("gsdm")!=null){
			gsdm=map.get("gsdm").toString().trim();
		}
		String fgsdm="";
		if(map.get("fgsdm")!=null){
			fgsdm=map.get("fgsdm").toString().trim();
		}
		String line="";
		if(map.get("line")!=null){
			line=map.get("line").toString().trim();
		}
		String date="";
		if(map.get("date")!=null){
			date=map.get("date").toString().trim();
		}
		String date2="";
		if(map.get("date2")!=null){
			date2=map.get("date2").toString().trim();
		}
		String xlName="";
		if(map.get("xlName")!=null){
			xlName=map.get("xlName").toString().trim();
		}
		String zt="";
		if(map.get("zt")!=null){
			zt=map.get("zt").toString();
		}
		String by="";
		if(map.get("by")!=null){
			by=map.get("by").toString();
		}
		String type="";
		if(map.get("type")!=null){
			type=map.get("type").toString().trim();
		}
		return calcWaybillService.getLineMileage(gsdm, fgsdm, line, date, date2, xlName, zt, by, type);
	}

	@RequestMapping(value="/getBusMileage")
	public List<Map<String, Object>> getBusMileage(@RequestParam Map<String, Object> map){
		String line="";
		if(map.get("line")!=null){
			line=map.get("line").toString().trim();
		}
		String date="";
		if(map.get("date")!=null){
			date=map.get("date").toString().trim();
		}
		String date2="";
		if(map.get("date2")!=null){
			date2=map.get("date2").toString().trim();
		}
		String xlName="";
		if(map.get("xlName")!=null){
			xlName=map.get("xlName").toString().trim();
		}
		String zt="";
		if(map.get("zt")!=null){
			zt=map.get("zt").toString();
		}
		String by="";
		if(map.get("by")!=null){
			by=map.get("by").toString();
		}
		String type="";
		if(map.get("type")!=null){
			type=map.get("type").toString().trim();
		}
		return calcWaybillService.getBusMileage(line, date, date2, xlName, zt, by, type);
	}

	@RequestMapping(value="/calcDetailMonthly")
	public List<List<String>> calcDetailMonthly(@RequestParam Map<String, Object> map){
		return calcWaybillService.calcDetailMonthly(map);
	}
}