From 80e8110e4f3a132ee2819f2560a661c6f6693fcf Mon Sep 17 00:00:00 2001 From: houjie <714924425@qq.com> Date: 星期三, 30 八月 2023 18:51:59 +0800 Subject: [PATCH] 备件调整 导入导出 --- lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparePartController.java | 468 +++++++++++++++++++++++++++++---------------------------- 1 files changed, 237 insertions(+), 231 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparePartController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparePartController.java index bfdd198..b569717 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparePartController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/spare/controller/SparePartController.java @@ -1,271 +1,277 @@ package org.jeecg.modules.spare.controller; -import java.math.BigDecimal; -import java.util.Arrays; -import java.util.List; -import java.util.Map; -import java.util.stream.Collectors; -import java.io.IOException; -import java.io.UnsupportedEncodingException; -import java.net.URLDecoder; -import javax.servlet.http.HttpServletRequest; -import javax.servlet.http.HttpServletResponse; - -import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; -import org.jeecg.common.api.vo.Result; -import org.jeecg.common.system.base.entity.SysUpload; -import org.jeecg.common.system.base.entity.SysUploadRela; -import org.jeecg.common.system.query.QueryGenerator; -import org.jeecg.common.util.oConvertUtils; -import org.jeecg.modules.eam.model.InspectionCycleVo; -import org.jeecg.modules.spare.entity.SparePart; -import org.jeecg.modules.spare.entity.SparesPartInventory; -import org.jeecg.modules.spare.service.ISparePartService; - import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; - +import org.jeecg.common.api.vo.Result; +import org.jeecg.common.aspect.annotation.AutoLog; +import org.jeecg.common.system.base.controller.JeecgController; +import org.jeecg.common.system.query.QueryGenerator; +import org.jeecg.modules.spare.entity.SparePart; +import org.jeecg.modules.spare.entity.SparesPartInventory; +import org.jeecg.modules.spare.service.ISparePartService; import org.jeecg.modules.spare.service.ISparesPartInventoryService; import org.jeecg.modules.spare.vo.AuxiliaryUnitVo; import org.jeecgframework.poi.excel.ExcelImportUtil; -import org.jeecgframework.poi.excel.def.NormalExcelConstants; -import org.jeecgframework.poi.excel.entity.ExportParams; import org.jeecgframework.poi.excel.entity.ImportParams; -import org.jeecgframework.poi.excel.view.JeecgEntityExcelView; -import org.jeecg.common.system.base.controller.JeecgController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.springframework.web.servlet.ModelAndView; -import com.alibaba.fastjson.JSON; -import io.swagger.annotations.Api; -import io.swagger.annotations.ApiOperation; -import org.jeecg.common.aspect.annotation.AutoLog; - /** +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** * @Description: mom_eam_spare_part * @Author: jeecg-boot - * @Date: 2023-06-20 + * @Date: 2023-06-20 * @Version: V1.0 */ -@Api(tags="mom_eam_spare_part") +@Api(tags = "mom_eam_spare_part") @RestController @RequestMapping("/spare/sparePart") @Slf4j public class SparePartController extends JeecgController<SparePart, ISparePartService> { - @Autowired - private ISparePartService sparePartService; + @Autowired + private ISparePartService sparePartService; - @Autowired - private ISparesPartInventoryService sparesPartInventoryService; - - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * - * @param sparePart - * @param pageNo - * @param pageSize - * @param req - * @return - */ - //@AutoLog(value = "mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ") - @ApiOperation(value="mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ", notes="mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/list") - public Result<IPage<SparePart>> queryPageList(SparePart sparePart, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<SparePart> queryWrapper = QueryGenerator.initQueryWrapper(sparePart, req.getParameterMap()); - Page<SparePart> page = new Page<SparePart>(pageNo, pageSize); - IPage<SparePart> pageList = sparePartService.page(page, queryWrapper); - for (SparePart record : pageList.getRecords()) { - String mainUnitId = record.getMainUnitId(); - List<AuxiliaryUnitVo> auxiliaryUnits = sparePartService.getAuxiliaryUnits(mainUnitId); - record.setAuxiliaryUnits(auxiliaryUnits); - } - return Result.OK(pageList); - } - - /** - * 鍒嗛〉鍒楄〃鏌ヨ - * 澶囦欢搴撳瓨灞曠ず椤� - */ - @ApiOperation(value="mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ", notes="mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ") - @GetMapping(value = "/sparePartInventoryList") - public Result<IPage<SparePart>> sparePartInventoryList(SparePart sparePart, - @RequestParam(name="pageNo", defaultValue="1") Integer pageNo, - @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, - HttpServletRequest req) { - QueryWrapper<SparePart> queryWrapper = QueryGenerator.initQueryWrapper(sparePart, req.getParameterMap()); - Page<SparePart> page = new Page<SparePart>(pageNo, pageSize); - IPage<SparePart> pageList = sparePartService.page(page, queryWrapper); - for (SparePart record : pageList.getRecords()) { - String sparePartId = record.getId(); - - QueryWrapper<SparesPartInventory> wrapper = new QueryWrapper<>(); - wrapper.eq("spare_part_id", sparePartId) - .eq("del_flag", 0); - wrapper.select("sum(main_quantity) as totalMainQuantity"); - Map<String, Object> map = sparesPartInventoryService.getMap(wrapper); - BigDecimal totalMainQuantity = new BigDecimal(0); - if (map != null) { - totalMainQuantity = (BigDecimal)map.get("totalMainQuantity"); - } - record.setTotalMainQuantity(totalMainQuantity); - - wrapper.eq("spare_part_id", sparePartId) - .eq("del_flag", 0); - wrapper.select("sum(auxiliary_quantity) as totalAuxiliaryQuantity"); - Map<String, Object> map2 = sparesPartInventoryService.getMap(wrapper); - BigDecimal totalAuxiliaryQuantity = new BigDecimal(0); - if (map != null) { - totalAuxiliaryQuantity = (BigDecimal)map2.get("totalAuxiliaryQuantity"); - } - record.setTotalAuxiliaryQuantity(totalAuxiliaryQuantity); - - } - return Result.OK(pageList); - } - - - /** - * 娣诲姞 - * - * @param sparePart - * @return - */ - @AutoLog(value = "mom_eam_spare_part-娣诲姞") - @ApiOperation(value="mom_eam_spare_part-娣诲姞", notes="mom_eam_spare_part-娣诲姞") - //@RequiresPermissions("org.jeecg.modules:mom_eam_spare_part:add") - @PostMapping(value = "/add") - public Result<String> add(@RequestBody SparePart sparePart) { - sparePartService.save(sparePart); - return Result.OK("娣诲姞鎴愬姛锛�"); - } - - /** - * 缂栬緫 - * - * @param sparePart - * @return - */ - @AutoLog(value = "mom_eam_spare_part-缂栬緫") - @ApiOperation(value="mom_eam_spare_part-缂栬緫", notes="mom_eam_spare_part-缂栬緫") - //@RequiresPermissions("org.jeecg.modules:mom_eam_spare_part:edit") - @RequestMapping(value = "/edit", method = {RequestMethod.PUT,RequestMethod.POST}) - public Result<String> edit(@RequestBody SparePart sparePart) { - sparePartService.updateById(sparePart); - return Result.OK("缂栬緫鎴愬姛!"); - } - - /** - * 閫氳繃id鍒犻櫎 - * - * @param id - * @return - */ - @AutoLog(value = "mom_eam_spare_part-閫氳繃id鍒犻櫎") - @ApiOperation(value="mom_eam_spare_part-閫氳繃id鍒犻櫎", notes="mom_eam_spare_part-閫氳繃id鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:mom_eam_spare_part:delete") - @DeleteMapping(value = "/delete") - public Result<String> delete(@RequestParam(name="id",required=true) String id) { - sparePartService.removeById(id); - return Result.OK("鍒犻櫎鎴愬姛!"); - } - - /** - * 鎵归噺鍒犻櫎 - * - * @param ids - * @return - */ - @AutoLog(value = "mom_eam_spare_part-鎵归噺鍒犻櫎") - @ApiOperation(value="mom_eam_spare_part-鎵归噺鍒犻櫎", notes="mom_eam_spare_part-鎵归噺鍒犻櫎") - //@RequiresPermissions("org.jeecg.modules:mom_eam_spare_part:deleteBatch") - @DeleteMapping(value = "/deleteBatch") - public Result<String> deleteBatch(@RequestParam(name="ids",required=true) String ids) { - this.sparePartService.removeByIds(Arrays.asList(ids.split(","))); - return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); - } - - /** - * 閫氳繃id鏌ヨ - * - * @param id - * @return - */ - //@AutoLog(value = "mom_eam_spare_part-閫氳繃id鏌ヨ") - @ApiOperation(value="mom_eam_spare_part-閫氳繃id鏌ヨ", notes="mom_eam_spare_part-閫氳繃id鏌ヨ") - @GetMapping(value = "/queryById") - public Result<SparePart> queryById(@RequestParam(name="id",required=true) String id) { - SparePart sparePart = sparePartService.getById(id); - if(sparePart==null) { - return Result.error("鏈壘鍒板搴旀暟鎹�"); - } - return Result.OK(sparePart); - } + @Autowired + private ISparesPartInventoryService sparesPartInventoryService; /** - * 瀵煎嚭excel - * - * @param request - * @param sparePart - */ - //@RequiresPermissions("org.jeecg.modules:mom_eam_spare_part:exportXls") + * 鍒嗛〉鍒楄〃鏌ヨ + * + * @param sparePart + * @param pageNo + * @param pageSize + * @param req + * @return + */ + @ApiOperation(value = "mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ", notes = "mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/list") + public Result<IPage<SparePart>> queryPageList(SparePart sparePart, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<SparePart> queryWrapper = QueryGenerator.initQueryWrapper(sparePart, req.getParameterMap()); + Page<SparePart> page = new Page<SparePart>(pageNo, pageSize); + IPage<SparePart> pageList = sparePartService.page(page, queryWrapper); + for (SparePart record : pageList.getRecords()) { + String mainUnitId = record.getMainUnitId(); + List<AuxiliaryUnitVo> auxiliaryUnits = sparePartService.getAuxiliaryUnits(mainUnitId); + record.setAuxiliaryUnits(auxiliaryUnits); + } + return Result.OK(pageList); + } + + /** + * 鍒嗛〉鍒楄〃鏌ヨ + * 澶囦欢搴撳瓨灞曠ず椤� + */ + @ApiOperation(value = "mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ", notes = "mom_eam_spare_part-鍒嗛〉鍒楄〃鏌ヨ") + @GetMapping(value = "/sparePartInventoryList") + public Result<IPage<SparePart>> sparePartInventoryList(SparePart sparePart, + @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, + @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, + HttpServletRequest req) { + QueryWrapper<SparePart> queryWrapper = QueryGenerator.initQueryWrapper(sparePart, req.getParameterMap()); + Page<SparePart> page = new Page<SparePart>(pageNo, pageSize); + IPage<SparePart> pageList = sparePartService.page(page, queryWrapper); + for (SparePart record : pageList.getRecords()) { + String sparePartId = record.getId(); + + QueryWrapper<SparesPartInventory> wrapper = new QueryWrapper<>(); + wrapper.eq("spare_part_id", sparePartId) + .eq("del_flag", 0); + wrapper.select("sum(main_quantity) as totalMainQuantity"); + Map<String, Object> map = sparesPartInventoryService.getMap(wrapper); + BigDecimal totalMainQuantity = new BigDecimal(0); + if (map != null) { + totalMainQuantity = (BigDecimal) map.get("totalMainQuantity"); + } + record.setTotalMainQuantity(totalMainQuantity); + + wrapper.eq("spare_part_id", sparePartId) + .eq("del_flag", 0); + wrapper.select("sum(auxiliary_quantity) as totalAuxiliaryQuantity"); + Map<String, Object> map2 = sparesPartInventoryService.getMap(wrapper); + BigDecimal totalAuxiliaryQuantity = new BigDecimal(0); + if (map != null) { + totalAuxiliaryQuantity = (BigDecimal) map2.get("totalAuxiliaryQuantity"); + } + record.setTotalAuxiliaryQuantity(totalAuxiliaryQuantity); + + } + return Result.OK(pageList); + } + + + /** + * 娣诲姞 + * + * @param sparePart + * @return + */ + @AutoLog(value = "mom_eam_spare_part-娣诲姞") + @ApiOperation(value = "mom_eam_spare_part-娣诲姞", notes = "mom_eam_spare_part-娣诲姞") + @PostMapping(value = "/add") + public Result<String> add(@RequestBody SparePart sparePart) { + sparePartService.save(sparePart); + return Result.OK("娣诲姞鎴愬姛锛�"); + } + + /** + * 缂栬緫 + * + * @param sparePart + * @return + */ + @AutoLog(value = "mom_eam_spare_part-缂栬緫") + @ApiOperation(value = "mom_eam_spare_part-缂栬緫", notes = "mom_eam_spare_part-缂栬緫") + //@RequiresPermissions("org.jeecg.modules:mom_eam_spare_part:edit") + @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST}) + public Result<String> edit(@RequestBody SparePart sparePart) { + sparePartService.updateById(sparePart); + return Result.OK("缂栬緫鎴愬姛!"); + } + + /** + * 閫氳繃id鍒犻櫎 + * + * @param id + * @return + */ + @AutoLog(value = "mom_eam_spare_part-閫氳繃id鍒犻櫎") + @ApiOperation(value = "mom_eam_spare_part-閫氳繃id鍒犻櫎", notes = "mom_eam_spare_part-閫氳繃id鍒犻櫎") + @DeleteMapping(value = "/delete") + public Result<String> delete(@RequestParam(name = "id", required = true) String id) { + sparePartService.removeById(id); + return Result.OK("鍒犻櫎鎴愬姛!"); + } + + /** + * 鎵归噺鍒犻櫎 + * + * @param ids + * @return + */ + @AutoLog(value = "mom_eam_spare_part-鎵归噺鍒犻櫎") + @ApiOperation(value = "mom_eam_spare_part-鎵归噺鍒犻櫎", notes = "mom_eam_spare_part-鎵归噺鍒犻櫎") + @DeleteMapping(value = "/deleteBatch") + public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) { + this.sparePartService.removeByIds(Arrays.asList(ids.split(","))); + return Result.OK("鎵归噺鍒犻櫎鎴愬姛!"); + } + + /** + * 閫氳繃id鏌ヨ + * + * @param id + * @return + */ + @ApiOperation(value = "mom_eam_spare_part-閫氳繃id鏌ヨ", notes = "mom_eam_spare_part-閫氳繃id鏌ヨ") + @GetMapping(value = "/queryById") + public Result<SparePart> queryById(@RequestParam(name = "id", required = true) String id) { + SparePart sparePart = sparePartService.getById(id); + if (sparePart == null) { + return Result.error("鏈壘鍒板搴旀暟鎹�"); + } + return Result.OK(sparePart); + } + + /** + * 瀵煎嚭excel + * + * @param request + * @param sparePart + */ @RequestMapping(value = "/exportXls") public ModelAndView exportXls(HttpServletRequest request, SparePart sparePart) { return super.exportXls(request, sparePart, SparePart.class, "mom_eam_spare_part"); } /** - * 閫氳繃excel瀵煎叆鏁版嵁 - * - * @param request - * @param response - * @return - */ - //@RequiresPermissions("mom_eam_spare_part:importExcel") + * 閫氳繃excel瀵煎叆鏁版嵁 + * + * @param request + * @param response + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { - return super.importExcel(request, response, SparePart.class); + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + // 鑾峰彇涓婁紶鏂囦欢瀵硅薄 + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setTitleRows(2); + params.setHeadRows(1); + params.setNeedSave(true); + try { + List<SparePart> list = ExcelImportUtil.importExcel(file.getInputStream(), SparePart.class, params); + long start = System.currentTimeMillis(); + sparePartService.saveBatch(list); + log.info("娑堣�楁椂闂�" + (System.currentTimeMillis() - start) + "姣"); + return Result.OK("鏂囦欢瀵煎叆鎴愬姛锛佹暟鎹鏁帮細" + list.size()); + } catch (Exception e) { + log.error(e.getMessage(), e); + return Result.error("鏂囦欢瀵煎叆澶辫触:" + e.getMessage()); + } finally { + try { + file.getInputStream().close(); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + return Result.error("鏂囦欢瀵煎叆澶辫触锛�"); } - /** - * 閫氳繃璁惧澶囦欢鑾峰彇閫傞厤鐨勮澶� - * qsw 2023-6-21 - */ - @GetMapping("getSpareContactEquipmentList") - public Result<?> getSpareContactEquipmentList(@RequestParam("pageNo") Integer pageNo, - @RequestParam("pageSize") Integer pageSize, - @RequestParam Map<String, Object> params) { - IPage<Map<String, Object>> spareContactEquipmentList = sparePartService.getSpareContactEquipmentList(pageNo, pageSize, params); - return Result.ok(spareContactEquipmentList); - } + /** + * 閫氳繃璁惧澶囦欢鑾峰彇閫傞厤鐨勮澶� + * qsw 2023-6-21 + */ + @GetMapping("getSpareContactEquipmentList") + public Result<?> getSpareContactEquipmentList(@RequestParam("pageNo") Integer pageNo, + @RequestParam("pageSize") Integer pageSize, + @RequestParam Map<String, Object> params) { + IPage<Map<String, Object>> spareContactEquipmentList = sparePartService.getSpareContactEquipmentList(pageNo, pageSize, params); + return Result.ok(spareContactEquipmentList); + } - /** - * 鏍规嵁涓诲崟浣嶈幏鍙栬緟鍗曚綅 - * qsw 2023-6-23 - */ - @GetMapping("getAuxiliaryUnits") - public Result<?> getAuxiliaryUnits(@RequestParam(name = "mainUnitId", required = true) String mainUnitId) { - List<AuxiliaryUnitVo> auxiliaryUnits = sparePartService.getAuxiliaryUnits(mainUnitId); - return Result.ok(auxiliaryUnits); - } + /** + * 鏍规嵁涓诲崟浣嶈幏鍙栬緟鍗曚綅 + * qsw 2023-6-23 + */ + @GetMapping("getAuxiliaryUnits") + public Result<?> getAuxiliaryUnits(@RequestParam(name = "mainUnitId", required = true) String mainUnitId) { + List<AuxiliaryUnitVo> auxiliaryUnits = sparePartService.getAuxiliaryUnits(mainUnitId); + return Result.ok(auxiliaryUnits); + } - /** - * 鏍规嵁涓诲崟浣嶃�佽緟鍗曚綅鑾峰彇 鍞竴鎹㈢畻姣斾緥 - * qsw 2023-6-28 - */ - @GetMapping("getConversionRatio") - public Result<?> getConversionRatio(@RequestParam(name = "mainUnitId", required = true) String mainUnitId,@RequestParam(name = "auxiliaryUnitId", required = true) String auxiliaryUnitId) { - List<String> conversionRatio = sparePartService.getConversionRatio(mainUnitId, auxiliaryUnitId); - if(conversionRatio.size()>0){ - return Result.ok(conversionRatio.get(0)); - }else{ - return Result.ok(""); - } - } + /** + * 鏍规嵁涓诲崟浣嶃�佽緟鍗曚綅鑾峰彇 鍞竴鎹㈢畻姣斾緥 + * qsw 2023-6-28 + */ + @GetMapping("getConversionRatio") + public Result<?> getConversionRatio(@RequestParam(name = "mainUnitId", required = true) String mainUnitId, @RequestParam(name = "auxiliaryUnitId", required = true) String auxiliaryUnitId) { + List<String> conversionRatio = sparePartService.getConversionRatio(mainUnitId, auxiliaryUnitId); + if (conversionRatio.size() > 0) { + return Result.ok(conversionRatio.get(0)); + } else { + return Result.ok(""); + } + } } -- Gitblit v1.9.3