LsylbServiceImpl.java 8.3 KB
package com.bsth.service.oil.impl;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.text.DecimalFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.Date;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import javax.transaction.Transactional;

import org.apache.commons.lang3.StringEscapeUtils;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.bsth.common.ResponseCode;
import com.bsth.data.BasicData;
import com.bsth.entity.Cars;
import com.bsth.entity.Line;
import com.bsth.entity.mcy_forms.Daily;
import com.bsth.entity.oil.Cyl;
import com.bsth.entity.oil.Dlb;
import com.bsth.entity.oil.Lsylb;
import com.bsth.entity.oil.Nylog;
import com.bsth.entity.oil.Ylb;
import com.bsth.entity.oil.Ylxxb;
import com.bsth.entity.search.CustomerSpecs;
import com.bsth.entity.sys.SysUser;
import com.bsth.repository.CarsRepository;
import com.bsth.repository.LineRepository;
import com.bsth.repository.oil.CylRepository;
import com.bsth.repository.oil.DlbRepository;
import com.bsth.repository.oil.LsylbRepository;
import com.bsth.repository.oil.NylogRepository;
import com.bsth.repository.oil.YlbRepository;
import com.bsth.repository.oil.YlxxbRepository;
import com.bsth.security.util.SecurityUtils;
import com.bsth.service.impl.BaseServiceImpl;
import com.bsth.service.oil.DlbService;
import com.bsth.service.oil.LsylbService;
import com.bsth.service.oil.YlbService;
import com.bsth.service.realcontrol.ScheduleRealInfoService;
import com.bsth.util.Arith;
import com.bsth.util.BatchSaveUtils;
import com.bsth.util.ReportUtils;
import com.github.abel533.echarts.code.Y;

import javassist.bytecode.stackmap.BasicBlock.Catch;

@Service
public class LsylbServiceImpl extends BaseServiceImpl<Lsylb,Integer> implements LsylbService{
	@Autowired
	LsylbRepository repository;
	@Override
	public List<Lsylb> listYlb(Map<String, Object> map) {
		// TODO Auto-generated method stub
		List<Lsylb> listYlb=new ArrayList<Lsylb>();
		List<String> stringList=new ArrayList<String>();
		String rq=map.get("rq").toString();
		String gsbm=map.get("ssgsdm_like").toString();
		String fgsbm=map.get("fgsdm_like").toString();
		String xlbm=map.get("xlbm_like").toString().trim();
		String nbbm=map.get("nbbm_eq").toString();
		String sxtj=map.get("sxtj").toString();
		int nylx=Integer.parseInt(map.get("nylx").toString());
		if(nbbm.trim()!=""){
			stringList.add(nbbm);
			List<Object[]> objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm,nbbm,nylx);
			if(objectLists.size()>0){
				int cs=Integer.parseInt(objectLists.get(0)[1].toString());
				if(sxtj.equals("1")){
					if(cs==1){
						listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm,nylx, stringList);
					}
				}else if(sxtj.equals("2")){
					if(cs>1){
						listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm,nylx, stringList);
					}
				}else{
					listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm,nylx, stringList);
				}
			}
			
		}else{
			//全部
			if(sxtj.equals("0")){
				List<Object[]> objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm,nbbm,nylx);
				for (int i = 0; i < objectLists.size(); i++) {
					String clbm=objectLists.get(i)[0].toString();
					stringList.add(clbm);
				}
				if(stringList.size()>0){
					listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm,nylx, stringList);
				}
			}else{
				List<Object[]> objectLists;
				if(sxtj.equals("3")){
					//有加油没里程
					objectLists=repository.checkNbmmYl(rq, gsbm, fgsbm, xlbm, nbbm,nylx);
					for (int i = 0; i < objectLists.size(); i++) {
						String clbm=objectLists.get(i)[0].toString();
						double jzl=Double.parseDouble(objectLists.get(i)[1].toString());
						double zlc=Double.parseDouble(objectLists.get(i)[2].toString());
						if(jzl>0 && zlc<=0){
							stringList.add(clbm);
						}
						
					}
					
				}else if(sxtj.equals("4")){
					//有里程没加油
					objectLists=repository.checkNbmmYl(rq, gsbm, fgsbm, xlbm, nbbm,nylx);
					for (int i = 0; i < objectLists.size(); i++) {
						String clbm=objectLists.get(i)[0].toString();
						double jzl=Double.parseDouble(objectLists.get(i)[1].toString());
						double zlc=Double.parseDouble(objectLists.get(i)[2].toString());
						if(zlc>0 && jzl<=0){
							stringList.add(clbm);
						}
						
					}
				}else{
					objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm,nbbm,nylx);
					for (int i = 0; i < objectLists.size(); i++) {
						String clbm=objectLists.get(i)[0].toString();
						int cs=Integer.parseInt(objectLists.get(i)[1].toString());
						//一车一单
						if(sxtj.equals("1")){
							if(cs==1){
								stringList.add(clbm);
							}
						}	
						//一车多单
						if(sxtj.equals("2")){
							if(cs>1){
								stringList.add(clbm);
							}
						}
					}
				}
				
				if(stringList.size()>0){
					listYlb=repository.listYlb(rq, gsbm, fgsbm, xlbm,nylx, stringList);
				}
			}
		}

		return listYlb;
	}
	
	
	@Override
	public Map<String, Object> sumYlb(Map<String, Object> map) {
		// TODO Auto-generated method stub
		List<String> stringList=new ArrayList<String>();
		String rq=map.get("rq").toString();
		String gsbm=map.get("ssgsdm_like").toString();
		String fgsbm=map.get("fgsdm_like").toString();
		String xlbm=map.get("xlbm_like").toString().trim();
		String nbbm=map.get("nbbm_eq").toString();
		String sxtj=map.get("sxtj").toString();
		int nylx=Integer.parseInt(map.get("nylx").toString());
		if(nbbm.trim()!=""){
			stringList.add(nbbm);
		}else{
			if(!sxtj.equals("0")){
				List<Object[]> objectLists;
				if(sxtj.equals("3")){
					//有加油没里程
					objectLists=repository.checkNbmmYl(rq, gsbm, fgsbm, xlbm, nbbm,nylx);
					for (int i = 0; i < objectLists.size(); i++) {
						String clbm=objectLists.get(i)[0].toString();
						double jzl=Double.parseDouble(objectLists.get(i)[1].toString());
						double zlc=Double.parseDouble(objectLists.get(i)[2].toString());
						if(jzl>0 && zlc<=0){
							stringList.add(clbm);
						}
						
					}
					
				}else if(sxtj.equals("4")){
					//有里程没加油
					objectLists=repository.checkNbmmYl(rq, gsbm, fgsbm, xlbm, nbbm,nylx);
					for (int i = 0; i < objectLists.size(); i++) {
						String clbm=objectLists.get(i)[0].toString();
						double jzl=Double.parseDouble(objectLists.get(i)[1].toString());
						double zlc=Double.parseDouble(objectLists.get(i)[2].toString());
						if(zlc>0 && jzl<=0){
							stringList.add(clbm);
						}
						
					}
				}else{
					objectLists=repository.checkNbmmNum(rq, gsbm, fgsbm, xlbm,nbbm,nylx);
					for (int i = 0; i < objectLists.size(); i++) {
						String clbm=objectLists.get(i)[0].toString();
						int cs=Integer.parseInt(objectLists.get(i)[1].toString());
						//一车一单
					
						if(sxtj.equals("1")){
							if(cs==1){
								stringList.add(clbm);
							}
						}
						//一车多单
						if(sxtj.equals("2")){
							if(cs>1){
								stringList.add(clbm);
							}
						}
					}
				}
			}
		}
		List<Object[]> sumYlbList=new ArrayList<Object[]>();
		if(sxtj.equals("0")){
			sumYlbList=repository.sumYlb2(rq, gsbm, fgsbm, xlbm,nbbm,nylx);
		}else{
			if(stringList.size()>0){
				
				sumYlbList=repository.sumYlb(rq, gsbm, fgsbm, xlbm, stringList,nylx);
			}
			
		}
		
		Double jzl=0.0,yh=0.0,sh=0.0; 
		for (int i = 0; i < sumYlbList.size(); i++) {
			jzl = Arith.add(jzl, Double.valueOf(sumYlbList.get(i)[0].toString()));
			yh = Arith.add(yh, Double.valueOf(sumYlbList.get(i)[1].toString()));
			sh = Arith.add(sh, Double.valueOf(sumYlbList.get(i)[2].toString()));
		}
		
		Map<String, Object> sumMap=new HashMap<String,Object>();
		sumMap.put("jzl", jzl);
		sumMap.put("yh", yh);
		sumMap.put("sh", sh);
		return sumMap;
	}
}