From 75a376746ef2ef0d19abc134c4fac69c4274a3ca Mon Sep 17 00:00:00 2001 From: “linengliang” <vanSuperEnergy@163.com> Date: 星期一, 09 十月 2023 18:04:03 +0800 Subject: [PATCH] 设备台账修改 --- lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java | 184 ++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 169 insertions(+), 15 deletions(-) diff --git a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java index 2ab70b8..11444dc 100644 --- a/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java +++ b/lxzn-module-eam/src/main/java/org/jeecg/modules/eam/controller/PrecisionParametersTemplateController.java @@ -4,10 +4,15 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; 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.apache.poi.ss.usermodel.*; +import org.apache.poi.ss.util.CellRangeAddress; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.apache.shiro.SecurityUtils; import org.jeecg.common.api.vo.Result; import org.jeecg.common.aspect.annotation.AutoLog; import org.jeecg.common.constant.CommonConstant; @@ -15,18 +20,23 @@ import org.jeecg.common.system.base.controller.JeecgController; import org.jeecg.common.system.query.QueryGenerator; //import org.jeecg.modules.base.service.IUnitService; -import org.jeecg.modules.eam.entity.PrecisionParameters; -import org.jeecg.modules.eam.entity.PrecisionParametersTemplate; -import org.jeecg.modules.eam.entity.PrecisionParametersTemplateDetail; -import org.jeecg.modules.eam.service.IPrecisionParametersCategoryService; -import org.jeecg.modules.eam.service.IPrecisionParametersService; -import org.jeecg.modules.eam.service.IPrecisionParametersTemplateDetailService; -import org.jeecg.modules.eam.service.IPrecisionParametersTemplateService; +import org.jeecg.common.system.vo.LoginUser; +import org.jeecg.modules.eam.entity.*; +import org.jeecg.modules.eam.service.*; +import org.jeecgframework.poi.excel.entity.ImportParams; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; +import org.springframework.web.multipart.MultipartFile; +import org.springframework.web.multipart.MultipartHttpServletRequest; import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.IOException; +import java.io.InputStream; import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; /** * @Description: 绮惧害鍙傛暟妯℃澘 @@ -48,8 +58,9 @@ @Autowired private IPrecisionParametersCategoryService precisionParametersCategoryService; - // @Autowired -// private IUnitService unitService; + @Autowired + private IEamEquipmentService equipmentService; + @Autowired private IPrecisionParametersService precisionParametersService; @@ -77,12 +88,29 @@ List<PrecisionParametersTemplateDetail> precisionParametersTemplateDetailList = precisionParametersTemplateDetailService.lambdaQuery().eq(PrecisionParametersTemplateDetail::getPrecisionParametersTemplateId, record.getId()).eq(PrecisionParametersTemplateDetail::getDelFlag, CommonConstant.DEL_FLAG_0).list(); for (PrecisionParametersTemplateDetail precisionParametersTemplateDetail : precisionParametersTemplateDetailList) { PrecisionParameters precisionParameters = precisionParametersService.getById(precisionParametersTemplateDetail.getPrecisionParametersId()); - precisionParametersTemplateDetail.setPrecisionParametersNum(precisionParameters.getNum()); - precisionParametersTemplateDetail.setPrecisionParametersName(precisionParameters.getName()); - precisionParametersTemplateDetail.setPrecisionParametersCategory(precisionParametersCategoryService.getById(precisionParameters.getPrecisionParametersCategoryId()).getName()); -// precisionParametersTemplateDetail.setUnit(unitService.getById(precisionParameters.getUnitId()).getName()); - String unitName = sysBaseApi.getUnitNameById(precisionParameters.getUnitId()); - precisionParametersTemplateDetail.setUnit(unitName); + + if(precisionParameters != null){ + String num = precisionParameters.getNum(); + String name =precisionParameters.getName(); + if (num!=null){ + precisionParametersTemplateDetail.setPrecisionParametersNum(num); + } + if (name!=null){ + precisionParametersTemplateDetail.setPrecisionParametersName(name); + } + String id = precisionParameters.getPrecisionParametersCategoryId(); + if (id!=null){ + PrecisionParametersCategory precisionParametersCategory = precisionParametersCategoryService.getById(id); + precisionParametersTemplateDetail.setPrecisionParametersCategory(precisionParametersCategory.getName()); + } + }else{ + precisionParametersTemplateDetail.setPrecisionParametersCategory("/"); + } + if (precisionParameters!=null){ + String unitName = sysBaseApi.getUnitNameById(precisionParameters.getUnitId()); + precisionParametersTemplateDetail.setUnit(unitName); + } + } record.setPrecisionParametersTemplateDetailList(precisionParametersTemplateDetailList); @@ -157,5 +185,131 @@ } return Result.OK("鍒犻櫎鎴愬姛!"); } + /** + * 娣诲姞 + * + * @param precisionParametersTemplate + * @return + */ + @ApiOperation(value = "绮惧害鍙傛暟妯℃澘-娣诲姞", notes = "绮惧害鍙傛暟妯℃澘-娣诲姞") + @PostMapping(value = "/addNew") + public Result<?> addNew(@RequestBody PrecisionParametersTemplate precisionParametersTemplate) { + precisionParametersTemplateService.save(precisionParametersTemplate); + String id= precisionParametersTemplate.getId(); + List<PrecisionParametersTemplateDetail> details = precisionParametersTemplate.getPrecisionParametersTemplateDetailList(); + for(PrecisionParametersTemplateDetail precisionParametersTemplateDetail:details){ + precisionParametersTemplateDetail.setPrecisionParametersTemplateId(id); + } + precisionParametersTemplateDetailService.saveBatch(details); + return Result.OK("娣诲姞鎴愬姛"); + } + /** + * 娣诲姞 + * + * @param precisionParametersTemplate + * @return + */ + @ApiOperation(value = "绮惧害鍙傛暟妯℃澘-娣诲姞", notes = "绮惧害鍙傛暟妯℃澘-娣诲姞") + @PutMapping(value = "/editNew") + public Result<?> editNew(@RequestBody PrecisionParametersTemplate precisionParametersTemplate) { + precisionParametersTemplateService.saveOrUpdate(precisionParametersTemplate); + String id= precisionParametersTemplate.getId(); + precisionParametersTemplateDetailService.remove(new QueryWrapper<PrecisionParametersTemplateDetail>().eq("precision_parameters_template_id",id)); + List<PrecisionParametersTemplateDetail> details = precisionParametersTemplate.getPrecisionParametersTemplateDetailList(); + precisionParametersTemplateDetailService.saveBatch(details); + return Result.OK("鎿嶄綔 鎴愬姛"); + } + @GetMapping("/getNums") + public Result<?> getNums(@RequestParam(name = "searchText", defaultValue = "") String searchText){ + List<String> nums = equipmentService + .list(new QueryWrapper<Equipment>() + .like("num",searchText) + ) + .stream() + .map(Equipment::getNum) + .collect(Collectors.toList()); + return Result.OK(nums); + } + /** + * 瀵煎叆 + * @return + */ + @RequestMapping(value = "/importExcel", method = RequestMethod.POST) + @Transactional(rollbackFor = Exception.class) + public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) { + MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request; + LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal(); + Map<String, MultipartFile> fileMap = multipartRequest.getFileMap(); + String exceptionInfo = ""; + int exceptionNum = 0; + for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) { + MultipartFile file = entity.getValue(); + ImportParams params = new ImportParams(); + params.setNeedSave(true); + try { + InputStream fis = file.getInputStream(); + Workbook workbook = new XSSFWorkbook(fis); + Sheet sheet = workbook.getSheetAt(0); + PrecisionParametersTemplate precisionParametersTemplate = new PrecisionParametersTemplate(); + Row row1 = sheet.getRow(1); + Cell cell15 = row1.getCell(5); + if(ObjectUtils.isNotNull(cell15)&&cell15.getCellType()==CellType.NUMERIC){ + String num = (int)cell15.getNumericCellValue()+""; + precisionParametersTemplate.setNum(num); + EquipmentPrecisionParameters equipmentPrecisionParameters = new EquipmentPrecisionParameters(); + } + + for (Row row : sheet) { + Cell cell1 = row.getCell(1); + + if(row.getRowNum()>4){ + + } + for (Cell cell : row) { + String cellValue = ""; + if (cell.getCellType() == CellType.STRING) { + cellValue = cell.getStringCellValue(); + } else if (cell.getCellType() == CellType.NUMERIC) { + cellValue = String.valueOf(cell.getNumericCellValue()); + } + // 鍦ㄨ繖閲屽彲浠ユ牴鎹偍鐨勯�昏緫澶勭悊鍜屾竻鐞嗘暟鎹� + System.out.println("Cell Value: " + cellValue); + } + } + } catch (IOException e) { + e.printStackTrace(); + } + + } + return Result.error("鏂囦欢瀵煎叆澶辫触锛�"); + } + // 妫�鏌ュ崟鍏冩牸鏄惁鍦ㄥ悎骞跺崟鍏冩牸鑼冨洿鍐� + private boolean isMergedCell(Sheet sheet, Cell cell) { + for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { + if (mergedRegion.isInRange(cell.getRowIndex(), cell.getColumnIndex())) { + return true; + } + } + return false; + } + + // 鑾峰彇鍚堝苟鍗曞厓鏍肩殑鍊� + private String getMergedCellValue(Sheet sheet, Cell cell) { + for (CellRangeAddress mergedRegion : sheet.getMergedRegions()) { + if (mergedRegion.isInRange(cell.getRowIndex(), cell.getColumnIndex())) { + Row firstRow = sheet.getRow(mergedRegion.getFirstRow()); + Cell firstCell = firstRow.getCell(mergedRegion.getFirstColumn()); + if (firstCell != null) { + if (firstCell.getCellType() == CellType.STRING) { + return firstCell.getStringCellValue(); + } else if (firstCell.getCellType() == CellType.NUMERIC) { + return String.valueOf(firstCell.getNumericCellValue()); + } + } + } + } + return null; + } + } -- Gitblit v1.9.3