From a3fed848f865e479c14c38db204c782998e49cac Mon Sep 17 00:00:00 2001 From: weitingdong <2480899115@qq.com> Date: Tue, 9 Jul 2024 15:49:57 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B7=A5=E5=99=A8=E5=85=B7=E5=8F=B0=E8=B4=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ToolInventoryRecordController.java | 87 ++++++++++++++++- .../leger/excel/ToolInventoryRecordExcel.java | 93 +++++++++++++++++++ .../mapper/ToolInventoryRecordMapper.java | 7 ++ .../mapper/ToolInventoryRecordMapper.xml | 12 +++ .../service/IToolInventoryRecordService.java | 14 +++ .../impl/ToolInventoryRecordServiceImpl.java | 12 +++ 6 files changed, 224 insertions(+), 1 deletion(-) create mode 100644 src/main/java/org/energy/modules/leger/excel/ToolInventoryRecordExcel.java diff --git a/src/main/java/org/energy/modules/leger/controller/ToolInventoryRecordController.java b/src/main/java/org/energy/modules/leger/controller/ToolInventoryRecordController.java index 7be152a..f21f938 100644 --- a/src/main/java/org/energy/modules/leger/controller/ToolInventoryRecordController.java +++ b/src/main/java/org/energy/modules/leger/controller/ToolInventoryRecordController.java @@ -15,25 +15,51 @@ */ package org.energy.modules.leger.controller; +import com.alibaba.excel.EasyExcel; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.dayu.daf.core.log.annotation.ApiLog; +import com.dayu.daf.core.tool.constant.DafConstant; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiParam; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import lombok.AllArgsConstructor; + +import javax.servlet.http.HttpServletResponse; import javax.validation.Valid; 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.excel.ToolInventoryRecordExcel; +import org.energy.modules.leger.service.*; import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.RequestParam; import com.baomidou.mybatisplus.core.metadata.IPage; import org.energy.modules.leger.entity.ToolInventoryRecord; import org.energy.modules.leger.vo.ToolInventoryRecordVO; -import org.energy.modules.leger.service.IToolInventoryRecordService; import com.dayu.daf.core.boot.ctrl.DafController; +import java.util.ArrayList; +import java.util.List; +import lombok.SneakyThrows; +import org.apache.commons.codec.Charsets; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; +import org.energy.modules.system.excel.UserExcel; +import org.springframework.web.bind.annotation.*; +import org.springframework.web.bind.annotation.RequestParam; +import com.baomidou.mybatisplus.core.metadata.IPage; +import org.energy.modules.leger.entity.EquipmentLedger; +import org.energy.modules.leger.vo.EquipmentLedgerVO; +import com.dayu.daf.core.boot.ctrl.DafController; +import springfox.documentation.annotations.ApiIgnore; + +import java.net.URLEncoder; +import java.util.ArrayList; +import java.util.List; +import java.util.Map; + /** * 工器具编码一览 控制器 * @@ -47,6 +73,9 @@ import com.dayu.daf.core.boot.ctrl.DafController; public class ToolInventoryRecordController extends DafController { private IToolInventoryRecordService toolInventoryRecordService; + private IInventoryDocumentService inventoryDocumentService; + private ITechParametersService techParametersService; + private IInspectionStandardsService inspectionStandardsService; /** * 详情 @@ -119,8 +148,64 @@ public class ToolInventoryRecordController 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)); + inspectionStandardsService.delInspectionStandards(Integer.parseInt(id)); + } return R.status(toolInventoryRecordService.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); + } + /** + * 驳回 工器具台账编码一览 + */ + @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(",")) { + ToolInventoryRecord toolInventoryRecord = new ToolInventoryRecord(); + toolInventoryRecord.setId(Long.parseLong(id)); + toolInventoryRecord.setCheckStatus(status); + list.add(toolInventoryRecord); + } + return R.status(toolInventoryRecordService.updateBatchById(list)); + } + + /** + * 导出 + */ + @SneakyThrows + @GetMapping("export") + @ApiOperationSupport(order = 10) + @ApiOperation(value = "导出", notes = "传入") + @ApiLog + public void exportUser(@ApiIgnore @RequestParam Map entity, HttpServletResponse response) { + QueryWrapper queryWrapper = Condition.getQueryWrapper(entity, ToolInventoryRecord.class); + queryWrapper.lambda().eq(ToolInventoryRecord::getIsDeleted, DafConstant.DB_NOT_DELETED); + List list = toolInventoryRecordService.export(queryWrapper); + response.setContentType("application/vnd.ms-excel"); + response.setCharacterEncoding(Charsets.UTF_8.name()); + String fileName = URLEncoder.encode("工器具台账数据导出", Charsets.UTF_8.name()); + response.setHeader("Content-disposition", "attachment;filename=" + fileName + ".xlsx"); + EasyExcel.write(response.getOutputStream(), ToolInventoryRecordExcel.class).sheet("工器具台账").doWrite(list); + } } diff --git a/src/main/java/org/energy/modules/leger/excel/ToolInventoryRecordExcel.java b/src/main/java/org/energy/modules/leger/excel/ToolInventoryRecordExcel.java new file mode 100644 index 0000000..ae70efa --- /dev/null +++ b/src/main/java/org/energy/modules/leger/excel/ToolInventoryRecordExcel.java @@ -0,0 +1,93 @@ +/** + * Copyright (c) 2018-2028, Chill Zhuang 庄骞 (smallchill@163.com). + *

+ * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + *

+ * http://www.apache.org/licenses/LICENSE-2.0 + *

+ * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.energy.modules.leger.excel; + +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import lombok.Data; + +import java.io.Serializable; + +/** + * EquipmentLedge model export + * @author edwong + */ +@Data +@ColumnWidth(25) +@HeadRowHeight(20) +@ContentRowHeight(16) +public class ToolInventoryRecordExcel implements Serializable { + private static final long serialVersionUID = 1L; + + @ColumnWidth(20) + @ExcelProperty(value = "设备台账编码") + private String eqLedgerCode; + + @ColumnWidth(15) + @ExcelProperty(value = "设备描述") + private String deviceDescription; + + @ColumnWidth(15) + @ExcelProperty(value = "KKS编码") + private String kksEncoding; + + @ColumnWidth(15) + @ExcelProperty(value = "设备种类") + private String eqType; + + @ColumnWidth(15) + @ExcelProperty(value = "资产编码") + private String assetCode; + + @ColumnWidth(15) + @ExcelProperty(value = "制造商") + private String manufacturer; + + @ColumnWidth(15) + @ExcelProperty(value = "制造商国家") + private String manufacturerCountry; + + @ColumnWidth(15) + @ExcelProperty(value = "制造商零件号") + private String manufacturerPartNo; + + @ColumnWidth(15) + @ExcelProperty(value = "制造年月") + private String manufactureDate; + + @ColumnWidth(15) + @ExcelProperty(value = "制造序列号") + private String manufacturingSerialNo; + + @ColumnWidth(15) + @ExcelProperty(value = "型号") + private String model; + + @ColumnWidth(15) + @ExcelProperty(value = "大小尺寸") + private String sizeAndSize; + + @ColumnWidth(15) + @ExcelProperty(value = "对象重量") + private String objectWeight; + + @ColumnWidth(15) + @ExcelProperty(value = "审核状态") + private String checkStatusExt; + +} diff --git a/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.java b/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.java index be8c999..d82dbb4 100644 --- a/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.java +++ b/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.java @@ -1,10 +1,15 @@ package org.energy.modules.leger.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.apache.ibatis.annotations.Param; +import org.energy.modules.leger.entity.EquipmentLedger; import org.energy.modules.leger.entity.ToolInventoryRecord; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; import org.energy.modules.leger.vo.ToolInventoryRecordVO; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import java.util.List; +import org.energy.modules.leger.excel.ToolInventoryRecordExcel; /** * 工器具编码一览 Mapper 接口 @@ -23,4 +28,6 @@ public interface ToolInventoryRecordMapper extends BaseMapper selectToolInventoryRecordPage(IPage page, ToolInventoryRecordVO toolInventoryRecord); + List exportData(@Param("ew") Wrapper queryWrapper); + } diff --git a/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.xml b/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.xml index 09eb5ff..1828a97 100644 --- a/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.xml +++ b/src/main/java/org/energy/modules/leger/mapper/ToolInventoryRecordMapper.xml @@ -33,4 +33,16 @@ select * from l_tool_inventory_record where is_deleted = 0 + diff --git a/src/main/java/org/energy/modules/leger/service/IToolInventoryRecordService.java b/src/main/java/org/energy/modules/leger/service/IToolInventoryRecordService.java index 392b0ed..eb44cac 100644 --- a/src/main/java/org/energy/modules/leger/service/IToolInventoryRecordService.java +++ b/src/main/java/org/energy/modules/leger/service/IToolInventoryRecordService.java @@ -1,10 +1,16 @@ package org.energy.modules.leger.service; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.energy.modules.leger.entity.EquipmentLedger; import org.energy.modules.leger.entity.ToolInventoryRecord; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; +import org.energy.modules.leger.excel.ToolInventoryRecordExcel; import org.energy.modules.leger.vo.ToolInventoryRecordVO; import com.dayu.daf.core.mp.base.BaseService; import com.baomidou.mybatisplus.core.metadata.IPage; +import java.util.List; + /** * 工器具编码一览 服务类 * @@ -22,4 +28,12 @@ public interface IToolInventoryRecordService extends BaseService selectToolInventoryRecordPage(IPage page, ToolInventoryRecordVO toolInventoryRecord); + /** + * 获取导出数据 + * + * @param queryWrapper + * @return + */ + List export(Wrapper queryWrapper); + } diff --git a/src/main/java/org/energy/modules/leger/service/impl/ToolInventoryRecordServiceImpl.java b/src/main/java/org/energy/modules/leger/service/impl/ToolInventoryRecordServiceImpl.java index 182c3fd..b742841 100644 --- a/src/main/java/org/energy/modules/leger/service/impl/ToolInventoryRecordServiceImpl.java +++ b/src/main/java/org/energy/modules/leger/service/impl/ToolInventoryRecordServiceImpl.java @@ -1,12 +1,18 @@ package org.energy.modules.leger.service.impl; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import org.energy.modules.leger.entity.EquipmentLedger; import org.energy.modules.leger.entity.ToolInventoryRecord; +import org.energy.modules.leger.excel.EquipmentLedgerExcel; import org.energy.modules.leger.vo.ToolInventoryRecordVO; import org.energy.modules.leger.mapper.ToolInventoryRecordMapper; import org.energy.modules.leger.service.IToolInventoryRecordService; import com.dayu.daf.core.mp.base.BaseServiceImpl; import org.springframework.stereotype.Service; import com.baomidou.mybatisplus.core.metadata.IPage; +import org.energy.modules.leger.excel.ToolInventoryRecordExcel; + +import java.util.List; /** * 工器具编码一览 服务实现类 @@ -22,4 +28,10 @@ public class ToolInventoryRecordServiceImpl extends BaseServiceImpl export(Wrapper queryWrapper) { + List list = baseMapper.exportData(queryWrapper); + return list; + } + }