lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/controller/MdcEquipmentController.java
@@ -1,6 +1,5 @@ package org.jeecg.modules.mdc.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; @@ -13,9 +12,7 @@ import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; import org.jeecg.common.system.vo.LoginUser; import org.jeecg.common.util.oConvertUtils; import org.jeecg.modules.mdc.dto.MdcEquipmentDto; import org.jeecg.modules.mdc.entity.MdcEquipment; import org.jeecg.modules.mdc.entity.MdcEquipmentMonitor; @@ -431,14 +428,19 @@ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, MdcEquipment mdcEquipment) { // Step.1 组装查询条件 QueryWrapper<MdcEquipment> queryWrapper = QueryGenerator.initQueryWrapper(mdcEquipment, request.getParameterMap()); //QueryWrapper<MdcEquipment> queryWrapper = QueryGenerator.initQueryWrapper(mdcEquipment, request.getParameterMap()); //Step.2 AutoPoi 导出Excel ModelAndView mv = new ModelAndView(new JeecgEntityExcelView()); String selections = request.getParameter("selections"); if (!oConvertUtils.isEmpty(selections)) { queryWrapper.in("id", selections.split(",")); List<MdcEquipment> pageList = mdcEquipmentService.exportXlsList(mdcEquipment); List<String> equipmentIds = pageList.stream().map(MdcEquipment::getId).collect(Collectors.toList()); if (!equipmentIds.isEmpty()) { Map<String, String> equDepNames = mdcEquipmentService.getDepNamesByEquipmentIds(equipmentIds); Map<String, String> equProNames = mdcEquipmentService.getProNamesByEquipmentIds(equipmentIds); pageList.forEach(item -> { item.setOrgCodeTxt(equDepNames.get(item.getId())); item.setProductionName(equProNames.get(item.getId())); }); } List<MdcEquipment> pageList = mdcEquipmentService.list(queryWrapper); mv.addObject(NormalExcelConstants.FILE_NAME, "设备列表"); mv.addObject(NormalExcelConstants.CLASS, MdcEquipment.class); LoginUser user = (LoginUser) SecurityUtils.getSubject().getPrincipal(); lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/entity/MdcEquipment.java
@@ -47,13 +47,13 @@ /** * 报警号 */ @Excel(name = "报警号", width = 15) //@Excel(name = "报警号", width = 15) @ApiModelProperty(value = "报警号") private String alarm; /** * 采集时间 */ @Excel(name = "采集时间", width = 15) //@Excel(name = "采集时间", width = 15) @ApiModelProperty(value = "采集时间") private String collectTime; /** @@ -65,7 +65,7 @@ /** * 设备实时状态 */ @Excel(name = "设备实时状态", width = 15) //@Excel(name = "设备实时状态", width = 15) @ApiModelProperty(value = "设备实时状态") private Integer oporation; /** @@ -132,9 +132,11 @@ private Integer equipmentStatus; /**部门名称*/ @Excel(name = "部门名称", width = 15) private transient String orgCodeTxt; /**产线名称*/ @Excel(name = "车间名称", width = 15) private transient String productionName; @TableField(exist = false) lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/MdcEquipmentMapper.java
@@ -98,4 +98,11 @@ @InterceptorIgnore(tenantLine = "1") MdcEquipmentDto getWorkLineLast(@Param("tableName") String saveTableName); /** * 导出list * @param mdcEquipment * @return */ List<MdcEquipment> exportXlsList(@Param("mdcEquipment") MdcEquipment mdcEquipment); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/mapper/xml/MdcEquipmentMapper.xml
@@ -239,7 +239,7 @@ AND t1.drive_type = #{mdcEquipment.driveType} </if> <if test="mdcEquipment.productionName != null and mdcEquipment.productionName != '' "> AND t3.production_name LIKE CONCAT(CONCAT('%',#{mdcEquipment.productionName}),'%') AND t3.id = #{ mdcEquipment.productionName } OR t3.parent_id = #{ mdcEquipment.productionName } </if> </where> order by t1.sort_no @@ -250,4 +250,34 @@ select top 1 spindlespeed, actualspindlespeed from [${tableName}] order by CollectTime desc </select> <select id="exportXlsList" resultType="org.jeecg.modules.mdc.entity.MdcEquipment"> SELECT t1.* FROM mdc_equipment t1 LEFT JOIN mdc_production_equipment t2 ON t1.id = t2.equipment_id LEFT JOIN mdc_production t3 ON t2.production_id = t3.id <where> <if test="mdcEquipment.equipmentId != null and mdcEquipment.equipmentId != '' "> AND t1.equipment_id LIKE CONCAT(CONCAT('%',#{mdcEquipment.equipmentId}),'%') </if> <if test="mdcEquipment.equipmentName != null and mdcEquipment.equipmentName != '' "> AND t1.equipment_name LIKE CONCAT(CONCAT('%',#{mdcEquipment.equipmentName}),'%') </if> <if test="mdcEquipment.equipmentModel != null and mdcEquipment.equipmentModel != '' "> AND t1.equipment_name = #{mdcEquipment.equipmentModel} </if> <if test="mdcEquipment.equipmentType != null and mdcEquipment.equipmentType != '' "> AND t1.equipmentType = #{mdcEquipment.equipmentType} </if> <if test="mdcEquipment.driveType != null and mdcEquipment.driveType != '' "> AND t1.drive_type = #{mdcEquipment.driveType} </if> <if test="mdcEquipment.productionName != null and mdcEquipment.productionName != '' "> AND t3.id = #{ mdcEquipment.productionName } OR t3.parent_id = #{ mdcEquipment.productionName } </if> </where> order by t1.sort_no </select> </mapper> lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/IMdcEquipmentService.java
@@ -182,5 +182,11 @@ */ void monitoringSpeedProcess(); /** * 导出List * @param mdcEquipment * @return */ List<MdcEquipment> exportXlsList(MdcEquipment mdcEquipment); } lxzn-module-mdc/src/main/java/org/jeecg/modules/mdc/service/impl/MdcEquipmentServiceImpl.java
@@ -766,4 +766,15 @@ } /** * 导出list * * @param mdcEquipment * @return */ @Override public List<MdcEquipment> exportXlsList(MdcEquipment mdcEquipment) { return this.baseMapper.exportXlsList(mdcEquipment); } }