| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502 |
- package cn.com.goldenwater.dcproj.service.impl;
- import cn.com.goldenwater.core.service.AbstractCrudService;
- import cn.com.goldenwater.dcproj.constValue.FlkdisProbleDealEnum;
- import cn.com.goldenwater.dcproj.constValue.FlkdisProbleTypeEnum;
- import cn.com.goldenwater.dcproj.dao.*;
- import cn.com.goldenwater.dcproj.dto.ExcelInspRsDto;
- import cn.com.goldenwater.dcproj.model.*;
- import cn.com.goldenwater.dcproj.param.AttAdXBaseParam;
- import cn.com.goldenwater.dcproj.param.ImpRsInfoParam;
- import cn.com.goldenwater.dcproj.service.AttAdXBaseService;
- import cn.com.goldenwater.dcproj.service.ImpXJFlkdisInfoService;
- import cn.com.goldenwater.dcproj.utils.GeoUtil;
- import cn.com.goldenwater.id.util.UuidUtil;
- import org.apache.commons.lang3.StringUtils;
- import org.apache.poi.xssf.usermodel.XSSFRow;
- import org.apache.poi.xssf.usermodel.XSSFSheet;
- import org.apache.poi.xssf.usermodel.XSSFWorkbook;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.stereotype.Service;
- import org.springframework.transaction.annotation.Transactional;
- import org.springframework.web.multipart.MultipartFile;
- import java.io.File;
- import java.io.FileInputStream;
- import java.io.IOException;
- import java.io.InputStream;
- import java.util.*;
- /**
- * @author lune
- * @date 2019-7-23
- */
- @Service
- @Transactional
- public class ImpXJFlkdisInfoServiceImpl extends AbstractCrudService<ImpRsInfo, ImpRsInfoParam> implements ImpXJFlkdisInfoService {
- @Autowired
- private ImpRsInfoDao impRsInfoDao;
- @Autowired
- private AttJskejianFlkdisBaseDao jskejianFlkdisBaseDao;
- @Autowired
- private AttAdXBaseService attAdXBaseService;
- public ImpXJFlkdisInfoServiceImpl(ImpRsInfoDao impRsInfoDao) {
- super(impRsInfoDao);
- this.impRsInfoDao = impRsInfoDao;
- }
- // @Override
- // public String insertFlkdisList(MultipartFile file) {
- // List<ExcelInspRsDto> rsvrObjList=new ArrayList<>();
- // InputStream is = null;
- // try {
- // is = file.getInputStream();
- // // 构造 XSSFWorkbook 对象,strPath 传入文件路径
- // XSSFWorkbook xwb = new XSSFWorkbook(is);
- // // 读取第一章表格内容
- // XSSFSheet sheet = xwb.getSheetAt(1);
- // // 定义 row、cell
- // XSSFRow row;
- // String cell;
- // for (int i = sheet.getFirstRowNum()+3; i < sheet.getPhysicalNumberOfRows(); i++) {
- //
- // row = sheet.getRow(i);
- // ExcelInspRsDto rsvrObj = new ExcelInspRsDto();
- // int total = row.getPhysicalNumberOfCells();
- // AttJskejianFlkdisBase jskejianFlkdisBase = new AttJskejianFlkdisBase();
- // String shi="";
- // String xian="";
- // String lkName="";
- // String cun="";
- // String jdu="";
- // String jfen="";
- // String jm="";
- // String wdu="";
- // String wfen="";
- // String wm="";
- // String xianz="";
- // String xiangz="";
- // String cunz="";
- // String pblmdesc="";
- // String pblmType="";
- // String zhan="";
- // String cai="";
- // String dui="";
- // String jian="";
- // String qita="";
- // String xiao="";
- // for (int j = row.getFirstCellNum(); j < total; j++) {
- // if(row.getCell(j)==null){
- // continue;
- // }
- // cell = row.getCell(j).toString();
- // cell = cell.trim();
- // if(j==1){
- // shi = cell;
- // }else if(j==2){
- // xian = cell;
- // }else if(j==3){
- // lkName = cell;
- // }else if(j==4){
- // cun = cell;
- // }else if(j==5){
- // jdu = cell;
- // }else if(j==6){
- // jfen = cell;
- // }else if(j==7){
- // jm = cell;
- // }else if(j==8){
- // wdu = cell;
- // }else if(j==9){
- // wfen = cell;
- // }else if(j==10){
- // wm = cell;
- // }else if(j==11){
- // xianz = cell;
- // }else if(j==12){
- // xiangz = cell;
- // }else if(j==13){
- // cunz = cell;
- // }else if(j==14){
- // pblmdesc = cell;
- // }else if(j==15){
- // zhan = cell;
- // if(StringUtils.isNotBlank(cell)) {
- // pblmType="1";
- // }
- // }else if(j==16){
- // cai = cell;
- // if(StringUtils.isNotBlank(cell)) {
- // pblmType="2";
- // }
- // }else if(j==17){
- // dui = cell;
- // if(StringUtils.isNotBlank(cell)) {
- // pblmType="3";
- // }
- // }else if(j==18){
- // jian = cell;
- // if(StringUtils.isNotBlank(cell)) {
- // pblmType="4";
- // }
- // }else if(j==19){
- // qita = cell;
- // if(StringUtils.isNotBlank(cell)) {
- // pblmType="5";
- // }
- // }else if(j==20){
- // xiao = cell;
- // if(xiao.contains(".")){
- // xiao = xiao.substring(0,xiao.indexOf("."));
- // }
- // }
- // }
- // jskejianFlkdisBase.setId(UuidUtil.uuid());
- // String name = lkName + "("+shi+xian+cun+")";
- // jskejianFlkdisBase.setName(name);
- // String adCode = getAdCd("福建省",shi,xian);
- // jskejianFlkdisBase.setAdCode(adCode);
- // jskejianFlkdisBase.setAdName(xian);
- // jskejianFlkdisBase.setRvReaLkName(lkName);
- // jskejianFlkdisBase.setLocation(cun);
- // jskejianFlkdisBase.setContRvonNameDuty(xianz);
- // jskejianFlkdisBase.setTownRvonNameDuty(xiangz);
- // jskejianFlkdisBase.setVilgRvonNameDuty(cunz);
- // jskejianFlkdisBase.setPblmDesc(pblmdesc);
- // jskejianFlkdisBase.setPblmType(pblmType);
- // jskejianFlkdisBase.setRectConc(xiao);
- // double d = 0.0;
- // double f = 0.0;
- // double m = 0.0;
- // if(StringUtils.isNotBlank(jdu)) {
- // d = Double.parseDouble(jdu);
- // }
- // if(StringUtils.isNotBlank(jfen)) {
- // f = Double.parseDouble(jfen);
- // }
- // if(StringUtils.isNotBlank(jm)) {
- // m = Double.parseDouble(jm);
- // }
- // double fen = f + (m / 60);
- // double du = (fen / 60) + Math.abs(d);
- // if (d < 0) {
- // du = -du;
- // }
- // jskejianFlkdisBase.setCenterX(Double.parseDouble(String.format("%.8f", du)));
- // d = 0.0;
- // f = 0.0;
- // m = 0.0;
- // if(StringUtils.isNotBlank(wdu)) {
- // d = Double.parseDouble(wdu);
- // }
- // if(StringUtils.isNotBlank(wfen)) {
- // f = Double.parseDouble(wfen);
- // }
- // if(StringUtils.isNotBlank(wm)) {
- // m = Double.parseDouble(wm);
- // }
- // fen = f + (m / 60);
- // du = (fen / 60) + Math.abs(d);
- // if (d < 0) {
- // du = -du;
- // }
- // jskejianFlkdisBase.setCenterY(Double.parseDouble(String.format("%.8f", du)));
- // Map<String, Double> map = GeoUtil.wgs84togcj02(jskejianFlkdisBase.getCenterX(),jskejianFlkdisBase.getCenterY());
- // jskejianFlkdisBase.setGdX(map.get("lon"));
- // jskejianFlkdisBase.setGdY(map.get("lat"));
- // jskejianFlkdisBaseDao.insert(jskejianFlkdisBase);
- // }
- // } catch (Exception e) {
- // e.printStackTrace();
- // }
- // return null;
- // }
- @Override
- public String insertFlkdisList(MultipartFile file,String persId) {
- List<ExcelInspRsDto> rsvrObjList=new ArrayList<>();
- InputStream is = null;
- try {
- // 判断文件是否存在
- is = file.getInputStream();
- // 构造 XSSFWorkbook 对象,strPath 传入文件路径
- XSSFWorkbook xwb = new XSSFWorkbook(is);
- // 读取第一章表格内容
- XSSFSheet sheet = xwb.getSheetAt(0);
- // 定义 row、cell
- XSSFRow row;
- String cell;
- for (int i = sheet.getFirstRowNum()+2; i < sheet.getPhysicalNumberOfRows(); i++) {
- row = sheet.getRow(i);
- ExcelInspRsDto rsvrObj = new ExcelInspRsDto();
- int total = row.getPhysicalNumberOfCells();
- AttJskejianFlkdisBase jskejianFlkdisBase = new AttJskejianFlkdisBase();
- String name="";
- String river="";
- String adname="";
- String adcode="";
- String loc="";
- String xianz="";
- String xiangz="";
- String cunz="";
- String pblmdesc="";
- String pblmType="";
- String xiao="";
- String jd="";
- String wd="";
- for (int j = row.getFirstCellNum(); j < total; j++) {
- if(row.getCell(j)==null){
- continue;
- }
- cell = row.getCell(j).toString();
- cell = cell.trim();
- if(j==1){
- name = cell;
- }else if(j==2){
- river = cell;
- }else if(j==3){
- adcode = cell;
- }else if(j==4){
- adname = cell;
- }else if(j==5){
- loc = cell;
- }else if(j==6){
- jd = cell;
- }else if(j==7){
- wd = cell;
- }else if(j==8){
- xianz = cell;
- }else if(j==9){
- xiangz = cell;
- }else if(j==10){
- cunz = cell;
- }else if(j==11){
- pblmType = getFlkdisProblemNumByProblemName(cell);
- }else if(j==12){
- pblmdesc = cell;
- }else if(j==13){
- xiao = getFlkdisDealNumByDealName(cell);
- }
- }
- jskejianFlkdisBase.setId(UuidUtil.uuid());
- // String name = lkName + "("+shi+xian+cun+")";
- jskejianFlkdisBase.setName(name);
- // String adCode = getAdCd("福建省",shi,xian);
- jskejianFlkdisBase.setAdCode(adcode);
- jskejianFlkdisBase.setAdName(adname);
- jskejianFlkdisBase.setRvReaLkName(river);
- jskejianFlkdisBase.setLocation(loc);
- jskejianFlkdisBase.setContRvonNameDuty(xianz);
- jskejianFlkdisBase.setTownRvonNameDuty(xiangz);
- jskejianFlkdisBase.setVilgRvonNameDuty(cunz);
- jskejianFlkdisBase.setPblmDesc(pblmdesc);
- jskejianFlkdisBase.setPblmType(pblmType);
- jskejianFlkdisBase.setRectConc(xiao);
- jskejianFlkdisBase.setPersId(persId);
- jskejianFlkdisBase.setCenterX(Double.parseDouble(jd));
- jskejianFlkdisBase.setCenterY(Double.parseDouble(wd));
- Map<String, Double> map = GeoUtil.wgs84togcj02(jskejianFlkdisBase.getCenterX(),jskejianFlkdisBase.getCenterY());
- jskejianFlkdisBase.setGdX(map.get("lon"));
- jskejianFlkdisBase.setGdY(map.get("lat"));
- jskejianFlkdisBase.setIntm(new Date());
- jskejianFlkdisBase.setUptm(new Date());
- jskejianFlkdisBaseDao.insert(jskejianFlkdisBase);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- @Override
- public String insertFlkdisListTest(String filepath,String persId) {
- List<ExcelInspRsDto> rsvrObjList=new ArrayList<>();
- FileInputStream is = null;
- try {
- // 判断文件是否存在
- File file = isExist(filepath);
- is = new FileInputStream(file);
- // 构造 XSSFWorkbook 对象,strPath 传入文件路径
- XSSFWorkbook xwb = new XSSFWorkbook(is);
- // 读取第一章表格内容
- XSSFSheet sheet = xwb.getSheetAt(0);
- // 定义 row、cell
- XSSFRow row;
- String cell;
- System.out.println(sheet.getPhysicalNumberOfRows());
- System.out.println(sheet.getFirstRowNum());
- for (int i = sheet.getFirstRowNum()+2; i < sheet.getPhysicalNumberOfRows(); i++) {
- row = sheet.getRow(i);
- ExcelInspRsDto rsvrObj = new ExcelInspRsDto();
- int total = row.getPhysicalNumberOfCells();
- AttJskejianFlkdisBase jskejianFlkdisBase = new AttJskejianFlkdisBase();
- String name="";
- String river="";
- String adname="";
- String adcode="";
- String loc="";
- String xianz="";
- String xiangz="";
- String cunz="";
- String pblmdesc="";
- String pblmType="";
- String xiao="";
- String jd="";
- String wd="";
- for (int j = row.getFirstCellNum(); j < total; j++) {
- if(row.getCell(j)==null){
- continue;
- }
- cell = row.getCell(j).toString();
- cell = cell.trim();
- if(j==1){
- name = cell;
- }else if(j==2){
- river = cell;
- }else if(j==3){
- adcode = cell;
- }else if(j==4){
- adname = cell;
- }else if(j==5){
- loc = cell;
- }else if(j==6){
- jd = cell;
- }else if(j==7){
- wd = cell;
- }else if(j==8){
- xianz = cell;
- }else if(j==9){
- xiangz = cell;
- }else if(j==10){
- cunz = cell;
- }else if(j==11){
- pblmType = getFlkdisProblemNumByProblemName(cell);
- }else if(j==12){
- pblmdesc = cell;
- }else if(j==13){
- xiao = getFlkdisDealNumByDealName(cell);
- }
- }
- jskejianFlkdisBase.setId(UuidUtil.uuid());
- // String name = lkName + "("+shi+xian+cun+")";
- jskejianFlkdisBase.setName(name);
- // String adCode = getAdCd("福建省",shi,xian);
- jskejianFlkdisBase.setAdCode(adcode);
- jskejianFlkdisBase.setAdName(adname);
- jskejianFlkdisBase.setRvReaLkName(river);
- jskejianFlkdisBase.setLocation(loc);
- jskejianFlkdisBase.setContRvonNameDuty(xianz);
- jskejianFlkdisBase.setTownRvonNameDuty(xiangz);
- jskejianFlkdisBase.setVilgRvonNameDuty(cunz);
- jskejianFlkdisBase.setPblmDesc(pblmdesc);
- jskejianFlkdisBase.setPblmType(pblmType);
- jskejianFlkdisBase.setRectConc(xiao);
- jskejianFlkdisBase.setPersId(persId);
- jskejianFlkdisBase.setCenterX(Double.parseDouble(jd));
- jskejianFlkdisBase.setCenterY(Double.parseDouble(wd));
- Map<String, Double> map = GeoUtil.wgs84togcj02(jskejianFlkdisBase.getCenterX(),jskejianFlkdisBase.getCenterY());
- jskejianFlkdisBase.setGdX(map.get("lon"));
- jskejianFlkdisBase.setGdY(map.get("lat"));
- jskejianFlkdisBase.setIntm(new Date());
- jskejianFlkdisBase.setUptm(new Date());
- jskejianFlkdisBaseDao.insert(jskejianFlkdisBase);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return null;
- }
- public String getFlkdisProblemNumByProblemName(String ProblemName){
- FlkdisProbleTypeEnum flkdisProbleTypeEnum = FlkdisProbleTypeEnum.getEnumByProbNum(ProblemName);
- if(flkdisProbleTypeEnum == null){
- return "填写有误!";
- }
- return flkdisProbleTypeEnum.getProblemnum();
- }
- public String getFlkdisDealNumByDealName(String DealName){
- FlkdisProbleDealEnum flkdisProbleDealEnum = FlkdisProbleDealEnum.getEnumByDealName(DealName);
- if(flkdisProbleDealEnum == null){
- return "填写有误!";
- }
- return flkdisProbleDealEnum.getDealmnum();
- }
- public String getAdCd(String sheng,String shi, String xian){
- String adCd = "";
- AttAdXBaseParam attAdXBaseParam = new AttAdXBaseParam();
- AttAdXBase attAdXBase;
- if(StringUtils.isNotBlank(sheng)){
- attAdXBaseParam.setAdName(sheng);
- attAdXBaseParam.setAdGrad("2");
- attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
- if(attAdXBase!=null){
- String shengCode = attAdXBase.getAdCode();
- attAdXBaseParam.setAdFcode(shengCode);
- adCd = shengCode;
- }else {
- attAdXBaseParam.setAdName("");
- attAdXBaseParam.setAdFullName(sheng);
- attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
- if(attAdXBase!=null){
- String shengCode = attAdXBase.getAdCode();
- attAdXBaseParam.setAdFcode(shengCode);
- adCd = shengCode;
- }
- }
- }
- if(StringUtils.isNotBlank(shi)){
- attAdXBaseParam.setAdName(shi);
- attAdXBaseParam.setAdGrad("3");
- attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
- if(attAdXBase!=null){
- String shiCode = attAdXBase.getAdCode();
- attAdXBaseParam.setAdFcode(shiCode);
- adCd = shiCode;
- }else {
- attAdXBaseParam.setAdName("");
- attAdXBaseParam.setAdFullName(shi);
- attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
- if(attAdXBase!=null){
- String shiCode = attAdXBase.getAdCode();
- attAdXBaseParam.setAdFcode(shiCode);
- adCd = shiCode;
- }
- }
- }
- if(StringUtils.isNotBlank(xian)){
- attAdXBaseParam.setAdName(xian);
- attAdXBaseParam.setAdGrad("4");
- attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
- if(attAdXBase!=null){
- adCd = attAdXBase.getAdCode();
- }else{
- attAdXBaseParam.setAdName("");
- attAdXBaseParam.setAdFullName(xian);
- attAdXBase = attAdXBaseService.getBy(attAdXBaseParam);
- if(attAdXBase!=null){
- adCd = attAdXBase.getAdCode();
- }
- }
- }
- return adCd;
- }
- /**
- * 功能:判断文件是否存在
- */
- public static File isExist(String originUrl) throws IOException {
- // 判断文件是否存在
- File file = new File(originUrl);
- if (!file.exists()) {
- throw new IOException("文件名为" + file.getName() + "Excel文件不存在!");
- }
- return file;
- }
- }
|