diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java index 2b97fdc..3d2d5fa 100644 --- a/src/main/java/com/casic/accessControl/event/manager/EventManager.java +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -5,9 +5,6 @@ import com.casic.accessControl.event.dto.EventDto; import com.casic.accessControl.task.dto.TaskDto; import com.casic.accessControl.util.DateUtils; -import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument; -import org.hibernate.Criteria; -import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -32,10 +29,7 @@ * @return */ public List getEventsByTaskId(Long taskId) { - List events = this.findBy("taskId",taskId); -// Criteria criteria = this.createCriteria(Event.class); -// criteria.add(Restrictions.eq("taskId",taskId)); -// List events = criteria.list(); + List events = this.findBy("taskId", taskId); List eventDtos = EventDto.convert2EventDtoList(events); return eventDtos; } diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java index 2b97fdc..3d2d5fa 100644 --- a/src/main/java/com/casic/accessControl/event/manager/EventManager.java +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -5,9 +5,6 @@ import com.casic.accessControl.event.dto.EventDto; import com.casic.accessControl.task.dto.TaskDto; import com.casic.accessControl.util.DateUtils; -import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument; -import org.hibernate.Criteria; -import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -32,10 +29,7 @@ * @return */ public List getEventsByTaskId(Long taskId) { - List events = this.findBy("taskId",taskId); -// Criteria criteria = this.createCriteria(Event.class); -// criteria.add(Restrictions.eq("taskId",taskId)); -// List events = criteria.list(); + List events = this.findBy("taskId", taskId); List eventDtos = EventDto.convert2EventDtoList(events); return eventDtos; } diff --git a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java index a208635..93ed4e8 100644 --- a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java +++ b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java @@ -57,7 +57,7 @@ private Logger logger = LoggerFactory.getLogger(this.getClass()); - public DataTable pageQueryMarker(String params, String markerDto,Long companyId) { + public DataTable pageQueryMarker(String params, String markerDto, Long companyId) { // List features = null; // List lines = null; DataTable result = new DataTable(); @@ -70,7 +70,7 @@ if (null != markerDto) { MarkerDto markerDto1 = new Gson().fromJson(markerDto, MarkerDto.class); - if (markerDto1.getRecordType()!=null) { + if (markerDto1.getRecordType() != null) { criteria1.add(Restrictions.eq("recordType", markerDto1.getRecordType())); } if (StringUtils.isNotBlank(markerDto1.getMemo())) { @@ -105,12 +105,12 @@ } } - criteria1.add(Restrictions.eq("companyId",companyId)); + criteria1.add(Restrictions.eq("companyId", companyId)); criteria1.add(Restrictions.eq("isValid", 1)); criteria1.addOrder(Order.desc("createTime")); Page page = pagedQuery(criteria1, pageNo, pageSize); List markerInfos = MarkerDto.convert2MarkerDtoList((List) page.getResult()); - logger.info("日志:"+new Gson().toJson(markerInfos)); + logger.info("日志:" + new Gson().toJson(markerInfos)); result.setAaData(markerInfos); result.setiTotalDisplayRecords((int) page.getTotalCount()); result.setiTotalRecords((int) page.getTotalCount()); @@ -197,6 +197,7 @@ /** * 新增标识器 8-9 + * * @param markers * @param companyId * @return @@ -207,7 +208,7 @@ } for (MarkerDto markerDto : markers) { Marker marker = new Marker(); - if(markerDto.getId()!=null){ + if (markerDto.getId() != null) { marker.setId(markerDto.getId()); } marker.setMarkerId(markerDto.getMarkerId()); @@ -233,9 +234,9 @@ marker.setPipeMaterial(markerDto.getPipeMaterial()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { - if(StringUtils.isNotBlank(markerDto.getCreateTime())){ + if (StringUtils.isNotBlank(markerDto.getCreateTime())) { marker.setCreateTime(sdf.parse(markerDto.getCreateTime())); - }else{ + } else { marker.setCreateTime(new Date()); } } catch (ParseException e) { @@ -351,81 +352,138 @@ Map indexMap = new HashMap(); Long companyId = null; List markerDtos = new ArrayList(); + int recordTypeFlag = 1; for (int i = 0; i < columns; i++) {//解析出来excel的头,找出对应位置,以适应excel文件头部顺序的变化 String name = sheet.getCell(i, 0).getContents(); switch (name) { case "用户ID": indexMap.put("userId", i); break; -// case "标识器编号": -// indexMap.put("markerId", i); -// break; - case "标识器ID号": - indexMap.put("markerId", i); - break; - case "标识器名称": - indexMap.put("markerName", i); - break; - case "三级区域": - indexMap.put("featureId", i); - break; - case "三级线路": - indexMap.put("lineId", i); - break; - case "类型": + case "管线种类": indexMap.put("markerObjectType", i); + recordTypeFlag = 1; break; - case "埋深": + case "管线直径": + indexMap.put("pipeDiameter", i); + break; + case "管线材质": + indexMap.put("pipeMaterial", i); + break; + case "埋设方式": + indexMap.put("layStyle", i); + break; + case "管线埋深": indexMap.put("depth", i); break; - case "里程1": - indexMap.put("mileage", i); + case "所属道路": + indexMap.put("road", i); break; - case "里程2": - indexMap.put("mileage2", i); + case "建设年代": + indexMap.put("constructTime", i); break; - case "安装时间": - indexMap.put("createTime", i); + case "所属单位": + indexMap.put("ownerComp", i); + break; + case "标识器ID": + indexMap.put("markerId", i); + break; + case "标示对象ID": + indexMap.put("markerObjectId", i); + break; + case "标识器类型": + indexMap.put("markerType", i); break; case "安装人员": indexMap.put("creator", i); break; - case "权属单位": - indexMap.put("ownerComp", i); - break; case "经度": indexMap.put("longitude", i); break; case "纬度": indexMap.put("latitude", i); break; + case "最后修改时间": + indexMap.put("createTime", i); + break; case "备注": indexMap.put("memo", i); break; + case "附属物名称": + indexMap.put("markerObjectType", i); + recordTypeFlag = 2; + break; + case "井深": + indexMap.put("depth", i); + break; + case "管点特征": + indexMap.put("markerObjectType", i); + recordTypeFlag = 3; + break; + case "特征点埋深": + indexMap.put("depth", i); + break; + case "上层管种类": + indexMap.put("markerObjectType", i); + recordTypeFlag = 4; + break; + case "上层管埋深": + indexMap.put("depth", i); + break; + case "上层管直径": + indexMap.put("pipeDiameter", i); + break; + case "上层管材料": + indexMap.put("pipeMaterial", i); + break; + case "下层管种类": + indexMap.put("belowType", i); + break; + case "下层管埋深": + indexMap.put("belowDepth", i); + break; + case "下层管直径": + indexMap.put("belowDiameter", i); + break; + case "下层管材料": + indexMap.put("belowMaterial", i); + break; +// case "记录类型": +// indexMap.put("recordType",i); +// break; } } Long userId = Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), 1).getContents())); User user = userInfoManager.getUserById(userId); companyId = user.getCompany().getId(); + if (companyId == null) { + return false; + } for (int i = 1; i < rows; i++) { MarkerDto markerDto = new MarkerDto(); -// markerDto.setLineId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("lineId"), i).getContents()))); -// markerDto.setFeatureId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("featureId"), i).getContents()))); - markerDto.setUserId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), i).getContents()))); - markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); -// markerDto.setMarkerName(sheet.getCell(indexMap.get("markerName"), i).getContents()); markerDto.setMarkerObjectType(sheet.getCell(indexMap.get("markerObjectType"), i).getContents()); + markerDto.setPipeMaterial(sheet.getCell(indexMap.get("pipeMaterial"), i).getContents()); + markerDto.setPipeDiameter(sheet.getCell(indexMap.get("pipeDiameter"), i).getContents()); + markerDto.setLayStyle(sheet.getCell(indexMap.get("layStyle"), i).getContents()); markerDto.setDepth(sheet.getCell(indexMap.get("depth"), i).getContents()); -// markerDto.setMileage(sheet.getCell(indexMap.get("mileage"), i).getContents()); -// markerDto.setMileage2(sheet.getCell(indexMap.get("mileage2"), i).getContents()); - markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); - markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); + markerDto.setBelowType(sheet.getCell(indexMap.get("belowType"), i).getContents()); + markerDto.setBelowDepth(sheet.getCell(indexMap.get("belowDepth"), i).getContents()); + markerDto.setBelowDiameter(sheet.getCell(indexMap.get("belowDiameter"), i).getContents()); + markerDto.setBelowMaterial(sheet.getCell(indexMap.get("belowMaterial"), i).getContents()); + markerDto.setRoad(sheet.getCell(indexMap.get("road"), i).getContents()); + markerDto.setConstructTime(sheet.getCell(indexMap.get("constructTime"), i).getContents()); markerDto.setOwnerComp(sheet.getCell(indexMap.get("ownerComp"), i).getContents()); + markerDto.setMarkerObjectId(sheet.getCell(indexMap.get("markerObjectId"), i).getContents()); + markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); + markerDto.setMarkerType(sheet.getCell(indexMap.get("markerType"), i).getContents()); + markerDto.setMarkerDepth(sheet.getCell(indexMap.get("markerDepth"), i).getContents()); markerDto.setLongitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("longitude"), i).getContents()))); markerDto.setLatitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("latitude"), i).getContents()))); + markerDto.setIsValid(1); + markerDto.setRecordType(recordTypeFlag); + markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); + markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); markerDto.setMemo(sheet.getCell(indexMap.get("memo"), i).getContents()); - markerDtos.add(markerDto); } book.close(); diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java index 2b97fdc..3d2d5fa 100644 --- a/src/main/java/com/casic/accessControl/event/manager/EventManager.java +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -5,9 +5,6 @@ import com.casic.accessControl.event.dto.EventDto; import com.casic.accessControl.task.dto.TaskDto; import com.casic.accessControl.util.DateUtils; -import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument; -import org.hibernate.Criteria; -import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -32,10 +29,7 @@ * @return */ public List getEventsByTaskId(Long taskId) { - List events = this.findBy("taskId",taskId); -// Criteria criteria = this.createCriteria(Event.class); -// criteria.add(Restrictions.eq("taskId",taskId)); -// List events = criteria.list(); + List events = this.findBy("taskId", taskId); List eventDtos = EventDto.convert2EventDtoList(events); return eventDtos; } diff --git a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java index a208635..93ed4e8 100644 --- a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java +++ b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java @@ -57,7 +57,7 @@ private Logger logger = LoggerFactory.getLogger(this.getClass()); - public DataTable pageQueryMarker(String params, String markerDto,Long companyId) { + public DataTable pageQueryMarker(String params, String markerDto, Long companyId) { // List features = null; // List lines = null; DataTable result = new DataTable(); @@ -70,7 +70,7 @@ if (null != markerDto) { MarkerDto markerDto1 = new Gson().fromJson(markerDto, MarkerDto.class); - if (markerDto1.getRecordType()!=null) { + if (markerDto1.getRecordType() != null) { criteria1.add(Restrictions.eq("recordType", markerDto1.getRecordType())); } if (StringUtils.isNotBlank(markerDto1.getMemo())) { @@ -105,12 +105,12 @@ } } - criteria1.add(Restrictions.eq("companyId",companyId)); + criteria1.add(Restrictions.eq("companyId", companyId)); criteria1.add(Restrictions.eq("isValid", 1)); criteria1.addOrder(Order.desc("createTime")); Page page = pagedQuery(criteria1, pageNo, pageSize); List markerInfos = MarkerDto.convert2MarkerDtoList((List) page.getResult()); - logger.info("日志:"+new Gson().toJson(markerInfos)); + logger.info("日志:" + new Gson().toJson(markerInfos)); result.setAaData(markerInfos); result.setiTotalDisplayRecords((int) page.getTotalCount()); result.setiTotalRecords((int) page.getTotalCount()); @@ -197,6 +197,7 @@ /** * 新增标识器 8-9 + * * @param markers * @param companyId * @return @@ -207,7 +208,7 @@ } for (MarkerDto markerDto : markers) { Marker marker = new Marker(); - if(markerDto.getId()!=null){ + if (markerDto.getId() != null) { marker.setId(markerDto.getId()); } marker.setMarkerId(markerDto.getMarkerId()); @@ -233,9 +234,9 @@ marker.setPipeMaterial(markerDto.getPipeMaterial()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { - if(StringUtils.isNotBlank(markerDto.getCreateTime())){ + if (StringUtils.isNotBlank(markerDto.getCreateTime())) { marker.setCreateTime(sdf.parse(markerDto.getCreateTime())); - }else{ + } else { marker.setCreateTime(new Date()); } } catch (ParseException e) { @@ -351,81 +352,138 @@ Map indexMap = new HashMap(); Long companyId = null; List markerDtos = new ArrayList(); + int recordTypeFlag = 1; for (int i = 0; i < columns; i++) {//解析出来excel的头,找出对应位置,以适应excel文件头部顺序的变化 String name = sheet.getCell(i, 0).getContents(); switch (name) { case "用户ID": indexMap.put("userId", i); break; -// case "标识器编号": -// indexMap.put("markerId", i); -// break; - case "标识器ID号": - indexMap.put("markerId", i); - break; - case "标识器名称": - indexMap.put("markerName", i); - break; - case "三级区域": - indexMap.put("featureId", i); - break; - case "三级线路": - indexMap.put("lineId", i); - break; - case "类型": + case "管线种类": indexMap.put("markerObjectType", i); + recordTypeFlag = 1; break; - case "埋深": + case "管线直径": + indexMap.put("pipeDiameter", i); + break; + case "管线材质": + indexMap.put("pipeMaterial", i); + break; + case "埋设方式": + indexMap.put("layStyle", i); + break; + case "管线埋深": indexMap.put("depth", i); break; - case "里程1": - indexMap.put("mileage", i); + case "所属道路": + indexMap.put("road", i); break; - case "里程2": - indexMap.put("mileage2", i); + case "建设年代": + indexMap.put("constructTime", i); break; - case "安装时间": - indexMap.put("createTime", i); + case "所属单位": + indexMap.put("ownerComp", i); + break; + case "标识器ID": + indexMap.put("markerId", i); + break; + case "标示对象ID": + indexMap.put("markerObjectId", i); + break; + case "标识器类型": + indexMap.put("markerType", i); break; case "安装人员": indexMap.put("creator", i); break; - case "权属单位": - indexMap.put("ownerComp", i); - break; case "经度": indexMap.put("longitude", i); break; case "纬度": indexMap.put("latitude", i); break; + case "最后修改时间": + indexMap.put("createTime", i); + break; case "备注": indexMap.put("memo", i); break; + case "附属物名称": + indexMap.put("markerObjectType", i); + recordTypeFlag = 2; + break; + case "井深": + indexMap.put("depth", i); + break; + case "管点特征": + indexMap.put("markerObjectType", i); + recordTypeFlag = 3; + break; + case "特征点埋深": + indexMap.put("depth", i); + break; + case "上层管种类": + indexMap.put("markerObjectType", i); + recordTypeFlag = 4; + break; + case "上层管埋深": + indexMap.put("depth", i); + break; + case "上层管直径": + indexMap.put("pipeDiameter", i); + break; + case "上层管材料": + indexMap.put("pipeMaterial", i); + break; + case "下层管种类": + indexMap.put("belowType", i); + break; + case "下层管埋深": + indexMap.put("belowDepth", i); + break; + case "下层管直径": + indexMap.put("belowDiameter", i); + break; + case "下层管材料": + indexMap.put("belowMaterial", i); + break; +// case "记录类型": +// indexMap.put("recordType",i); +// break; } } Long userId = Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), 1).getContents())); User user = userInfoManager.getUserById(userId); companyId = user.getCompany().getId(); + if (companyId == null) { + return false; + } for (int i = 1; i < rows; i++) { MarkerDto markerDto = new MarkerDto(); -// markerDto.setLineId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("lineId"), i).getContents()))); -// markerDto.setFeatureId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("featureId"), i).getContents()))); - markerDto.setUserId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), i).getContents()))); - markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); -// markerDto.setMarkerName(sheet.getCell(indexMap.get("markerName"), i).getContents()); markerDto.setMarkerObjectType(sheet.getCell(indexMap.get("markerObjectType"), i).getContents()); + markerDto.setPipeMaterial(sheet.getCell(indexMap.get("pipeMaterial"), i).getContents()); + markerDto.setPipeDiameter(sheet.getCell(indexMap.get("pipeDiameter"), i).getContents()); + markerDto.setLayStyle(sheet.getCell(indexMap.get("layStyle"), i).getContents()); markerDto.setDepth(sheet.getCell(indexMap.get("depth"), i).getContents()); -// markerDto.setMileage(sheet.getCell(indexMap.get("mileage"), i).getContents()); -// markerDto.setMileage2(sheet.getCell(indexMap.get("mileage2"), i).getContents()); - markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); - markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); + markerDto.setBelowType(sheet.getCell(indexMap.get("belowType"), i).getContents()); + markerDto.setBelowDepth(sheet.getCell(indexMap.get("belowDepth"), i).getContents()); + markerDto.setBelowDiameter(sheet.getCell(indexMap.get("belowDiameter"), i).getContents()); + markerDto.setBelowMaterial(sheet.getCell(indexMap.get("belowMaterial"), i).getContents()); + markerDto.setRoad(sheet.getCell(indexMap.get("road"), i).getContents()); + markerDto.setConstructTime(sheet.getCell(indexMap.get("constructTime"), i).getContents()); markerDto.setOwnerComp(sheet.getCell(indexMap.get("ownerComp"), i).getContents()); + markerDto.setMarkerObjectId(sheet.getCell(indexMap.get("markerObjectId"), i).getContents()); + markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); + markerDto.setMarkerType(sheet.getCell(indexMap.get("markerType"), i).getContents()); + markerDto.setMarkerDepth(sheet.getCell(indexMap.get("markerDepth"), i).getContents()); markerDto.setLongitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("longitude"), i).getContents()))); markerDto.setLatitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("latitude"), i).getContents()))); + markerDto.setIsValid(1); + markerDto.setRecordType(recordTypeFlag); + markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); + markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); markerDto.setMemo(sheet.getCell(indexMap.get("memo"), i).getContents()); - markerDtos.add(markerDto); } book.close(); diff --git a/src/main/java/com/casic/accessControl/marker/web/MarkerController.java b/src/main/java/com/casic/accessControl/marker/web/MarkerController.java index 44f74e2..a19f2f5 100644 --- a/src/main/java/com/casic/accessControl/marker/web/MarkerController.java +++ b/src/main/java/com/casic/accessControl/marker/web/MarkerController.java @@ -50,8 +50,6 @@ private Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private MarkerManager markerManager; -// @Resource -// private FeatureManager featureManager; @Resource private UserManager userInfoManager; @Resource @@ -274,22 +272,55 @@ return map; } - +//列表的导出和地图上的导出有区别了……,下面是列表的导出 @RequestMapping("export") public void export2Excel(@RequestParam(required = false) String strMarkerDto, HttpServletRequest request, HttpServletResponse response, HttpSession session) { User user = (User) session.getAttribute(StringUtils.SYS_USER);//获取当前登录用户 List markerDtos = null; + int type=0; + String excelName="管线信息"; + String excelColumns = ""; if (StringUtils.isNotBlank(strMarkerDto)) { MarkerDto markerDto = new Gson().fromJson(strMarkerDto, MarkerDto.class); + type = markerDto.getRecordType()==null?0:markerDto.getRecordType(); markerDtos = markerManager.getMarkerDtosByCondition(markerDto, user.getCompany()); } else { markerDtos = markerManager.getAllPoint(user); } + if(type==1){ + excelName = "管线信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,layStyle,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==2){ + excelName = "管线附属物信息"; + excelColumns = "id,markerObjectType,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==3){ + excelName ="管线特征管点信息"; + excelColumns = "id,markerObjectType,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==4){ + excelName = "交叉穿越点信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,depth,belowType," + + "belowDepth,belowDiameter,belowMaterial,road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else{//全部导出的,在地图上 + excelName = "标识器信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,depth,layStyle,belowType," + + "belowDepth,belowDiameter,belowMaterial,road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + } + String [] columns= excelColumns.split(","); TableModel tableModel = new TableModel(); - tableModel.setName("marker info"); - tableModel.addHeaders("id", "markerId", "markerName", "featureId", "lineId", "depth", "mileage", - "mileage2", "ownerComp", "createTime", "creator", "memo", "markerObjectType"); + tableModel.setName(excelName); +// tableModel.addHeaders("id", "markerObjectType", "pipeMaterial", "pipeDiameter", "layStyle", "depth", "belowType", +// "belowDepth", "belowDiameter", "belowMaterial", "road", "constructTime", "ownerComp","markerObjectId", +// "markerId", "markerType","creator","markerDepth","createTime","memo"); + tableModel.addHeaders(columns); tableModel.setData(markerDtos); response.setCharacterEncoding("UTF-8"); try { diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java index 2b97fdc..3d2d5fa 100644 --- a/src/main/java/com/casic/accessControl/event/manager/EventManager.java +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -5,9 +5,6 @@ import com.casic.accessControl.event.dto.EventDto; import com.casic.accessControl.task.dto.TaskDto; import com.casic.accessControl.util.DateUtils; -import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument; -import org.hibernate.Criteria; -import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -32,10 +29,7 @@ * @return */ public List getEventsByTaskId(Long taskId) { - List events = this.findBy("taskId",taskId); -// Criteria criteria = this.createCriteria(Event.class); -// criteria.add(Restrictions.eq("taskId",taskId)); -// List events = criteria.list(); + List events = this.findBy("taskId", taskId); List eventDtos = EventDto.convert2EventDtoList(events); return eventDtos; } diff --git a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java index a208635..93ed4e8 100644 --- a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java +++ b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java @@ -57,7 +57,7 @@ private Logger logger = LoggerFactory.getLogger(this.getClass()); - public DataTable pageQueryMarker(String params, String markerDto,Long companyId) { + public DataTable pageQueryMarker(String params, String markerDto, Long companyId) { // List features = null; // List lines = null; DataTable result = new DataTable(); @@ -70,7 +70,7 @@ if (null != markerDto) { MarkerDto markerDto1 = new Gson().fromJson(markerDto, MarkerDto.class); - if (markerDto1.getRecordType()!=null) { + if (markerDto1.getRecordType() != null) { criteria1.add(Restrictions.eq("recordType", markerDto1.getRecordType())); } if (StringUtils.isNotBlank(markerDto1.getMemo())) { @@ -105,12 +105,12 @@ } } - criteria1.add(Restrictions.eq("companyId",companyId)); + criteria1.add(Restrictions.eq("companyId", companyId)); criteria1.add(Restrictions.eq("isValid", 1)); criteria1.addOrder(Order.desc("createTime")); Page page = pagedQuery(criteria1, pageNo, pageSize); List markerInfos = MarkerDto.convert2MarkerDtoList((List) page.getResult()); - logger.info("日志:"+new Gson().toJson(markerInfos)); + logger.info("日志:" + new Gson().toJson(markerInfos)); result.setAaData(markerInfos); result.setiTotalDisplayRecords((int) page.getTotalCount()); result.setiTotalRecords((int) page.getTotalCount()); @@ -197,6 +197,7 @@ /** * 新增标识器 8-9 + * * @param markers * @param companyId * @return @@ -207,7 +208,7 @@ } for (MarkerDto markerDto : markers) { Marker marker = new Marker(); - if(markerDto.getId()!=null){ + if (markerDto.getId() != null) { marker.setId(markerDto.getId()); } marker.setMarkerId(markerDto.getMarkerId()); @@ -233,9 +234,9 @@ marker.setPipeMaterial(markerDto.getPipeMaterial()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { - if(StringUtils.isNotBlank(markerDto.getCreateTime())){ + if (StringUtils.isNotBlank(markerDto.getCreateTime())) { marker.setCreateTime(sdf.parse(markerDto.getCreateTime())); - }else{ + } else { marker.setCreateTime(new Date()); } } catch (ParseException e) { @@ -351,81 +352,138 @@ Map indexMap = new HashMap(); Long companyId = null; List markerDtos = new ArrayList(); + int recordTypeFlag = 1; for (int i = 0; i < columns; i++) {//解析出来excel的头,找出对应位置,以适应excel文件头部顺序的变化 String name = sheet.getCell(i, 0).getContents(); switch (name) { case "用户ID": indexMap.put("userId", i); break; -// case "标识器编号": -// indexMap.put("markerId", i); -// break; - case "标识器ID号": - indexMap.put("markerId", i); - break; - case "标识器名称": - indexMap.put("markerName", i); - break; - case "三级区域": - indexMap.put("featureId", i); - break; - case "三级线路": - indexMap.put("lineId", i); - break; - case "类型": + case "管线种类": indexMap.put("markerObjectType", i); + recordTypeFlag = 1; break; - case "埋深": + case "管线直径": + indexMap.put("pipeDiameter", i); + break; + case "管线材质": + indexMap.put("pipeMaterial", i); + break; + case "埋设方式": + indexMap.put("layStyle", i); + break; + case "管线埋深": indexMap.put("depth", i); break; - case "里程1": - indexMap.put("mileage", i); + case "所属道路": + indexMap.put("road", i); break; - case "里程2": - indexMap.put("mileage2", i); + case "建设年代": + indexMap.put("constructTime", i); break; - case "安装时间": - indexMap.put("createTime", i); + case "所属单位": + indexMap.put("ownerComp", i); + break; + case "标识器ID": + indexMap.put("markerId", i); + break; + case "标示对象ID": + indexMap.put("markerObjectId", i); + break; + case "标识器类型": + indexMap.put("markerType", i); break; case "安装人员": indexMap.put("creator", i); break; - case "权属单位": - indexMap.put("ownerComp", i); - break; case "经度": indexMap.put("longitude", i); break; case "纬度": indexMap.put("latitude", i); break; + case "最后修改时间": + indexMap.put("createTime", i); + break; case "备注": indexMap.put("memo", i); break; + case "附属物名称": + indexMap.put("markerObjectType", i); + recordTypeFlag = 2; + break; + case "井深": + indexMap.put("depth", i); + break; + case "管点特征": + indexMap.put("markerObjectType", i); + recordTypeFlag = 3; + break; + case "特征点埋深": + indexMap.put("depth", i); + break; + case "上层管种类": + indexMap.put("markerObjectType", i); + recordTypeFlag = 4; + break; + case "上层管埋深": + indexMap.put("depth", i); + break; + case "上层管直径": + indexMap.put("pipeDiameter", i); + break; + case "上层管材料": + indexMap.put("pipeMaterial", i); + break; + case "下层管种类": + indexMap.put("belowType", i); + break; + case "下层管埋深": + indexMap.put("belowDepth", i); + break; + case "下层管直径": + indexMap.put("belowDiameter", i); + break; + case "下层管材料": + indexMap.put("belowMaterial", i); + break; +// case "记录类型": +// indexMap.put("recordType",i); +// break; } } Long userId = Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), 1).getContents())); User user = userInfoManager.getUserById(userId); companyId = user.getCompany().getId(); + if (companyId == null) { + return false; + } for (int i = 1; i < rows; i++) { MarkerDto markerDto = new MarkerDto(); -// markerDto.setLineId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("lineId"), i).getContents()))); -// markerDto.setFeatureId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("featureId"), i).getContents()))); - markerDto.setUserId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), i).getContents()))); - markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); -// markerDto.setMarkerName(sheet.getCell(indexMap.get("markerName"), i).getContents()); markerDto.setMarkerObjectType(sheet.getCell(indexMap.get("markerObjectType"), i).getContents()); + markerDto.setPipeMaterial(sheet.getCell(indexMap.get("pipeMaterial"), i).getContents()); + markerDto.setPipeDiameter(sheet.getCell(indexMap.get("pipeDiameter"), i).getContents()); + markerDto.setLayStyle(sheet.getCell(indexMap.get("layStyle"), i).getContents()); markerDto.setDepth(sheet.getCell(indexMap.get("depth"), i).getContents()); -// markerDto.setMileage(sheet.getCell(indexMap.get("mileage"), i).getContents()); -// markerDto.setMileage2(sheet.getCell(indexMap.get("mileage2"), i).getContents()); - markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); - markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); + markerDto.setBelowType(sheet.getCell(indexMap.get("belowType"), i).getContents()); + markerDto.setBelowDepth(sheet.getCell(indexMap.get("belowDepth"), i).getContents()); + markerDto.setBelowDiameter(sheet.getCell(indexMap.get("belowDiameter"), i).getContents()); + markerDto.setBelowMaterial(sheet.getCell(indexMap.get("belowMaterial"), i).getContents()); + markerDto.setRoad(sheet.getCell(indexMap.get("road"), i).getContents()); + markerDto.setConstructTime(sheet.getCell(indexMap.get("constructTime"), i).getContents()); markerDto.setOwnerComp(sheet.getCell(indexMap.get("ownerComp"), i).getContents()); + markerDto.setMarkerObjectId(sheet.getCell(indexMap.get("markerObjectId"), i).getContents()); + markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); + markerDto.setMarkerType(sheet.getCell(indexMap.get("markerType"), i).getContents()); + markerDto.setMarkerDepth(sheet.getCell(indexMap.get("markerDepth"), i).getContents()); markerDto.setLongitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("longitude"), i).getContents()))); markerDto.setLatitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("latitude"), i).getContents()))); + markerDto.setIsValid(1); + markerDto.setRecordType(recordTypeFlag); + markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); + markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); markerDto.setMemo(sheet.getCell(indexMap.get("memo"), i).getContents()); - markerDtos.add(markerDto); } book.close(); diff --git a/src/main/java/com/casic/accessControl/marker/web/MarkerController.java b/src/main/java/com/casic/accessControl/marker/web/MarkerController.java index 44f74e2..a19f2f5 100644 --- a/src/main/java/com/casic/accessControl/marker/web/MarkerController.java +++ b/src/main/java/com/casic/accessControl/marker/web/MarkerController.java @@ -50,8 +50,6 @@ private Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private MarkerManager markerManager; -// @Resource -// private FeatureManager featureManager; @Resource private UserManager userInfoManager; @Resource @@ -274,22 +272,55 @@ return map; } - +//列表的导出和地图上的导出有区别了……,下面是列表的导出 @RequestMapping("export") public void export2Excel(@RequestParam(required = false) String strMarkerDto, HttpServletRequest request, HttpServletResponse response, HttpSession session) { User user = (User) session.getAttribute(StringUtils.SYS_USER);//获取当前登录用户 List markerDtos = null; + int type=0; + String excelName="管线信息"; + String excelColumns = ""; if (StringUtils.isNotBlank(strMarkerDto)) { MarkerDto markerDto = new Gson().fromJson(strMarkerDto, MarkerDto.class); + type = markerDto.getRecordType()==null?0:markerDto.getRecordType(); markerDtos = markerManager.getMarkerDtosByCondition(markerDto, user.getCompany()); } else { markerDtos = markerManager.getAllPoint(user); } + if(type==1){ + excelName = "管线信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,layStyle,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==2){ + excelName = "管线附属物信息"; + excelColumns = "id,markerObjectType,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==3){ + excelName ="管线特征管点信息"; + excelColumns = "id,markerObjectType,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==4){ + excelName = "交叉穿越点信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,depth,belowType," + + "belowDepth,belowDiameter,belowMaterial,road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else{//全部导出的,在地图上 + excelName = "标识器信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,depth,layStyle,belowType," + + "belowDepth,belowDiameter,belowMaterial,road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + } + String [] columns= excelColumns.split(","); TableModel tableModel = new TableModel(); - tableModel.setName("marker info"); - tableModel.addHeaders("id", "markerId", "markerName", "featureId", "lineId", "depth", "mileage", - "mileage2", "ownerComp", "createTime", "creator", "memo", "markerObjectType"); + tableModel.setName(excelName); +// tableModel.addHeaders("id", "markerObjectType", "pipeMaterial", "pipeDiameter", "layStyle", "depth", "belowType", +// "belowDepth", "belowDiameter", "belowMaterial", "road", "constructTime", "ownerComp","markerObjectId", +// "markerId", "markerType","creator","markerDepth","createTime","memo"); + tableModel.addHeaders(columns); tableModel.setData(markerDtos); response.setCharacterEncoding("UTF-8"); try { diff --git a/src/main/webapp/s/app/ems/ems-marker-opt.js b/src/main/webapp/s/app/ems/ems-marker-opt.js index 8a9b989..b0c9944 100644 --- a/src/main/webapp/s/app/ems/ems-marker-opt.js +++ b/src/main/webapp/s/app/ems/ems-marker-opt.js @@ -34,85 +34,85 @@ }); - function importByExcel(filePath) { - //创建操作EXCEL应用程序的实例 - try { - var excelObject = new ActiveXObject("Excel.application"); - //打开指定路径的excel文件 - var excelFile = excelObject.Workbooks.open(filePath); - //操作第一个sheet(从一开始,而非零) - excelFile.worksheets(1).select(); - var excelSheet = excelFile.ActiveSheet; - //文件总行数 - var totalRows = excelSheet.usedrange.rows.count; - } catch (e) { - } - try { - //获取属性index - var userId = getPropertyIndex(excelSheet, "用户ID"); - var markerNo = getPropertyIndex(excelSheet, "标识器编号"); - var markerName = getPropertyIndex(excelSheet, "标识器名称"); - var area = getPropertyIndex(excelSheet, "三级区域"); - var line = getPropertyIndex(excelSheet, "三级线路"); - var objType = getPropertyIndex(excelSheet, "类型"); - var depth = getPropertyIndex(excelSheet, "埋深"); - var mileage1 = getPropertyIndex(excelSheet, "里程1"); - var mileage2 = getPropertyIndex(excelSheet, "里程2"); - var deployTime = getPropertyIndex(excelSheet, "安装时间"); - var deployUser = getPropertyIndex(excelSheet, "安装人员"); - var belongComp = getPropertyIndex(excelSheet, "权属单位"); - var longitudeIndex = getPropertyIndex(excelSheet, "经度"); - var latitudeIndex = getPropertyIndex(excelSheet, "纬度"); - var remark = getPropertyIndex(excelSheet, "备注"); - - var markerList = new Array(); - - //第一行是标题,从2开始 - for (var i = 2; i <= totalRows; i++) { - var markerDto = {}; - // 1.读取excel中的属性信息 - markerDto.userId = getNotNullNumberValue(excelSheet.Cells(i, userId).value); - markerDto.markerId = getNotNullValue(excelSheet.Cells(i, markerNo).value); - markerDto.markerName = getNotNullValue(excelSheet.Cells(i, markerName).value); - markerDto.featureId = getNotNullNumberValue(excelSheet.Cells(i, area).value); - markerDto.lineId = getNotNullNumberValue(excelSheet.Cells(i, line).value); - markerDto.markerObjectType = getNotNullValue(excelSheet.Cells(i, objType).value); - markerDto.depth = getNotNullNumberValue(excelSheet.Cells(i, depth).value); - markerDto.mileage = getNotNullValue(excelSheet.Cells(i, mileage1).value); - markerDto.mileage2 = getNotNullValue(excelSheet.Cells(i, mileage2).value); - markerDto.createTime = getNotNullValue(excelSheet.Cells(i, deployTime).value); - markerDto.creator = getNotNullValue(excelSheet.Cells(i, deployUser).value); - markerDto.ownerComp = getNotNullValue(excelSheet.Cells(i, deployUser).value); - markerDto.longitude = getNotNullValue(excelSheet.Cells(i, longitudeIndex).value); - markerDto.latitude = getNotNullValue(excelSheet.Cells(i, latitudeIndex).value); - markerDto.memo = getNotNullValue(excelSheet.Cells(i, remark).value); - markerList.push(markerDto); - } - // 2.导入到数据库 - $.ajax({ - type: "POST", - async: false, - url: $("#context").val() + "/marker/batchSave.do", - data: {"markers": JSON.stringify(markerList)}, - success: function (result) { - var result = eval("(" + result + ")"); - if (!result.success) { - alert("标识器入库失败," + result.msg); - } else { - alert("入库完成"); - } - - } - }); - - - } catch (e) { - } - //退出操作excel的实例对象 - excelObject.Application.Quit(); - //手动调用垃圾收集器 - CollectGarbage(); - }; +// function importByExcel(filePath) { +// //创建操作EXCEL应用程序的实例 +// try { +// var excelObject = new ActiveXObject("Excel.application"); +// //打开指定路径的excel文件 +// var excelFile = excelObject.Workbooks.open(filePath); +// //操作第一个sheet(从一开始,而非零) +// excelFile.worksheets(1).select(); +// var excelSheet = excelFile.ActiveSheet; +// //文件总行数 +// var totalRows = excelSheet.usedrange.rows.count; +// } catch (e) { +// } +// try { +// //获取属性index +// var userId = getPropertyIndex(excelSheet, "用户ID"); +// var markerNo = getPropertyIndex(excelSheet, "标识器编号"); +// var markerName = getPropertyIndex(excelSheet, "标识器名称"); +// var area = getPropertyIndex(excelSheet, "三级区域"); +// var line = getPropertyIndex(excelSheet, "三级线路"); +// var objType = getPropertyIndex(excelSheet, "类型"); +// var depth = getPropertyIndex(excelSheet, "埋深"); +// var mileage1 = getPropertyIndex(excelSheet, "里程1"); +// var mileage2 = getPropertyIndex(excelSheet, "里程2"); +// var deployTime = getPropertyIndex(excelSheet, "安装时间"); +// var deployUser = getPropertyIndex(excelSheet, "安装人员"); +// var belongComp = getPropertyIndex(excelSheet, "权属单位"); +// var longitudeIndex = getPropertyIndex(excelSheet, "经度"); +// var latitudeIndex = getPropertyIndex(excelSheet, "纬度"); +// var remark = getPropertyIndex(excelSheet, "备注"); +// +// var markerList = new Array(); +// +// //第一行是标题,从2开始 +// for (var i = 2; i <= totalRows; i++) { +// var markerDto = {}; +// // 1.读取excel中的属性信息 +// markerDto.userId = getNotNullNumberValue(excelSheet.Cells(i, userId).value); +// markerDto.markerId = getNotNullValue(excelSheet.Cells(i, markerNo).value); +// markerDto.markerName = getNotNullValue(excelSheet.Cells(i, markerName).value); +// markerDto.featureId = getNotNullNumberValue(excelSheet.Cells(i, area).value); +// markerDto.lineId = getNotNullNumberValue(excelSheet.Cells(i, line).value); +// markerDto.markerObjectType = getNotNullValue(excelSheet.Cells(i, objType).value); +// markerDto.depth = getNotNullNumberValue(excelSheet.Cells(i, depth).value); +// markerDto.mileage = getNotNullValue(excelSheet.Cells(i, mileage1).value); +// markerDto.mileage2 = getNotNullValue(excelSheet.Cells(i, mileage2).value); +// markerDto.createTime = getNotNullValue(excelSheet.Cells(i, deployTime).value); +// markerDto.creator = getNotNullValue(excelSheet.Cells(i, deployUser).value); +// markerDto.ownerComp = getNotNullValue(excelSheet.Cells(i, deployUser).value); +// markerDto.longitude = getNotNullValue(excelSheet.Cells(i, longitudeIndex).value); +// markerDto.latitude = getNotNullValue(excelSheet.Cells(i, latitudeIndex).value); +// markerDto.memo = getNotNullValue(excelSheet.Cells(i, remark).value); +// markerList.push(markerDto); +// } +// // 2.导入到数据库 +// $.ajax({ +// type: "POST", +// async: false, +// url: $("#context").val() + "/marker/batchSave.do", +// data: {"markers": JSON.stringify(markerList)}, +// success: function (result) { +// var result = eval("(" + result + ")"); +// if (!result.success) { +// alert("标识器入库失败," + result.msg); +// } else { +// alert("入库完成"); +// } +// +// } +// }); +// +// +// } catch (e) { +// } +// //退出操作excel的实例对象 +// excelObject.Application.Quit(); +// //手动调用垃圾收集器 +// CollectGarbage(); +// }; function getPropertyIndex(excelSheet, propertyName) { var index = 1; diff --git a/src/main/java/com/casic/accessControl/event/manager/EventManager.java b/src/main/java/com/casic/accessControl/event/manager/EventManager.java index 2b97fdc..3d2d5fa 100644 --- a/src/main/java/com/casic/accessControl/event/manager/EventManager.java +++ b/src/main/java/com/casic/accessControl/event/manager/EventManager.java @@ -5,9 +5,6 @@ import com.casic.accessControl.event.dto.EventDto; import com.casic.accessControl.task.dto.TaskDto; import com.casic.accessControl.util.DateUtils; -import org.apache.xmlbeans.impl.xb.xsdschema.RestrictionDocument; -import org.hibernate.Criteria; -import org.hibernate.criterion.Restrictions; import org.springframework.stereotype.Service; import org.springframework.web.context.request.RequestContextHolder; import org.springframework.web.context.request.ServletRequestAttributes; @@ -32,10 +29,7 @@ * @return */ public List getEventsByTaskId(Long taskId) { - List events = this.findBy("taskId",taskId); -// Criteria criteria = this.createCriteria(Event.class); -// criteria.add(Restrictions.eq("taskId",taskId)); -// List events = criteria.list(); + List events = this.findBy("taskId", taskId); List eventDtos = EventDto.convert2EventDtoList(events); return eventDtos; } diff --git a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java index a208635..93ed4e8 100644 --- a/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java +++ b/src/main/java/com/casic/accessControl/marker/manager/MarkerManager.java @@ -57,7 +57,7 @@ private Logger logger = LoggerFactory.getLogger(this.getClass()); - public DataTable pageQueryMarker(String params, String markerDto,Long companyId) { + public DataTable pageQueryMarker(String params, String markerDto, Long companyId) { // List features = null; // List lines = null; DataTable result = new DataTable(); @@ -70,7 +70,7 @@ if (null != markerDto) { MarkerDto markerDto1 = new Gson().fromJson(markerDto, MarkerDto.class); - if (markerDto1.getRecordType()!=null) { + if (markerDto1.getRecordType() != null) { criteria1.add(Restrictions.eq("recordType", markerDto1.getRecordType())); } if (StringUtils.isNotBlank(markerDto1.getMemo())) { @@ -105,12 +105,12 @@ } } - criteria1.add(Restrictions.eq("companyId",companyId)); + criteria1.add(Restrictions.eq("companyId", companyId)); criteria1.add(Restrictions.eq("isValid", 1)); criteria1.addOrder(Order.desc("createTime")); Page page = pagedQuery(criteria1, pageNo, pageSize); List markerInfos = MarkerDto.convert2MarkerDtoList((List) page.getResult()); - logger.info("日志:"+new Gson().toJson(markerInfos)); + logger.info("日志:" + new Gson().toJson(markerInfos)); result.setAaData(markerInfos); result.setiTotalDisplayRecords((int) page.getTotalCount()); result.setiTotalRecords((int) page.getTotalCount()); @@ -197,6 +197,7 @@ /** * 新增标识器 8-9 + * * @param markers * @param companyId * @return @@ -207,7 +208,7 @@ } for (MarkerDto markerDto : markers) { Marker marker = new Marker(); - if(markerDto.getId()!=null){ + if (markerDto.getId() != null) { marker.setId(markerDto.getId()); } marker.setMarkerId(markerDto.getMarkerId()); @@ -233,9 +234,9 @@ marker.setPipeMaterial(markerDto.getPipeMaterial()); SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); try { - if(StringUtils.isNotBlank(markerDto.getCreateTime())){ + if (StringUtils.isNotBlank(markerDto.getCreateTime())) { marker.setCreateTime(sdf.parse(markerDto.getCreateTime())); - }else{ + } else { marker.setCreateTime(new Date()); } } catch (ParseException e) { @@ -351,81 +352,138 @@ Map indexMap = new HashMap(); Long companyId = null; List markerDtos = new ArrayList(); + int recordTypeFlag = 1; for (int i = 0; i < columns; i++) {//解析出来excel的头,找出对应位置,以适应excel文件头部顺序的变化 String name = sheet.getCell(i, 0).getContents(); switch (name) { case "用户ID": indexMap.put("userId", i); break; -// case "标识器编号": -// indexMap.put("markerId", i); -// break; - case "标识器ID号": - indexMap.put("markerId", i); - break; - case "标识器名称": - indexMap.put("markerName", i); - break; - case "三级区域": - indexMap.put("featureId", i); - break; - case "三级线路": - indexMap.put("lineId", i); - break; - case "类型": + case "管线种类": indexMap.put("markerObjectType", i); + recordTypeFlag = 1; break; - case "埋深": + case "管线直径": + indexMap.put("pipeDiameter", i); + break; + case "管线材质": + indexMap.put("pipeMaterial", i); + break; + case "埋设方式": + indexMap.put("layStyle", i); + break; + case "管线埋深": indexMap.put("depth", i); break; - case "里程1": - indexMap.put("mileage", i); + case "所属道路": + indexMap.put("road", i); break; - case "里程2": - indexMap.put("mileage2", i); + case "建设年代": + indexMap.put("constructTime", i); break; - case "安装时间": - indexMap.put("createTime", i); + case "所属单位": + indexMap.put("ownerComp", i); + break; + case "标识器ID": + indexMap.put("markerId", i); + break; + case "标示对象ID": + indexMap.put("markerObjectId", i); + break; + case "标识器类型": + indexMap.put("markerType", i); break; case "安装人员": indexMap.put("creator", i); break; - case "权属单位": - indexMap.put("ownerComp", i); - break; case "经度": indexMap.put("longitude", i); break; case "纬度": indexMap.put("latitude", i); break; + case "最后修改时间": + indexMap.put("createTime", i); + break; case "备注": indexMap.put("memo", i); break; + case "附属物名称": + indexMap.put("markerObjectType", i); + recordTypeFlag = 2; + break; + case "井深": + indexMap.put("depth", i); + break; + case "管点特征": + indexMap.put("markerObjectType", i); + recordTypeFlag = 3; + break; + case "特征点埋深": + indexMap.put("depth", i); + break; + case "上层管种类": + indexMap.put("markerObjectType", i); + recordTypeFlag = 4; + break; + case "上层管埋深": + indexMap.put("depth", i); + break; + case "上层管直径": + indexMap.put("pipeDiameter", i); + break; + case "上层管材料": + indexMap.put("pipeMaterial", i); + break; + case "下层管种类": + indexMap.put("belowType", i); + break; + case "下层管埋深": + indexMap.put("belowDepth", i); + break; + case "下层管直径": + indexMap.put("belowDiameter", i); + break; + case "下层管材料": + indexMap.put("belowMaterial", i); + break; +// case "记录类型": +// indexMap.put("recordType",i); +// break; } } Long userId = Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), 1).getContents())); User user = userInfoManager.getUserById(userId); companyId = user.getCompany().getId(); + if (companyId == null) { + return false; + } for (int i = 1; i < rows; i++) { MarkerDto markerDto = new MarkerDto(); -// markerDto.setLineId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("lineId"), i).getContents()))); -// markerDto.setFeatureId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("featureId"), i).getContents()))); - markerDto.setUserId(Long.valueOf(empty2zero(sheet.getCell(indexMap.get("userId"), i).getContents()))); - markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); -// markerDto.setMarkerName(sheet.getCell(indexMap.get("markerName"), i).getContents()); markerDto.setMarkerObjectType(sheet.getCell(indexMap.get("markerObjectType"), i).getContents()); + markerDto.setPipeMaterial(sheet.getCell(indexMap.get("pipeMaterial"), i).getContents()); + markerDto.setPipeDiameter(sheet.getCell(indexMap.get("pipeDiameter"), i).getContents()); + markerDto.setLayStyle(sheet.getCell(indexMap.get("layStyle"), i).getContents()); markerDto.setDepth(sheet.getCell(indexMap.get("depth"), i).getContents()); -// markerDto.setMileage(sheet.getCell(indexMap.get("mileage"), i).getContents()); -// markerDto.setMileage2(sheet.getCell(indexMap.get("mileage2"), i).getContents()); - markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); - markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); + markerDto.setBelowType(sheet.getCell(indexMap.get("belowType"), i).getContents()); + markerDto.setBelowDepth(sheet.getCell(indexMap.get("belowDepth"), i).getContents()); + markerDto.setBelowDiameter(sheet.getCell(indexMap.get("belowDiameter"), i).getContents()); + markerDto.setBelowMaterial(sheet.getCell(indexMap.get("belowMaterial"), i).getContents()); + markerDto.setRoad(sheet.getCell(indexMap.get("road"), i).getContents()); + markerDto.setConstructTime(sheet.getCell(indexMap.get("constructTime"), i).getContents()); markerDto.setOwnerComp(sheet.getCell(indexMap.get("ownerComp"), i).getContents()); + markerDto.setMarkerObjectId(sheet.getCell(indexMap.get("markerObjectId"), i).getContents()); + markerDto.setMarkerId(sheet.getCell(indexMap.get("markerId"), i).getContents()); + markerDto.setMarkerType(sheet.getCell(indexMap.get("markerType"), i).getContents()); + markerDto.setMarkerDepth(sheet.getCell(indexMap.get("markerDepth"), i).getContents()); markerDto.setLongitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("longitude"), i).getContents()))); markerDto.setLatitude(Double.valueOf(empty2zero(sheet.getCell(indexMap.get("latitude"), i).getContents()))); + markerDto.setIsValid(1); + markerDto.setRecordType(recordTypeFlag); + markerDto.setCreateTime(sheet.getCell(indexMap.get("createTime"), i).getContents()); + markerDto.setCreator(sheet.getCell(indexMap.get("creator"), i).getContents()); markerDto.setMemo(sheet.getCell(indexMap.get("memo"), i).getContents()); - markerDtos.add(markerDto); } book.close(); diff --git a/src/main/java/com/casic/accessControl/marker/web/MarkerController.java b/src/main/java/com/casic/accessControl/marker/web/MarkerController.java index 44f74e2..a19f2f5 100644 --- a/src/main/java/com/casic/accessControl/marker/web/MarkerController.java +++ b/src/main/java/com/casic/accessControl/marker/web/MarkerController.java @@ -50,8 +50,6 @@ private Logger logger = LoggerFactory.getLogger(this.getClass()); @Autowired private MarkerManager markerManager; -// @Resource -// private FeatureManager featureManager; @Resource private UserManager userInfoManager; @Resource @@ -274,22 +272,55 @@ return map; } - +//列表的导出和地图上的导出有区别了……,下面是列表的导出 @RequestMapping("export") public void export2Excel(@RequestParam(required = false) String strMarkerDto, HttpServletRequest request, HttpServletResponse response, HttpSession session) { User user = (User) session.getAttribute(StringUtils.SYS_USER);//获取当前登录用户 List markerDtos = null; + int type=0; + String excelName="管线信息"; + String excelColumns = ""; if (StringUtils.isNotBlank(strMarkerDto)) { MarkerDto markerDto = new Gson().fromJson(strMarkerDto, MarkerDto.class); + type = markerDto.getRecordType()==null?0:markerDto.getRecordType(); markerDtos = markerManager.getMarkerDtosByCondition(markerDto, user.getCompany()); } else { markerDtos = markerManager.getAllPoint(user); } + if(type==1){ + excelName = "管线信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,layStyle,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==2){ + excelName = "管线附属物信息"; + excelColumns = "id,markerObjectType,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==3){ + excelName ="管线特征管点信息"; + excelColumns = "id,markerObjectType,depth," + + "road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else if(type==4){ + excelName = "交叉穿越点信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,depth,belowType," + + "belowDepth,belowDiameter,belowMaterial,road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + }else{//全部导出的,在地图上 + excelName = "标识器信息"; + excelColumns = "id,markerObjectType,pipeMaterial,pipeDiameter,depth,layStyle,belowType," + + "belowDepth,belowDiameter,belowMaterial,road,constructTime,ownerComp,markerObjectId," + + "markerId,markerType,creator,markerDepth,createTime,memo"; + } + String [] columns= excelColumns.split(","); TableModel tableModel = new TableModel(); - tableModel.setName("marker info"); - tableModel.addHeaders("id", "markerId", "markerName", "featureId", "lineId", "depth", "mileage", - "mileage2", "ownerComp", "createTime", "creator", "memo", "markerObjectType"); + tableModel.setName(excelName); +// tableModel.addHeaders("id", "markerObjectType", "pipeMaterial", "pipeDiameter", "layStyle", "depth", "belowType", +// "belowDepth", "belowDiameter", "belowMaterial", "road", "constructTime", "ownerComp","markerObjectId", +// "markerId", "markerType","creator","markerDepth","createTime","memo"); + tableModel.addHeaders(columns); tableModel.setData(markerDtos); response.setCharacterEncoding("UTF-8"); try { diff --git a/src/main/webapp/s/app/ems/ems-marker-opt.js b/src/main/webapp/s/app/ems/ems-marker-opt.js index 8a9b989..b0c9944 100644 --- a/src/main/webapp/s/app/ems/ems-marker-opt.js +++ b/src/main/webapp/s/app/ems/ems-marker-opt.js @@ -34,85 +34,85 @@ }); - function importByExcel(filePath) { - //创建操作EXCEL应用程序的实例 - try { - var excelObject = new ActiveXObject("Excel.application"); - //打开指定路径的excel文件 - var excelFile = excelObject.Workbooks.open(filePath); - //操作第一个sheet(从一开始,而非零) - excelFile.worksheets(1).select(); - var excelSheet = excelFile.ActiveSheet; - //文件总行数 - var totalRows = excelSheet.usedrange.rows.count; - } catch (e) { - } - try { - //获取属性index - var userId = getPropertyIndex(excelSheet, "用户ID"); - var markerNo = getPropertyIndex(excelSheet, "标识器编号"); - var markerName = getPropertyIndex(excelSheet, "标识器名称"); - var area = getPropertyIndex(excelSheet, "三级区域"); - var line = getPropertyIndex(excelSheet, "三级线路"); - var objType = getPropertyIndex(excelSheet, "类型"); - var depth = getPropertyIndex(excelSheet, "埋深"); - var mileage1 = getPropertyIndex(excelSheet, "里程1"); - var mileage2 = getPropertyIndex(excelSheet, "里程2"); - var deployTime = getPropertyIndex(excelSheet, "安装时间"); - var deployUser = getPropertyIndex(excelSheet, "安装人员"); - var belongComp = getPropertyIndex(excelSheet, "权属单位"); - var longitudeIndex = getPropertyIndex(excelSheet, "经度"); - var latitudeIndex = getPropertyIndex(excelSheet, "纬度"); - var remark = getPropertyIndex(excelSheet, "备注"); - - var markerList = new Array(); - - //第一行是标题,从2开始 - for (var i = 2; i <= totalRows; i++) { - var markerDto = {}; - // 1.读取excel中的属性信息 - markerDto.userId = getNotNullNumberValue(excelSheet.Cells(i, userId).value); - markerDto.markerId = getNotNullValue(excelSheet.Cells(i, markerNo).value); - markerDto.markerName = getNotNullValue(excelSheet.Cells(i, markerName).value); - markerDto.featureId = getNotNullNumberValue(excelSheet.Cells(i, area).value); - markerDto.lineId = getNotNullNumberValue(excelSheet.Cells(i, line).value); - markerDto.markerObjectType = getNotNullValue(excelSheet.Cells(i, objType).value); - markerDto.depth = getNotNullNumberValue(excelSheet.Cells(i, depth).value); - markerDto.mileage = getNotNullValue(excelSheet.Cells(i, mileage1).value); - markerDto.mileage2 = getNotNullValue(excelSheet.Cells(i, mileage2).value); - markerDto.createTime = getNotNullValue(excelSheet.Cells(i, deployTime).value); - markerDto.creator = getNotNullValue(excelSheet.Cells(i, deployUser).value); - markerDto.ownerComp = getNotNullValue(excelSheet.Cells(i, deployUser).value); - markerDto.longitude = getNotNullValue(excelSheet.Cells(i, longitudeIndex).value); - markerDto.latitude = getNotNullValue(excelSheet.Cells(i, latitudeIndex).value); - markerDto.memo = getNotNullValue(excelSheet.Cells(i, remark).value); - markerList.push(markerDto); - } - // 2.导入到数据库 - $.ajax({ - type: "POST", - async: false, - url: $("#context").val() + "/marker/batchSave.do", - data: {"markers": JSON.stringify(markerList)}, - success: function (result) { - var result = eval("(" + result + ")"); - if (!result.success) { - alert("标识器入库失败," + result.msg); - } else { - alert("入库完成"); - } - - } - }); - - - } catch (e) { - } - //退出操作excel的实例对象 - excelObject.Application.Quit(); - //手动调用垃圾收集器 - CollectGarbage(); - }; +// function importByExcel(filePath) { +// //创建操作EXCEL应用程序的实例 +// try { +// var excelObject = new ActiveXObject("Excel.application"); +// //打开指定路径的excel文件 +// var excelFile = excelObject.Workbooks.open(filePath); +// //操作第一个sheet(从一开始,而非零) +// excelFile.worksheets(1).select(); +// var excelSheet = excelFile.ActiveSheet; +// //文件总行数 +// var totalRows = excelSheet.usedrange.rows.count; +// } catch (e) { +// } +// try { +// //获取属性index +// var userId = getPropertyIndex(excelSheet, "用户ID"); +// var markerNo = getPropertyIndex(excelSheet, "标识器编号"); +// var markerName = getPropertyIndex(excelSheet, "标识器名称"); +// var area = getPropertyIndex(excelSheet, "三级区域"); +// var line = getPropertyIndex(excelSheet, "三级线路"); +// var objType = getPropertyIndex(excelSheet, "类型"); +// var depth = getPropertyIndex(excelSheet, "埋深"); +// var mileage1 = getPropertyIndex(excelSheet, "里程1"); +// var mileage2 = getPropertyIndex(excelSheet, "里程2"); +// var deployTime = getPropertyIndex(excelSheet, "安装时间"); +// var deployUser = getPropertyIndex(excelSheet, "安装人员"); +// var belongComp = getPropertyIndex(excelSheet, "权属单位"); +// var longitudeIndex = getPropertyIndex(excelSheet, "经度"); +// var latitudeIndex = getPropertyIndex(excelSheet, "纬度"); +// var remark = getPropertyIndex(excelSheet, "备注"); +// +// var markerList = new Array(); +// +// //第一行是标题,从2开始 +// for (var i = 2; i <= totalRows; i++) { +// var markerDto = {}; +// // 1.读取excel中的属性信息 +// markerDto.userId = getNotNullNumberValue(excelSheet.Cells(i, userId).value); +// markerDto.markerId = getNotNullValue(excelSheet.Cells(i, markerNo).value); +// markerDto.markerName = getNotNullValue(excelSheet.Cells(i, markerName).value); +// markerDto.featureId = getNotNullNumberValue(excelSheet.Cells(i, area).value); +// markerDto.lineId = getNotNullNumberValue(excelSheet.Cells(i, line).value); +// markerDto.markerObjectType = getNotNullValue(excelSheet.Cells(i, objType).value); +// markerDto.depth = getNotNullNumberValue(excelSheet.Cells(i, depth).value); +// markerDto.mileage = getNotNullValue(excelSheet.Cells(i, mileage1).value); +// markerDto.mileage2 = getNotNullValue(excelSheet.Cells(i, mileage2).value); +// markerDto.createTime = getNotNullValue(excelSheet.Cells(i, deployTime).value); +// markerDto.creator = getNotNullValue(excelSheet.Cells(i, deployUser).value); +// markerDto.ownerComp = getNotNullValue(excelSheet.Cells(i, deployUser).value); +// markerDto.longitude = getNotNullValue(excelSheet.Cells(i, longitudeIndex).value); +// markerDto.latitude = getNotNullValue(excelSheet.Cells(i, latitudeIndex).value); +// markerDto.memo = getNotNullValue(excelSheet.Cells(i, remark).value); +// markerList.push(markerDto); +// } +// // 2.导入到数据库 +// $.ajax({ +// type: "POST", +// async: false, +// url: $("#context").val() + "/marker/batchSave.do", +// data: {"markers": JSON.stringify(markerList)}, +// success: function (result) { +// var result = eval("(" + result + ")"); +// if (!result.success) { +// alert("标识器入库失败," + result.msg); +// } else { +// alert("入库完成"); +// } +// +// } +// }); +// +// +// } catch (e) { +// } +// //退出操作excel的实例对象 +// excelObject.Application.Quit(); +// //手动调用垃圾收集器 +// CollectGarbage(); +// }; function getPropertyIndex(excelSheet, propertyName) { var index = 1; diff --git a/src/main/webapp/s/app/ems/ems.js b/src/main/webapp/s/app/ems/ems.js index ccb4887..28c1c12 100644 --- a/src/main/webapp/s/app/ems/ems.js +++ b/src/main/webapp/s/app/ems/ems.js @@ -437,7 +437,7 @@ map.addEventListener("click", showInfo); }); - $("#searchMarker").live("click", function (e) { + $("#searchMarker").die().live("click", function (e) { var Marker = {}; if (vectorMarkers.length != 0) { for (var i = 0; i < vectorMarkers.length; i++) @@ -494,7 +494,7 @@ }); //控制不同种类对象的标签信息显示 - $("#selectObjectType").live("change", function (e) { + $("#selectObjectType").die().live("change", function (e) { var type = $("#selectObjectType").val(); if (type == 1) {//管线 $("#pipeTypeLabel").text("管线种类");