diff --git a/src/main/java/org/energy/modules/leger/controller/EquipmentLedgerController.java b/src/main/java/org/energy/modules/leger/controller/EquipmentLedgerController.java index a02bfca..8f8c39c 100644 --- a/src/main/java/org/energy/modules/leger/controller/EquipmentLedgerController.java +++ b/src/main/java/org/energy/modules/leger/controller/EquipmentLedgerController.java @@ -33,6 +33,8 @@ import com.dayu.daf.core.mp.support.Condition; import com.dayu.daf.core.mp.support.Query; import com.dayu.daf.core.tool.api.R; import com.dayu.daf.core.tool.utils.Func; +import org.energy.modules.leger.service.IInventoryDocumentService; +import org.energy.modules.leger.service.ITechParametersService; import lombok.SneakyThrows; import org.apache.commons.codec.Charsets; import org.energy.modules.leger.excel.EquipmentLedgerExcel; @@ -44,11 +46,6 @@ import org.energy.modules.leger.entity.EquipmentLedger; import org.energy.modules.leger.vo.EquipmentLedgerVO; import org.energy.modules.leger.service.IEquipmentLedgerService; import com.dayu.daf.core.boot.ctrl.DafController; -import springfox.documentation.annotations.ApiIgnore; - -import java.net.URLEncoder; -import java.util.List; -import java.util.Map; /** * 设备台账编码一览 控制器 @@ -63,6 +60,8 @@ import java.util.Map; public class EquipmentLedgerController extends DafController { private IEquipmentLedgerService equipmentLedgerService; + private IInventoryDocumentService inventoryDocumentService; + private ITechParametersService techParametersService; /** * 详情 @@ -82,7 +81,6 @@ public class EquipmentLedgerController extends DafController { @ApiOperationSupport(order = 2) @ApiOperation(value = "分页", notes = "传入equipmentLedger") public R> list(EquipmentLedger equipmentLedger, Query query) { - query.setAscs("eq_ledger_code"); IPage pages = equipmentLedgerService.page(Condition.getPage(query), Condition.getQueryWrapper(equipmentLedger)); return R.data(pages); } @@ -136,9 +134,22 @@ public class EquipmentLedgerController extends DafController { @ApiOperationSupport(order = 7) @ApiOperation(value = "逻辑删除", notes = "传入ids") public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + for (String id : ids.split(",")) { + inventoryDocumentService.delInventoryDocument(Integer.parseInt(id)); + techParametersService.delTechParameters(Integer.parseInt(id)); + } return R.status(equipmentLedgerService.deleteLogic(Func.toLongList(ids))); } + /** + * 审核 设备台账编码一览 + */ + @PostMapping("/auditing") + @ApiOperationSupport(order = 8) + @ApiOperation(value = "更新", notes = "传入ids") + public R auditing(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return this.approve(2,ids); + } /** * 导出 */ @@ -159,4 +170,27 @@ public class EquipmentLedgerController extends DafController { } + /** + * 驳回 设备台账编码一览 + */ + @PostMapping("/reject") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "更新", notes = "传入ids") + public R reject(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) { + return this.approve(3,ids); + } + + /** + * 驳回OR审核 设备台账编码一览 + */ + public R approve(Integer status, String ids) { + List list = new ArrayList<>(); + for (String id : ids.split(",")) { + EquipmentLedger equipmentLedger = new EquipmentLedger(); + equipmentLedger.setId(Integer.parseInt(id)); + equipmentLedger.setCheckStatus(status); + list.add(equipmentLedger); + } + return R.status(equipmentLedgerService.updateBatchById(list)); + } } diff --git a/src/main/java/org/energy/modules/leger/controller/InventoryDocumentController.java b/src/main/java/org/energy/modules/leger/controller/InventoryDocumentController.java index ce5f9a9..f44ebe0 100644 --- a/src/main/java/org/energy/modules/leger/controller/InventoryDocumentController.java +++ b/src/main/java/org/energy/modules/leger/controller/InventoryDocumentController.java @@ -135,4 +135,14 @@ public class InventoryDocumentController extends DafController { List list = inventoryDocumentService.list(Condition.getQueryWrapper(inventoryDocument)); return R.data(list); } + + /** + * 删除 技术参数一览 + */ + @GetMapping("/del") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "逻辑删除", notes = "传入eqLedgerId") + public R del(@ApiParam(value = "主键集合", required = true) @RequestParam Integer eqLedgerId) { + return R.status(inventoryDocumentService.delInventoryDocument(eqLedgerId)); + } } diff --git a/src/main/java/org/energy/modules/leger/controller/TechParametersController.java b/src/main/java/org/energy/modules/leger/controller/TechParametersController.java index 2bdfbe1..6e9fba3 100644 --- a/src/main/java/org/energy/modules/leger/controller/TechParametersController.java +++ b/src/main/java/org/energy/modules/leger/controller/TechParametersController.java @@ -136,4 +136,13 @@ public class TechParametersController extends DafController { return R.data(list); } + /** + * 删除 技术参数一览 + */ + @GetMapping("/del") + @ApiOperationSupport(order = 9) + @ApiOperation(value = "逻辑删除", notes = "传入eqLedgerId") + public R del(@ApiParam(value = "主键集合", required = true) @RequestParam Integer eqLedgerId) { + return R.status(techParametersService.delTechParameters(eqLedgerId)); + } } diff --git a/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.java b/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.java index b7026a6..19c5e5b 100644 --- a/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.java +++ b/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.java @@ -23,4 +23,11 @@ public interface InventoryDocumentMapper extends BaseMapper { */ List selectInventoryDocumentPage(IPage page, InventoryDocumentVO inventoryDocument); + /** + * 自定义分页 + * + * @param eqLedgerId + * @return + */ + boolean delInventoryDocument(Integer eqLedgerId); } diff --git a/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.xml b/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.xml index ce946f0..8afc78a 100644 --- a/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.xml +++ b/src/main/java/org/energy/modules/leger/mapper/InventoryDocumentMapper.xml @@ -28,4 +28,8 @@ select * from l_inventory_document where is_deleted = 0 + + update l_inventory_document set is_deleted = 1 where eq_ledger_id = #{_parameter} + + diff --git a/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.java b/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.java index 7f61771..a792c80 100644 --- a/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.java +++ b/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.java @@ -23,4 +23,12 @@ public interface TechParametersMapper extends BaseMapper { */ List selectTechParametersPage(IPage page, TechParametersVO techParameters); + /** + * 自定义分页 + * + * @param eqLedgerId + * @return + */ + boolean delTechParameters(Integer eqLedgerId); + } diff --git a/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.xml b/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.xml index 98c7150..e3daed2 100644 --- a/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.xml +++ b/src/main/java/org/energy/modules/leger/mapper/TechParametersMapper.xml @@ -22,4 +22,8 @@ select * from l_tech_parameters where is_deleted = 0 + + update l_tech_parameters set is_deleted = 1 where eq_ledger_id = #{_parameter} + + diff --git a/src/main/java/org/energy/modules/leger/service/IInventoryDocumentService.java b/src/main/java/org/energy/modules/leger/service/IInventoryDocumentService.java index 84e1eb7..08478cd 100644 --- a/src/main/java/org/energy/modules/leger/service/IInventoryDocumentService.java +++ b/src/main/java/org/energy/modules/leger/service/IInventoryDocumentService.java @@ -22,4 +22,12 @@ public interface IInventoryDocumentService extends BaseService selectInventoryDocumentPage(IPage page, InventoryDocumentVO inventoryDocument); + /** + * 自定义分页 + * + * @param eqLedgerId + * @return + */ + boolean delInventoryDocument(Integer eqLedgerId); + } diff --git a/src/main/java/org/energy/modules/leger/service/ITechParametersService.java b/src/main/java/org/energy/modules/leger/service/ITechParametersService.java index 5c40826..a38a159 100644 --- a/src/main/java/org/energy/modules/leger/service/ITechParametersService.java +++ b/src/main/java/org/energy/modules/leger/service/ITechParametersService.java @@ -22,4 +22,12 @@ public interface ITechParametersService extends BaseService { */ IPage selectTechParametersPage(IPage page, TechParametersVO techParameters); + /** + * 自定义分页 + * + * @param eqLedgerId + * @return + */ + boolean delTechParameters(Integer eqLedgerId); + } diff --git a/src/main/java/org/energy/modules/leger/service/impl/InventoryDocumentServiceImpl.java b/src/main/java/org/energy/modules/leger/service/impl/InventoryDocumentServiceImpl.java index 6c830f0..8328d51 100644 --- a/src/main/java/org/energy/modules/leger/service/impl/InventoryDocumentServiceImpl.java +++ b/src/main/java/org/energy/modules/leger/service/impl/InventoryDocumentServiceImpl.java @@ -22,4 +22,8 @@ public class InventoryDocumentServiceImpl extends BaseServiceImpl { Map saveFileInfo(String fileType, String filePath, String fileName, String fileSuffix, String oldFileName); + void downloadFile(String fileName, HttpServletResponse response); + } diff --git a/src/main/java/org/energy/modules/system/service/impl/FileServiceImpl.java b/src/main/java/org/energy/modules/system/service/impl/FileServiceImpl.java index 0e96a78..9446bfe 100644 --- a/src/main/java/org/energy/modules/system/service/impl/FileServiceImpl.java +++ b/src/main/java/org/energy/modules/system/service/impl/FileServiceImpl.java @@ -1,5 +1,7 @@ package org.energy.modules.system.service.impl; +import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.dayu.daf.core.log.exception.ServiceException; import org.energy.modules.system.entity.File; import org.energy.modules.system.vo.FileVO; import org.energy.modules.system.mapper.FileMapper; @@ -8,6 +10,9 @@ import com.dayu.daf.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; +import javax.servlet.ServletOutputStream; +import javax.servlet.http.HttpServletResponse; +import java.io.FileInputStream; import java.util.HashMap; import java.util.Map; @@ -45,4 +50,48 @@ public class FileServiceImpl extends BaseServiceImpl implement return null; } + @Override + public void downloadFile(String fileName, HttpServletResponse response) { + File info = super.getOne(Wrappers.lambdaQuery().eq(File::getFileName, fileName), false); + + if (info == null) { + throw new ServiceException("下载文件出错"); + } + + String path = "." + info.getFilePath() + info.getFileName() + info.getFileSuffix(); + String osName = System.getProperties().getProperty("os.name"); + + if (osName.contains("Windows")) { + path = "C:/" + path; + } + + java.io.File file = new java.io.File(path); + if (!file.exists()) { + throw new ServiceException("下载文件出错"); + } + + try { + String realName = info.getFileOldName(); + // 3. 设置想办法让浏览器能够支持(Content-Disposition)下载我们需要的东西,中文文件名URLEncoder.encode编码,否则有可能乱码 + response.setHeader("Content-Disposition", "attachment; filename=\"" + new String(realName.getBytes(), "ISO8859-1") + "\""); + response.setCharacterEncoding("UTF-8"); + // 4. 获取下载文件的输入流 + FileInputStream in = new FileInputStream(path); + // 5. 创建缓冲区 + int len = 0; + byte[] buffer = new byte[1024]; + // 6. 获取OutputStream对象 + ServletOutputStream out = response.getOutputStream(); + // 7. 将FileOutputStream流写入到buffer缓冲区,使用OutputStream将缓冲区中的数据输出到客户端! + while ((len = in.read(buffer)) > 0) { + out.write(buffer, 0, len); + } + in.close(); + out.close(); + } catch (Exception e) { + log.error(e.getMessage(), e); + throw new ServiceException("下载文件出错"); + } + + } }