| ¶Ô±ÈÐÂÎļþ |
| | |
| | | ALTER TABLE staff_on_job ADD unique (staff_no); |
| | |
| | | private Long tenantId; |
| | | |
| | | /** |
| | | * 审æ¹ç±»å 1-å
¬åºç®¡ç 2-请å管ç 3-åºå·®ç®¡ç 4-æ¥é管ç 5-éè´å®¡æ¹ 6-æ¥ä»·å®¡æ¹ 7-åè´§å®¡æ¹ |
| | | * 审æ¹ç±»å 1-å
¬åºç®¡ç 2-请å管ç 3-åºå·®ç®¡ç 4-æ¥é管ç 5-éè´å®¡æ¹ 6-æ¥ä»·å®¡æ¹ 7-åè´§å®¡æ¹ 8-å±é©ä½ä¸å®¡æ¹ |
| | | */ |
| | | private Integer approveType; |
| | | |
| | |
| | | tempFileService.migrateTempFilesToFormal(approve.getId(), approveGetAndUpdateVo.getTempFileIds(), FileNameType.ApproveProcess.getValue()); |
| | | /*æ¶æ¯éç¥*/ |
| | | String id = approve.getApproveUserIds().split(",")[0]; |
| | | sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()), |
| | | approve.getApproveId() + "æµç¨ç¼å·ç审æ¹éè¦æ¨å®¡æ ¸!!!!!", |
| | | Arrays.asList(Long.valueOf(id)), |
| | | "/collaborativeApproval/approvalProcess?approveType=" + approve.getApproveType() + "&approveId=" + approve.getApproveId()); |
| | | if (approve.getApproveType()==8){ |
| | | sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()), |
| | | approve.getApproveId() + "æµç¨ç¼å·ç审æ¹éè¦æ¨å®¡æ ¸!!!!!", |
| | | Arrays.asList(Long.valueOf(id)), |
| | | "/safeProduction/safeWorkApproval?approveType=" + approve.getApproveType() + "&approveId=" + approve.getApproveId()); |
| | | }else { |
| | | sysNoticeService.simpleNoticeByUser(approveProcessType(approve.getApproveType()), |
| | | approve.getApproveId() + "æµç¨ç¼å·ç审æ¹éè¦æ¨å®¡æ ¸!!!!!", |
| | | Arrays.asList(Long.valueOf(id)), |
| | | "/collaborativeApproval/approvalProcess?approveType=" + approve.getApproveType() + "&approveId=" + approve.getApproveId()); |
| | | } |
| | | |
| | | } |
| | | |
| | |
| | | case 6: |
| | | return "æ¥ä»·å®¡æ¹"; |
| | | case 7: |
| | | return "åºåºå®¡æ¹"; |
| | | return "å货审æ¹"; |
| | | case 8: |
| | | return "å±é©ä½ä¸å®¡æ¹"; |
| | | } |
| | | return null; |
| | | } |
| | |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.home.dto.*; |
| | | import com.ruoyi.home.service.HomeService; |
| | | import com.ruoyi.dto.MapDto; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | @GetMapping("/productSalesAnalysis") |
| | | @ApiOperation("å产åéå®éé¢åæ") |
| | | public AjaxResult productSalesAnalysis() { |
| | | List<MapDto> list = homeService.productSalesAnalysis(); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | @GetMapping("/rawMaterialPurchaseAmountRatio") |
| | | @ApiOperation("åææéè´éé¢å æ¯") |
| | | public AjaxResult rawMaterialPurchaseAmountRatio(){ |
| | | List<MapDto> list = homeService.rawMaterialPurchaseAmountRatio(); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | @GetMapping("/salesPurchaseStorageProductCount") |
| | | @ApiOperation("éå®-éè´-å¨åäº§åæ°") |
| | | public AjaxResult salesPurchaseStorageProductCount(){ |
| | | List<MapDto> list = homeService.salesPurchaseStorageProductCount(); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | @GetMapping("/productInOutAnalysis") |
| | | @ApiOperation("产ååºå
¥åºåæ") |
| | | public AjaxResult productInOutAnalysis(@RequestParam(value = "type", defaultValue = "1") Integer type){ |
| | | List<Map<String, Object>> result = homeService.productInOutAnalysis(type); |
| | | return AjaxResult.success(result); |
| | | } |
| | | |
| | | @GetMapping("/productTurnoverDays") |
| | | @ApiOperation("产åå¨è½¬å¤©æ°") |
| | | public AjaxResult productTurnoverDays(){ |
| | | List<MapDto> list = homeService.productTurnoverDays(); |
| | | return AjaxResult.success(list); |
| | | } |
| | | |
| | | /********************************************************è¥ééè´ç±»**************************************************/ |
| | | @GetMapping("/business") |
| | | @Log(title = "éå®-éè´-åºåæ°æ®", businessType = BusinessType.OTHER) |
| | |
| | | } |
| | | |
| | | |
| | | |
| | | /********************************************************è´¨éç±»*****************************************************/ |
| | | @GetMapping("/qualityStatistics") |
| | | @Log(title = "è´¨éåæ", businessType = BusinessType.OTHER) |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.home.mapper; |
| | | |
| | | import com.ruoyi.dto.MapDto; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * é¦é¡µç»è®¡ Mapper |
| | | * |
| | | * @author antigravity |
| | | */ |
| | | @Mapper |
| | | public interface HomeMapper { |
| | | /** |
| | | * æ¥è¯¢äº§åå¨è½¬å¤©æ° |
| | | * |
| | | * @return 产åå¨è½¬å¤©æ°å表 |
| | | */ |
| | | List<MapDto> productTurnoverDays(); |
| | | } |
| | |
| | | package com.ruoyi.home.service; |
| | | |
| | | import com.ruoyi.approve.pojo.ApproveProcess; |
| | | import com.ruoyi.dto.MapDto; |
| | | import com.ruoyi.home.dto.*; |
| | | import com.ruoyi.production.dto.ProductOrderDto; |
| | | import com.ruoyi.production.dto.ProductWorkOrderDto; |
| | | |
| | | import java.text.ParseException; |
| | | import java.util.List; |
| | |
| | | ProductCategoryDistributionDto productCategoryDistribution(); |
| | | |
| | | List<CustomerContributionRankingDto> customerContributionRanking(Integer type); |
| | | |
| | | List<MapDto> productSalesAnalysis(); |
| | | |
| | | List<MapDto> rawMaterialPurchaseAmountRatio(); |
| | | |
| | | List<MapDto> salesPurchaseStorageProductCount(); |
| | | |
| | | List<Map<String, Object>> productInOutAnalysis(Integer type); |
| | | |
| | | List<MapDto> productTurnoverDays(); |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.home.mapper.HomeMapper; |
| | | import com.ruoyi.approve.mapper.ApproveProcessMapper; |
| | | import com.ruoyi.approve.pojo.ApproveProcess; |
| | | import com.ruoyi.basic.mapper.CustomerMapper; |
| | |
| | | import com.ruoyi.basic.mapper.SupplierManageMapper; |
| | | import com.ruoyi.basic.pojo.Customer; |
| | | import com.ruoyi.basic.pojo.Product; |
| | | import com.ruoyi.basic.pojo.ProductModel; |
| | | import com.ruoyi.basic.pojo.SupplierManage; |
| | | import com.ruoyi.collaborativeApproval.mapper.NoticeMapper; |
| | | import com.ruoyi.collaborativeApproval.pojo.Notice; |
| | |
| | | private SalesLedgerProductMapper salesLedgerProductMapper; |
| | | |
| | | @Autowired |
| | | private StockInventoryMapper stockInventoryMapper; |
| | | |
| | | @Autowired |
| | | private ProcurementRecordMapper procurementRecordStorageMapper; |
| | | |
| | | @Autowired |
| | |
| | | private SysUserMapper sysUserMapper; |
| | | @Autowired |
| | | private SysUserDeptMapper sysUserDeptMapper; |
| | | private StockInventoryMapper stockInventoryMapper; |
| | | |
| | | @Autowired |
| | | private HomeMapper homeMapper; |
| | | |
| | | @Override |
| | | public HomeBusinessDto business() { |
| | |
| | | homeBusinessDto.setMonthPurchaseHaveMoney(unReceiptPaymentAmount.setScale(2, RoundingMode.HALF_UP).toString()); |
| | | } |
| | | // ç»è®¡åºå |
| | | // List<ProcurementRecordStorage> procurementRecordStorages = procurementRecordStorageMapper.selectList(null); |
| | | // BigDecimal stockAmount = procurementRecordStorages.stream() |
| | | // .map(ProcurementRecordStorage::getInboundNum) |
| | | // .filter(Objects::nonNull) |
| | | // .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // // èªå®ä¹åºå |
| | | // List<CustomStorage> customStorages = customStorageMapper.selectList(null); |
| | | // BigDecimal customStockAmount = customStorages.stream() |
| | | // .map(CustomStorage::getInboundNum) |
| | | // .filter(Objects::nonNull) |
| | | // .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // List<ProcurementRecordOut> procurementRecordOuts = procurementRecordOutMapper.selectList(null); |
| | | // BigDecimal outboundAmount = procurementRecordOuts.stream() |
| | | // .map(ProcurementRecordOut::getInboundNum) |
| | | // .filter(Objects::nonNull) |
| | | // .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // BigDecimal stock = stockAmount.add(customStockAmount).subtract(outboundAmount); |
| | | BigDecimal stockQuantityTotal = stockInventoryMapper.selectTotal(); |
| | | homeBusinessDto.setInventoryNum(stockQuantityTotal.setScale(2, RoundingMode.HALF_UP).toString()); |
| | | |
| | | |
| | | // è·åå½å¤©å
¥åºæ°é |
| | | LambdaQueryWrapper<ProcurementRecordStorage> procurementRecordStorageLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | procurementRecordStorageLambdaQueryWrapper.ge(ProcurementRecordStorage::getCreateTime, now) // 大äºçäºå½å¤© |
| | | .lt(ProcurementRecordStorage::getCreateTime, now.plusDays(1)); // å°äºæå¤© |
| | | List<ProcurementRecordStorage> procurementRecordStorages1 = procurementRecordStorageMapper.selectList(procurementRecordStorageLambdaQueryWrapper); |
| | | BigDecimal stockAmount1 = procurementRecordStorages1.stream() |
| | | .map(ProcurementRecordStorage::getInboundNum) |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | // homeBusinessDto.setInventoryNum(stock.setScale(2, RoundingMode.HALF_UP).toString()); |
| | | homeBusinessDto.setTodayInventoryNum(stockAmount1.setScale(2, RoundingMode.HALF_UP).toString()); |
| | | BigDecimal bigDecimal = stockInventoryMapper.selectTotalByDate(LocalDate.now()); |
| | | homeBusinessDto.setTodayInventoryNum(bigDecimal.setScale(2, RoundingMode.HALF_UP).toString()); |
| | | return homeBusinessDto; |
| | | } |
| | | |
| | |
| | | } |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public List<MapDto> productSalesAnalysis() { |
| | | // è·åææäº§å大类çéå®é¢ |
| | | List<Map<String, Object>> analysisResults = salesLedgerProductMapper.selectProductSalesAnalysis(); |
| | | if (CollectionUtils.isEmpty(analysisResults)) { |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | // è®¡ç®æ»éå®é¢ |
| | | BigDecimal totalSalesAmount = analysisResults.stream() |
| | | .map(r -> (BigDecimal) r.get("value")) |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | return analysisResults.stream() |
| | | .map(result -> { |
| | | MapDto mapDto = new MapDto(); |
| | | String name = (String) result.get("name"); |
| | | BigDecimal value = (BigDecimal) result.get("value"); |
| | | |
| | | mapDto.setName(name); |
| | | mapDto.setValue(value != null ? value.setScale(2, RoundingMode.HALF_UP).toString() : "0.00"); |
| | | |
| | | if (totalSalesAmount.compareTo(BigDecimal.ZERO) == 0 || value == null) { |
| | | mapDto.setRate("0.00"); |
| | | } else { |
| | | String rate = value.divide(totalSalesAmount, 4, RoundingMode.HALF_UP) |
| | | .multiply(new BigDecimal("100")) |
| | | .setScale(2, RoundingMode.HALF_UP) |
| | | .toString(); |
| | | mapDto.setRate(rate); |
| | | } |
| | | return mapDto; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |
| | | public List<MapDto> rawMaterialPurchaseAmountRatio() { |
| | | // è·åææåææçéè´é¢ |
| | | List<Map<String, Object>> analysisResults = salesLedgerProductMapper.selectRawMaterialPurchaseAnalysis(); |
| | | if (CollectionUtils.isEmpty(analysisResults)) { |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | // è®¡ç®æ»éè´é¢ |
| | | BigDecimal totalPurchaseAmount = analysisResults.stream() |
| | | .map(r -> (BigDecimal) r.get("value")) |
| | | .filter(Objects::nonNull) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | |
| | | return analysisResults.stream() |
| | | .map(result -> { |
| | | MapDto mapDto = new MapDto(); |
| | | String name = (String) result.get("name"); |
| | | BigDecimal value = (BigDecimal) result.get("value"); |
| | | |
| | | mapDto.setName(name); |
| | | mapDto.setValue(value != null ? value.setScale(2, RoundingMode.HALF_UP).toString() : "0.00"); |
| | | |
| | | if (totalPurchaseAmount.compareTo(BigDecimal.ZERO) == 0 || value == null) { |
| | | mapDto.setRate("0.00"); |
| | | } else { |
| | | String rate = value.divide(totalPurchaseAmount, 4, RoundingMode.HALF_UP) |
| | | .multiply(new BigDecimal("100")) |
| | | .setScale(2, RoundingMode.HALF_UP) |
| | | .toString(); |
| | | mapDto.setRate(rate); |
| | | } |
| | | return mapDto; |
| | | }) |
| | | .collect(Collectors.toList()); |
| | | } |
| | | |
| | | @Override |
| | | public List<MapDto> salesPurchaseStorageProductCount() { |
| | | LocalDate now = LocalDate.now(); |
| | | DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
| | | |
| | | String currentMonthStart = now.with(TemporalAdjusters.firstDayOfMonth()).format(dtf); |
| | | String currentMonthNow = now.format(dtf); |
| | | |
| | | LocalDate lastMonth = now.minusMonths(1); |
| | | String lastMonthStart = lastMonth.with(TemporalAdjusters.firstDayOfMonth()).format(dtf); |
| | | String lastMonthEnd = lastMonth.with(TemporalAdjusters.lastDayOfMonth()).format(dtf); |
| | | |
| | | // éå® |
| | | int currentSales = salesLedgerProductMapper.selectProductCountByTypeAndDate(1, currentMonthStart, currentMonthNow); |
| | | int lastSales = salesLedgerProductMapper.selectProductCountByTypeAndDate(1, lastMonthStart, lastMonthEnd); |
| | | |
| | | // éè´ |
| | | int currentPurchase = salesLedgerProductMapper.selectProductCountByTypeAndDate(2, currentMonthStart, currentMonthNow); |
| | | int lastPurchase = salesLedgerProductMapper.selectProductCountByTypeAndDate(2, lastMonthStart, lastMonthEnd); |
| | | |
| | | // å¨å |
| | | int currentStorage = stockInventoryMapper.selectStorageProductCountByDate(currentMonthStart, currentMonthNow); |
| | | int lastStorage = stockInventoryMapper.selectStorageProductCountByDate(lastMonthStart, lastMonthEnd); |
| | | |
| | | List<MapDto> list = new ArrayList<>(); |
| | | list.add(createMapDto("éå®äº§åæ°", currentSales, lastSales)); |
| | | list.add(createMapDto("éè´äº§åæ°", currentPurchase, lastPurchase)); |
| | | list.add(createMapDto("å¨åäº§åæ°", currentStorage, lastStorage)); |
| | | |
| | | return list; |
| | | } |
| | | |
| | | private MapDto createMapDto(String name, int current, int last) { |
| | | MapDto dto = new MapDto(); |
| | | dto.setName(name); |
| | | dto.setValue(String.valueOf(current)); |
| | | |
| | | if (last == 0) { |
| | | dto.setRate(current > 0 ? "100.00" : "0.00"); |
| | | } else { |
| | | BigDecimal curDec = new BigDecimal(current); |
| | | BigDecimal lastDec = new BigDecimal(last); |
| | | // å¢é¿ç |
| | | String rate = curDec.subtract(lastDec) |
| | | .divide(lastDec, 4, RoundingMode.HALF_UP) |
| | | .multiply(new BigDecimal("100")) |
| | | .setScale(2, RoundingMode.HALF_UP) |
| | | .toString(); |
| | | dto.setRate(rate); |
| | | } |
| | | return dto; |
| | | } |
| | | |
| | | @Override |
| | | public List<Map<String, Object>> productInOutAnalysis(Integer type) { |
| | | String targetName; |
| | | if (type == 1) { |
| | | targetName = "åææ"; |
| | | } else if (type == 2) { |
| | | targetName = "æå"; |
| | | } else if (type == 3) { |
| | | targetName = "åæå"; |
| | | } else { |
| | | return new ArrayList<>(); |
| | | } |
| | | |
| | | LambdaQueryWrapper<Product> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(Product::getProductName, targetName).isNull(Product::getParentId); |
| | | Product rootCategory = productMapper.selectOne(queryWrapper); |
| | | |
| | | if (rootCategory == null) { |
| | | log.warn("æªæ¾å°å称为 {} ç顶级产ååç±»", targetName); |
| | | return new ArrayList<>(); |
| | | } |
| | | Long rootCategoryId = rootCategory.getId(); |
| | | |
| | | LocalDate now = LocalDate.now(); |
| | | DateTimeFormatter displayDtf = DateTimeFormatter.ofPattern("M/d"); |
| | | |
| | | String startDate = now.minusDays(6).toString(); |
| | | String endDate = now.toString(); |
| | | |
| | | List<Map<String, Object>> inCounts = stockInventoryMapper.selectDailyStockInCounts(rootCategoryId, startDate, endDate + " 23:59:59"); |
| | | |
| | | List<Map<String, Object>> outCounts = stockInventoryMapper.selectDailyStockOutCounts(rootCategoryId, startDate, endDate + " 23:59:59"); |
| | | |
| | | Map<LocalDate, BigDecimal> inMap = inCounts.stream() |
| | | .collect(Collectors.toMap( |
| | | m -> ((java.sql.Date) m.get("date")).toLocalDate(), |
| | | m -> (BigDecimal) m.get("count"), |
| | | BigDecimal::add |
| | | )); |
| | | |
| | | Map<LocalDate, BigDecimal> outMap = outCounts.stream() |
| | | .collect(Collectors.toMap( |
| | | m -> ((java.sql.Date) m.get("date")).toLocalDate(), |
| | | m -> (BigDecimal) m.get("count"), |
| | | BigDecimal::add |
| | | )); |
| | | |
| | | List<Map<String, Object>> result = new ArrayList<>(); |
| | | |
| | | for (int i = 6; i >= 0; i--) { |
| | | LocalDate date = now.minusDays(i); |
| | | |
| | | Map<String, Object> dataPoint = new LinkedHashMap<>(); |
| | | dataPoint.put("date", date.format(displayDtf)); // 1/23 |
| | | dataPoint.put("inCount", inMap.getOrDefault(date, BigDecimal.ZERO)); |
| | | dataPoint.put("outCount", outMap.getOrDefault(date, BigDecimal.ZERO)); |
| | | |
| | | result.add(dataPoint); |
| | | } |
| | | |
| | | return result; |
| | | } |
| | | |
| | | @Override |
| | | public List<MapDto> productTurnoverDays() { |
| | | return homeMapper.productTurnoverDays(); |
| | | } |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | @PostMapping("/uploadByCommon") |
| | | public AjaxResult uploadByCommon(MultipartFile file, Integer type, Long id) { |
| | | try { |
| | | return AjaxResult.success(tempFileService.uploadByCommon(file, type,id)); |
| | | } catch (Exception e) { |
| | | return AjaxResult.error(e.getMessage()); |
| | | } |
| | | } |
| | | |
| | | @PostMapping("uploadFile") |
| | | public AjaxResult uploadFile(@RequestBody ProductRecordDto productRecordDto) { |
| | | try { |
| | |
| | | |
| | | public interface TempFileService { |
| | | TempFile uploadFile(MultipartFile file,Integer type) throws IOException; |
| | | |
| | | String uploadByCommon(MultipartFile file, Integer type, Long id) throws IOException; |
| | | } |
| | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Collections; |
| | | import java.util.List; |
| | | import java.util.UUID; |
| | | |
| | |
| | | tempFileRecord.setExpireTime(LocalDateTime.now().plusHours(2)); // 2å°æ¶åè¿æ |
| | | tempFileRecord.setType(type); |
| | | tempFileMapper.insert(tempFileRecord); |
| | | |
| | | return tempFileRecord; |
| | | } |
| | | |
| | | @Override |
| | | public String uploadByCommon(MultipartFile file, Integer type, Long id) throws IOException{ |
| | | TempFile tempFile = uploadFile(file, type); |
| | | if (tempFile != null) { |
| | | migrateTempFilesToFormal(id, Collections.singletonList(tempFile.getTempId()), type); |
| | | return tempFile.getTempPath(); |
| | | } |
| | | return null; |
| | | } |
| | | |
| | | /** |
| | | * å°ä¸´æ¶æä»¶è¿ç§»å°æ£å¼ç®å½ |
| | | * |
| | |
| | | import com.ruoyi.stock.dto.StockInventoryDto; |
| | | import com.ruoyi.stock.dto.StockUninventoryDto; |
| | | import com.ruoyi.stock.pojo.StockInRecord; |
| | | import com.ruoyi.stock.pojo.StockOutRecord; |
| | | import com.ruoyi.stock.service.StockInRecordService; |
| | | import com.ruoyi.stock.service.StockInventoryService; |
| | | import com.ruoyi.stock.service.StockOutRecordService; |
| | | import com.ruoyi.stock.service.StockUninventoryService; |
| | | import com.ruoyi.stock.service.impl.StockInRecordServiceImpl; |
| | | import com.ruoyi.stock.service.impl.StockOutRecordServiceImpl; |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | |
| | | private final StockUninventoryService stockUninventoryService; |
| | | private final StockInventoryService stockInventoryService; |
| | | private final StockInRecordService stockInRecordService; |
| | | |
| | | // è·åååå
¥åºæ°é,åºåºæ°é,å©ä½åºå |
| | | // public Map<String, BigDecimal> getStockQuantity(Long productModelId) { |
| | | // // å
¥åºæ°é |
| | | // BigDecimal sumQuantity = procurementRecordMapper.getSumQuantity(productModelId); |
| | | // // åºåºæ°é |
| | | // BigDecimal outQuantity = procurementRecordOutMapper.getSumQuantity(productModelId); |
| | | // // å©ä½åºå |
| | | // BigDecimal stockQuantity = outQuantity.compareTo(sumQuantity) > 0 ? BigDecimal.ZERO : sumQuantity.subtract(outQuantity); |
| | | // Map<String, BigDecimal> stockMap = new HashMap<>(); |
| | | // stockMap.put("inboundNum", sumQuantity); |
| | | // stockMap.put("outboundNum", outQuantity); |
| | | // stockMap.put("stockQuantity", stockQuantity); |
| | | // return stockMap; |
| | | // } |
| | | private final StockOutRecordService stockOutRecordService; |
| | | |
| | | /** |
| | | * ä¸åæ ¼å
¥åº |
| | |
| | | } |
| | | |
| | | //ä¸åæ ¼åºåå é¤ |
| | | public void deleteStockRecord(Long recordId, String recordType) { |
| | | public void deleteStockInRecord(Long recordId, String recordType) { |
| | | StockInRecord one = stockInRecordService.getOne(new QueryWrapper<StockInRecord>() |
| | | .lambda().eq(StockInRecord::getRecordId, recordId) |
| | | .eq(StockInRecord::getRecordType, recordType)); |
| | | |
| | | stockInRecordService.batchDelete(Collections.singletonList(one.getId())); |
| | | } |
| | | public void deleteStockOutRecord(Long recordId, String recordType) { |
| | | StockOutRecord one = stockOutRecordService.getOne(new QueryWrapper<StockOutRecord>() |
| | | .lambda().eq(StockOutRecord::getRecordId, recordId) |
| | | .eq(StockOutRecord::getRecordType, recordType)); |
| | | |
| | | stockOutRecordService.batchDelete(Collections.singletonList(one.getId())); |
| | | } |
| | | } |
| | |
| | | productionProductInputMapper.delete(new LambdaQueryWrapper<ProductionProductInput>() |
| | | .eq(ProductionProductInput::getProductMainId, productionProductMain.getId())); |
| | | //å 餿¥åºçå
¥åºè®°å½ |
| | | stockUtils.deleteStockRecord(productionProductMain.getId(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode()); |
| | | stockUtils.deleteStockInRecord(productionProductMain.getId(), StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode()); |
| | | //å 餿å
¥å¯¹åºçåºåºè®°å½ |
| | | stockUtils.deleteStockRecord(productionProductMain.getId(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode()); |
| | | stockUtils.deleteStockOutRecord(productionProductMain.getId(), StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode()); |
| | | // å é¤ä¸»è¡¨ |
| | | productionProductMainMapper.deleteById(productionProductMain.getId()); |
| | | return true; |
| | |
| | | package com.ruoyi.purchase.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.framework.aspectj.lang.annotation.Log; |
| | | import com.ruoyi.framework.aspectj.lang.enums.BusinessType; |
| | | import com.ruoyi.framework.web.controller.BaseController; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.purchase.dto.ProcurementBusinessSummaryDto; |
| | | import com.ruoyi.purchase.pojo.PurchaseLedger; |
| | | import com.ruoyi.purchase.service.impl.ProcurementBusinessSummaryServiceImpl; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.PostMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @author :yys |
| | |
| | | |
| | | @GetMapping("/listPage") |
| | | public AjaxResult listPage(Page page, ProcurementBusinessSummaryDto procurementBusinessSummaryDto) { |
| | | return procurementBusinessSummaryService.listPage(page, procurementBusinessSummaryDto); |
| | | return AjaxResult.success(procurementBusinessSummaryService.listPage(page, procurementBusinessSummaryDto)); |
| | | } |
| | | |
| | | /** |
| | | * 导åºéè´å°è´¦å表 |
| | | */ |
| | | @Log(title = "导åºéè´æ¥è¡¨", businessType = BusinessType.EXPORT) |
| | | @PostMapping("/export") |
| | | public void export(HttpServletResponse response, ProcurementBusinessSummaryDto procurementBusinessSummaryDto) { |
| | | Page page = new Page(-1,-1); |
| | | IPage<ProcurementBusinessSummaryDto> list = procurementBusinessSummaryService.listPage(page, procurementBusinessSummaryDto); |
| | | ExcelUtil<ProcurementBusinessSummaryDto> util = new ExcelUtil<ProcurementBusinessSummaryDto>(ProcurementBusinessSummaryDto.class); |
| | | util.exportExcel(response, list.getRecords(), "éè´æ¥è¡¨"); |
| | | } |
| | | |
| | | } |
| | |
| | | @ApiModel |
| | | public class ProcurementBusinessSummaryDto { |
| | | |
| | | @Excel(name = "产å大类") |
| | | private String productCategory; |
| | | |
| | | /** |
| | | * è§æ ¼åå· |
| | | */ |
| | | @Excel(name = "è§æ ¼åå·") |
| | | private String specificationModel; |
| | | |
| | | @ApiModelProperty(value = "å¼å§æ¶é´") |
| | |
| | | /** |
| | | * éè´æ°é |
| | | */ |
| | | @Excel(name = "éè´æ°é") |
| | | private BigDecimal purchaseNum; |
| | | |
| | | /** |
| | | * éè´éé¢ |
| | | */ |
| | | @Excel(name = "éè´éé¢") |
| | | private BigDecimal purchaseAmount; |
| | | |
| | | /** |
| | | * éè´æ¬¡æ° |
| | | */ |
| | | @Excel(name = "éè´æ¬¡æ°") |
| | | private Integer purchaseTimes; |
| | | |
| | | /** |
| | | * å¹³ååä»· |
| | | */ |
| | | @Excel(name = "å¹³ååä»·") |
| | | private BigDecimal averagePrice; |
| | | |
| | | |
| | | /** |
| | | * ä¾åºååç§° |
| | | */ |
| | | @Excel(name = "ä¾åºååç§°") |
| | | private String supplierName; |
| | | |
| | | /** |
| | | * å½å
¥æ¥æ |
| | | */ |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @Excel(name = "å½å
¥æ¥æ", width = 30, dateFormat = "yyyy-MM-dd") |
| | | private Date entryDate; |
| | | |
| | | } |
| | |
| | | /** |
| | | * æªæ¥ç¥¨æ° |
| | | */ |
| | | private BigDecimal futureTickets; |
| | | private BigDecimal futureTickets = BigDecimal.ZERO; |
| | | |
| | | /** |
| | | * æªæ¥ç¥¨éé¢(å
) |
| | | */ |
| | | private BigDecimal futureTicketsAmount; |
| | | private BigDecimal futureTicketsAmount = BigDecimal.ZERO; |
| | | |
| | | /** |
| | | * 产åid |
| | |
| | | package com.ruoyi.purchase.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.purchase.dto.ProcurementBusinessSummaryDto; |
| | |
| | | @Autowired |
| | | private SalesLedgerProductMapper salesLedgerProductMapper; |
| | | |
| | | public AjaxResult listPage(Page page, ProcurementBusinessSummaryDto procurementBusinessSummaryDto) { |
| | | return AjaxResult.success(salesLedgerProductMapper.procurementBusinessSummaryListPage(page, procurementBusinessSummaryDto)); |
| | | public IPage<ProcurementBusinessSummaryDto> listPage(Page page, ProcurementBusinessSummaryDto procurementBusinessSummaryDto) { |
| | | return salesLedgerProductMapper.procurementBusinessSummaryListPage(page, procurementBusinessSummaryDto); |
| | | } |
| | | } |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.enums.FileNameType; |
| | |
| | | import org.springframework.beans.BeanUtils; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | page.setSize(productRecordDtoIPage1.getTotal()); |
| | | IPage<ProductRecordDto> productRecordDtoIPage = productRecordMapper.productRecordPage(page, ticketRegistrationDto); |
| | | productRecordDtoIPage.getRecords().forEach(productRecordDto -> { |
| | | productRecordDto.setCommonFiles(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, productRecordDto.getTicketRegistrationId()) |
| | | productRecordDto.setCommonFiles(commonFileMapper.selectList(new LambdaQueryWrapper<CommonFile>().eq(CommonFile::getCommonId, productRecordDto.getId()) |
| | | .eq(CommonFile::getType, FileNameType.PURCHASELEDGER.getValue()))); |
| | | }); |
| | | return productRecordDtoIPage; |
| | |
| | | private final TicketRegistrationMapper ticketRegistrationMapper; |
| | | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public AjaxResult updateRecord(ProductRecordDto productRecordDto) { |
| | | SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(productRecordDto.getSaleLedgerProjectId()); |
| | | ProductRecord productRecord = productRecordMapper.selectById(productRecordDto.getId()); |
| | |
| | | if (purchaseLedger != null) { |
| | | purchaseLedger.setReceiptPaymentAmount(purchaseLedger.getReceiptPaymentAmount()); |
| | | } |
| | | BeanUtils.copyProperties(productRecordDto,productRecord); |
| | | productRecord.setFutureTicketsAmount(productRecord.getFutureTickets().multiply(productRecord.getTaxInclusiveUnitPrice())); |
| | | productRecordMapper.updateById(productRecord); |
| | | // ä¿®æ¹åç¥¨å· |
| | | TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(productRecord.getTicketRegistrationId()); |
| | | if(ticketRegistration != null){ |
| | | ticketRegistration.setInvoiceNumber(productRecordDto.getInvoiceNumber()); |
| | | ticketRegistration.setInvoiceAmount(productRecordDto.getTicketsAmount()); |
| | | ticketRegistrationMapper.updateById(ticketRegistration); |
| | | } |
| | | BeanUtils.copyProperties(productRecordDto,productRecord); |
| | | productRecord.setFutureTicketsAmount(productRecord.getFutureTickets().multiply(productRecord.getTaxInclusiveUnitPrice())); |
| | | productRecordMapper.updateById(productRecord); |
| | | |
| | | return AjaxResult.success("ä¿®æ¹æå"); |
| | | } |
| | | |
| | | @Override |
| | | public ProductRecordDto getProductRecordById(ProductRecordDto productRecordDto) { |
| | | List<ProductRecordDto> productRecordDtoList = productRecordMapper.getProductRecordById(productRecordDto); |
| | | if(productRecordDtoList != null && productRecordDtoList.size() > 0){ |
| | | ProductRecordDto productRecordDto1 = productRecordDtoList.get(productRecordDtoList.size() - 1); |
| | | if(CollectionUtils.isNotEmpty(productRecordDtoList)){ |
| | | ProductRecordDto productRecordDto1 = productRecordDtoList.stream() |
| | | .filter(item -> item.getId().equals(productRecordDto.getId())) |
| | | .findFirst() |
| | | .orElse(null); |
| | | // è¿æ»¤åºä¸ä¼ å
¥ç productRecordDto 主é®ç¸åçè®°å½ |
| | | ProductRecordDto productRecordDto2 = productRecordDtoList.stream().filter(item -> |
| | | item.getId().equals(productRecordDto.getId())) |
| | | .findFirst().orElse(null); |
| | | productRecordDto2.setFutureTickets(productRecordDto1.getFutureTickets()); |
| | | productRecordDto2.setFutureTicketsAmount(productRecordDto1.getFutureTicketsAmount()); |
| | | return productRecordDto2; |
| | | BigDecimal reduce = productRecordDtoList |
| | | .stream() |
| | | .filter(item -> item.getProductModelId().equals(productRecordDto.getProductModelId())) |
| | | .map(ProductRecordDto::getTicketsNum) |
| | | .reduce(BigDecimal.ZERO, BigDecimal::add); |
| | | if(productRecordDto1 != null){ |
| | | productRecordDto1.setFutureTickets(productRecordDto1.getQuantity().subtract(reduce)); |
| | | productRecordDto1.setFutureTicketsAmount(productRecordDto1.getFutureTickets().multiply(productRecordDto1.getTaxInclusiveUnitPrice())); |
| | | } |
| | | return productRecordDto1; |
| | | } |
| | | return null; |
| | | } |
| | |
| | | //æ¹éå 餿£éªæ å |
| | | LambdaQueryWrapper<QualityInspect> materialInspectLambdaQueryWrapper = new LambdaQueryWrapper<>(); |
| | | materialInspectLambdaQueryWrapper.in(QualityInspect::getPurchaseLedgerId, ids); |
| | | |
| | | List<QualityInspect> qualityInspects = qualityInspectMapper.selectList(materialInspectLambdaQueryWrapper); |
| | | qualityInspects.stream().forEach(qualityInspect -> { |
| | | if (ObjectUtils.isNotEmpty(qualityInspect.getInspectState())&&qualityInspect.getInspectState().equals(1)) { |
| | |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; |
| | | import com.ruoyi.procurementrecord.service.ProcurementRecordService; |
| | | import com.ruoyi.procurementrecord.service.impl.ProcurementRecordServiceImpl; |
| | | import com.ruoyi.procurementrecord.utils.StockUtils; |
| | | import com.ruoyi.quality.dto.QualityInspectDto; |
| | | import com.ruoyi.quality.pojo.QualityInspect; |
| | | import com.ruoyi.quality.pojo.QualityInspectFile; |
| | |
| | | private IQualityInspectFileService qualityInspectFileService; |
| | | @Autowired |
| | | private ProcurementRecordService procurementRecordService; |
| | | @Autowired |
| | | private StockUtils stockUtils; |
| | | |
| | | |
| | | /** |
| | |
| | | qualityInspectFileService.remove(Wrappers.<QualityInspectFile>lambdaQuery() |
| | | .in(QualityInspectFile::getInspectId,ids)); |
| | | //å é¤å
¥åºè®°å½ |
| | | procurementRecordService.remove(Wrappers.<ProcurementRecordStorage>lambdaQuery().in(ProcurementRecordStorage::getQualityInspectId,ids)); |
| | | for (Integer id : ids) { |
| | | stockUtils.deleteStockInRecord(Long.valueOf(id), StockQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode()); |
| | | } |
| | | //å 餿£éªå |
| | | return AjaxResult.success(qualityInspectService.removeBatchByIds(ids)); |
| | | } |
| | |
| | | qualityUnqualifiedMapper.insert(qualityUnqualified); |
| | | } else { |
| | | //åæ ¼ç´æ¥å
¥åº |
| | | stockUtils.addStock(inspect.getProductModelId(), inspect.getQuantity(), StockQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), inspect.getId()); |
| | | stockUtils.addStock(qualityInspect.getProductModelId(), qualityInspect.getQuantity(), StockQualifiedRecordTypeEnum.QUALITYINSPECT_STOCK_IN.getCode(), qualityInspect.getId()); |
| | | } |
| | | qualityInspect.setInspectState(1);//å·²æäº¤ |
| | | return qualityInspectMapper.updateById(qualityInspect); |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.safe.pojo.SafeAccident; |
| | | import com.ruoyi.safe.pojo.SafeContingencyPlan; |
| | | import com.ruoyi.safe.service.SafeAccidentService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--äºæ
䏿¥è®°å½ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:40:31 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeAccident") |
| | | @Api(tags = "å®å
¨ç产--äºæ
䏿¥è®°å½") |
| | | public class SafeAccidentController { |
| | | |
| | | @Autowired |
| | | private SafeAccidentService safeAccidentService; |
| | | |
| | | @GetMapping("/page") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R page(Page page, SafeAccident safeAccident) { |
| | | return R.ok(safeAccidentService.pageSafeAccident(page, safeAccident)); |
| | | } |
| | | |
| | | @ApiOperation("æ°å¢äºæ
䏿¥è®°å½") |
| | | @PostMapping() |
| | | public R add(@RequestBody SafeAccident safeAccident) { |
| | | return R.ok(safeAccidentService.save(safeAccident)); |
| | | } |
| | | |
| | | @ApiOperation("ä¿®æ¹äºæ
䏿¥è®°å½") |
| | | @PutMapping () |
| | | public R update(@RequestBody SafeAccident safeAccident) { |
| | | return R.ok(safeAccidentService.updateById(safeAccident)); |
| | | } |
| | | |
| | | @ApiOperation("å é¤äºæ
䏿¥è®°å½") |
| | | @DeleteMapping("/{ids}") |
| | | public R delSafeCertification(@RequestBody List<Integer> ids) { |
| | | return R.ok(safeAccidentService.removeBatchByIds(ids)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.production.dto.ProcessRouteDto; |
| | | import com.ruoyi.production.pojo.ProcessRoute; |
| | | import com.ruoyi.safe.pojo.SafeCertification; |
| | | import com.ruoyi.safe.service.SafeCertificationService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:26:33 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeCertification") |
| | | @Api(tags = "å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç") |
| | | public class SafeCertificationController { |
| | | |
| | | @Autowired |
| | | private SafeCertificationService safeCertificationService; |
| | | |
| | | @GetMapping("/page") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R page(Page<SafeCertification> page, SafeCertification safeCertification) { |
| | | return R.ok(safeCertificationService.pageSafeCertification(page, safeCertification)); |
| | | } |
| | | |
| | | @ApiOperation("æ°å¢å®å
¨è§ç¨ä¸èµè´¨ç®¡ç") |
| | | @PostMapping() |
| | | public R add(@RequestBody SafeCertification safeCertification) { |
| | | return R.ok(safeCertificationService.save(safeCertification)); |
| | | } |
| | | |
| | | @ApiOperation("ä¿®æ¹å®å
¨è§ç¨ä¸èµè´¨ç®¡ç") |
| | | @PutMapping () |
| | | public R update(@RequestBody SafeCertification safeCertification) { |
| | | return R.ok(safeCertificationService.updateById(safeCertification)); |
| | | } |
| | | |
| | | @ApiOperation("å é¤å®å
¨è§ç¨ä¸èµè´¨ç®¡ç") |
| | | @DeleteMapping("/{ids}") |
| | | public R delSafeCertification(@RequestBody List<Integer> ids) { |
| | | return R.ok(safeCertificationService.removeBatchByIds(ids)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.production.pojo.ProductWorkOrderFile; |
| | | import com.ruoyi.production.service.ProductWorkOrderFileService; |
| | | import com.ruoyi.safe.pojo.SafeCertificationFile; |
| | | import com.ruoyi.safe.service.SafeCertificationFileService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç--éä»¶ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:45:20 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeCertificationFile") |
| | | @Api(tags = "å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç--éä»¶") |
| | | public class SafeCertificationFileController { |
| | | |
| | | @Resource |
| | | private SafeCertificationFileService safeCertificationFileService; |
| | | |
| | | |
| | | /** |
| | | * æ°å¢ |
| | | * @param safeCertificationFile |
| | | * @return |
| | | */ |
| | | @PostMapping("/add") |
| | | @ApiOperation("æ°å¢") |
| | | public R add(@RequestBody SafeCertificationFile safeCertificationFile) { |
| | | return R.ok(safeCertificationFileService.save(safeCertificationFile)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @DeleteMapping("/del") |
| | | @ApiOperation("å é¤") |
| | | public R delSafeCertificationFile(@RequestBody List<Integer> ids) { |
| | | if(CollectionUtils.isEmpty(ids)){ |
| | | return R.fail("è¯·éæ©è³å°ä¸æ¡æ°æ®"); |
| | | } |
| | | //å 餿£éªéä»¶ |
| | | return R.ok(safeCertificationFileService.removeBatchByIds(ids)); |
| | | } |
| | | |
| | | /** |
| | | *å页æ¥è¯¢ |
| | | * @param page |
| | | * @param safeCertificationFile |
| | | * @return |
| | | */ |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R listPage(Page page, SafeCertificationFile safeCertificationFile) { |
| | | return R.ok(safeCertificationFileService.page(page, Wrappers.<SafeCertificationFile>lambdaQuery().eq(SafeCertificationFile::getSafeCertificationId,safeCertificationFile.getSafeCertificationId()))); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.safe.pojo.SafeCertification; |
| | | import com.ruoyi.safe.pojo.SafeContingencyPlan; |
| | | import com.ruoyi.safe.service.SafeCertificationService; |
| | | import com.ruoyi.safe.service.SafeContingencyPlanService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--åºæ¥é¢æ¡æ¥é
å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:07:29 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeContingencyPlan") |
| | | @Api(tags = "å®å
¨ç产--åºæ¥é¢æ¡æ¥é
") |
| | | public class SafeContingencyPlanController { |
| | | |
| | | @Autowired |
| | | private SafeContingencyPlanService safeContingencyPlanService; |
| | | |
| | | @GetMapping("/page") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R page(Page page, SafeContingencyPlan safeContingencyPlan) { |
| | | return R.ok(safeContingencyPlanService.pageSafeContingencyPlan(page, safeContingencyPlan)); |
| | | } |
| | | |
| | | @ApiOperation("æ°å¢åºæ¥é¢æ¡æ¥é
") |
| | | @PostMapping() |
| | | public R add(@RequestBody SafeContingencyPlan safeContingencyPlan) { |
| | | return R.ok(safeContingencyPlanService.save(safeContingencyPlan)); |
| | | } |
| | | |
| | | @ApiOperation("ä¿®æ¹åºæ¥é¢æ¡æ¥é
") |
| | | @PutMapping () |
| | | public R update(@RequestBody SafeContingencyPlan safeContingencyPlan) { |
| | | return R.ok(safeContingencyPlanService.updateById(safeContingencyPlan)); |
| | | } |
| | | |
| | | @ApiOperation("å é¤åºæ¥é¢æ¡æ¥é
") |
| | | @DeleteMapping("/{ids}") |
| | | public R delSafeCertification(@RequestBody List<Integer> ids) { |
| | | return R.ok(safeContingencyPlanService.removeBatchByIds(ids)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.safe.pojo.SafeCertification; |
| | | import com.ruoyi.safe.pojo.SafeHazard; |
| | | import com.ruoyi.safe.service.SafeCertificationService; |
| | | import com.ruoyi.safe.service.SafeHazardService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©æºå°è´¦ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 10:09:24 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeHazard") |
| | | @Api(tags = "å®å
¨ç产--å±é©æºå°è´¦") |
| | | public class SafeHazardController { |
| | | |
| | | @Autowired |
| | | private SafeHazardService safeHazardService; |
| | | |
| | | @GetMapping("/page") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R page(Page page, SafeHazard safeHazard) { |
| | | return R.ok(safeHazardService.pageSafeHazard(page, safeHazard)); |
| | | } |
| | | |
| | | @ApiOperation("æ°å¢å±é©æºå°è´¦") |
| | | @PostMapping() |
| | | public R add(@RequestBody SafeHazard safeHazard) { |
| | | return R.ok(safeHazardService.save(safeHazard)); |
| | | } |
| | | |
| | | @ApiOperation("ä¿®æ¹å±é©æºå°è´¦") |
| | | @PutMapping () |
| | | public R update(@RequestBody SafeHazard safeHazard) { |
| | | return R.ok(safeHazardService.updateById(safeHazard)); |
| | | } |
| | | |
| | | @ApiOperation("å é¤å±é©æºå°è´¦") |
| | | @DeleteMapping("/{ids}") |
| | | public R delSafeHazard(@RequestBody List<Integer> ids) { |
| | | return R.ok(safeHazardService.removeBatchByIds(ids)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.safe.dto.SafeHazardRecordDto; |
| | | import com.ruoyi.safe.pojo.SafeHazard; |
| | | import com.ruoyi.safe.pojo.SafeHazardRecord; |
| | | import com.ruoyi.safe.service.SafeHazardRecordService; |
| | | import com.ruoyi.safe.service.SafeHazardService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©ç©æç®¡æ§ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 01:13:40 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeHazardRecord") |
| | | @Api(tags = "å®å
¨ç产--å±é©ç©æç®¡æ§") |
| | | public class SafeHazardRecordController { |
| | | |
| | | @Autowired |
| | | private SafeHazardRecordService safeHazardRecordService; |
| | | |
| | | @GetMapping("/page") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R page(Page page, SafeHazardRecordDto safeHazardRecordDto) { |
| | | return R.ok(safeHazardRecordService.pageSafeHazardRecord(page, safeHazardRecordDto)); |
| | | } |
| | | |
| | | @ApiOperation("é¢ç¨") |
| | | @PostMapping("/borrow") |
| | | public R borrow(@RequestBody SafeHazardRecord safeHazardRecord) { |
| | | return R.ok(safeHazardRecordService.borrow(safeHazardRecord)); |
| | | } |
| | | |
| | | @ApiOperation("å½è¿") |
| | | @PutMapping("/return") |
| | | public R returnSafeHazardRecord(@RequestBody SafeHazardRecord safeHazardRecord) { |
| | | return R.ok(safeHazardRecordService.returnSafeHazardRecord(safeHazardRecord)); |
| | | } |
| | | |
| | | @ApiOperation("å é¤") |
| | | @DeleteMapping("/{ids}") |
| | | public R delSafeHazardRecord(@RequestBody List<Integer> ids) { |
| | | return R.ok(safeHazardRecordService.delSafeHazardRecord(ids)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.safe.dto.SafeHiddenDto; |
| | | import com.ruoyi.safe.pojo.SafeHazard; |
| | | import com.ruoyi.safe.pojo.SafeHidden; |
| | | import com.ruoyi.safe.service.SafeHazardService; |
| | | import com.ruoyi.safe.service.SafeHiddenService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:10:54 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeHidden") |
| | | @Api(tags = "å®å
¨ç产--éæ£ææ¥ä¸æ¥") |
| | | public class SafeHiddenController { |
| | | |
| | | @Autowired |
| | | private SafeHiddenService safeHiddenService; |
| | | |
| | | @GetMapping("/page") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R page(Page page, SafeHiddenDto safeHiddenDto) { |
| | | return R.ok(safeHiddenService.pageSafeHidden(page, safeHiddenDto)); |
| | | } |
| | | |
| | | @ApiOperation("æ°å¢éæ£ææ¥") |
| | | @PostMapping() |
| | | public R add(@RequestBody SafeHidden safeHidden) { |
| | | return R.ok(safeHiddenService.add(safeHidden)); |
| | | } |
| | | |
| | | @ApiOperation("ä¿®æ¹éæ£ææ¥(æ´æ¹/éªæ¶)") |
| | | @PutMapping () |
| | | public R update(@RequestBody SafeHidden safeHidden) { |
| | | return R.ok(safeHiddenService.updateById(safeHidden)); |
| | | } |
| | | |
| | | @ApiOperation("å é¤éæ£ææ¥") |
| | | @DeleteMapping("/{ids}") |
| | | public R delSafeHidden(@RequestBody List<Integer> ids) { |
| | | return R.ok(safeHiddenService.delSafeHidden(ids)); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.controller; |
| | | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.safe.pojo.SafeHiddenFile; |
| | | import com.ruoyi.safe.service.SafeHiddenFileService; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.util.CollectionUtils; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥--éä»¶ å端æ§å¶å¨ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:50:05 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/safeHiddenFile") |
| | | @Api(tags = "å®å
¨ç产--éæ£ææ¥ä¸æ¥--éä»¶") |
| | | public class SafeHiddenFileController { |
| | | |
| | | @Resource |
| | | private SafeHiddenFileService safeHiddenFileService; |
| | | |
| | | |
| | | /** |
| | | * æ°å¢ |
| | | * @param safeHiddenFile |
| | | * @return |
| | | */ |
| | | @PostMapping("/add") |
| | | @ApiOperation("æ°å¢") |
| | | public R add(@RequestBody SafeHiddenFile safeHiddenFile) { |
| | | return R.ok(safeHiddenFileService.save(safeHiddenFile)); |
| | | } |
| | | |
| | | /** |
| | | * å é¤ |
| | | * @param ids |
| | | * @return |
| | | */ |
| | | @DeleteMapping("/del") |
| | | @ApiOperation("å é¤") |
| | | public R delSafeHiddenFile(@RequestBody List<Integer> ids) { |
| | | if(CollectionUtils.isEmpty(ids)){ |
| | | return R.fail("è¯·éæ©è³å°ä¸æ¡æ°æ®"); |
| | | } |
| | | //å 餿£éªéä»¶ |
| | | return R.ok(safeHiddenFileService.removeBatchByIds(ids)); |
| | | } |
| | | |
| | | /** |
| | | *å页æ¥è¯¢ |
| | | * @param page |
| | | * @param safeHiddenFile |
| | | * @return |
| | | */ |
| | | @GetMapping("/listPage") |
| | | @ApiOperation("å页æ¥è¯¢") |
| | | public R listPage(Page page, SafeHiddenFile safeHiddenFile) { |
| | | return R.ok(safeHiddenFileService.page(page, Wrappers.<SafeHiddenFile>lambdaQuery().eq(SafeHiddenFile::getSafeHiddenId,safeHiddenFile.getSafeHiddenId()))); |
| | | } |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.safe.pojo.SafeHazardRecord; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | public class SafeHazardRecordDto extends SafeHazardRecord { |
| | | |
| | | @ApiModelProperty("é¢ç¨äºº") |
| | | private String applyUserName; |
| | | |
| | | @ApiModelProperty("å½è¿äºº") |
| | | private String returnUserName; |
| | | |
| | | @ApiModelProperty("å±é©æºåç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty("å±é©æºç¼ç ") |
| | | private String code; |
| | | |
| | | @ApiModelProperty("å±é©æºç±»å") |
| | | private String type; |
| | | |
| | | @ApiModelProperty("é£é©ç级") |
| | | private String riskLevel; |
| | | |
| | | @ApiModelProperty("æå¨ä½ç½®") |
| | | private String location; |
| | | |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.dto; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.*; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import com.ruoyi.safe.pojo.SafeHidden; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import java.io.Serializable; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | | public class SafeHiddenDto extends SafeHidden { |
| | | |
| | | @ApiModelProperty("䏿¥äºº") |
| | | private String createUserName; |
| | | |
| | | @ApiModelProperty("æ´æ¹è´£ä»»äºº") |
| | | private String rectifyUserName; |
| | | |
| | | @ApiModelProperty("éªæ¶äºº") |
| | | private String verifyUserName; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeAccident; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--äºæ
䏿¥è®°å½ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:40:31 |
| | | */ |
| | | @Mapper |
| | | public interface SafeAccidentMapper extends BaseMapper<SafeAccident> { |
| | | |
| | | IPage<SafeAccident> pageSafeAccident(Page page, @Param("c") SafeAccident safeAccident); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.ruoyi.safe.pojo.SafeCertificationFile; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç--éä»¶ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:45:20 |
| | | */ |
| | | @Mapper |
| | | public interface SafeCertificationFileMapper extends BaseMapper<SafeCertificationFile> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeCertification; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:26:33 |
| | | */ |
| | | @Mapper |
| | | public interface SafeCertificationMapper extends BaseMapper<SafeCertification> { |
| | | |
| | | IPage<SafeCertification> pageSafeCertification(Page<SafeCertification> page, @Param("c") SafeCertification safeCertification); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeContingencyPlan; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--åºæ¥é¢æ¡æ¥é
Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:07:29 |
| | | */ |
| | | @Mapper |
| | | public interface SafeContingencyPlanMapper extends BaseMapper<SafeContingencyPlan> { |
| | | |
| | | IPage<SafeContingencyPlan> pageSafeContingencyPlan(Page page, @Param("c") SafeContingencyPlan safeContingencyPlan); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeHazard; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©æºå°è´¦ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 10:09:24 |
| | | */ |
| | | @Mapper |
| | | public interface SafeHazardMapper extends BaseMapper<SafeHazard> { |
| | | |
| | | IPage<SafeHazard> pageSafeHazard(Page page, @Param("c") SafeHazard safeHazard); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.dto.SafeHazardRecordDto; |
| | | import com.ruoyi.safe.pojo.SafeHazardRecord; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©ç©æç®¡æ§ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 01:13:40 |
| | | */ |
| | | @Mapper |
| | | public interface SafeHazardRecordMapper extends BaseMapper<SafeHazardRecord> { |
| | | |
| | | IPage<SafeHazardRecordDto> pageSafeHazardRecord(Page page, @Param("c") SafeHazardRecordDto safeHazardRecordDto); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.ruoyi.safe.pojo.SafeHiddenFile; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥--éä»¶ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:50:05 |
| | | */ |
| | | @Mapper |
| | | public interface SafeHiddenFileMapper extends BaseMapper<SafeHiddenFile> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.dto.SafeHiddenDto; |
| | | import com.ruoyi.safe.pojo.SafeHidden; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥ Mapper æ¥å£ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:10:54 |
| | | */ |
| | | @Mapper |
| | | public interface SafeHiddenMapper extends BaseMapper<SafeHidden> { |
| | | |
| | | IPage<SafeHiddenDto> pageSafeHidden(Page page, @Param("c") SafeHiddenDto safeHiddenDto); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--äºæ
䏿¥è®°å½ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:40:31 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_accident") |
| | | @ApiModel(value = "SafeAccident对象", description = "å®å
¨ç产--äºæ
䏿¥è®°å½") |
| | | public class SafeAccident implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("äºæ
ç¼å·") |
| | | private String accidentCode; |
| | | |
| | | @ApiModelProperty("äºæ
åç§°") |
| | | private String accidentName; |
| | | |
| | | @ApiModelProperty("äºæ
ç±»å") |
| | | private String accidentType; |
| | | |
| | | @ApiModelProperty("äºæ
åçæ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime happenTime; |
| | | |
| | | @ApiModelProperty("äºæ
åçä½ç½®") |
| | | private String happenLocation; |
| | | |
| | | @ApiModelProperty("äºæ
ç级") |
| | | private String accidentGrade; |
| | | |
| | | @ApiModelProperty("äºæ
ç´æ¥åå ") |
| | | private String accidentCause; |
| | | |
| | | @ApiModelProperty("äºæ
æ ¹æ¬åå ") |
| | | private String rootCause; |
| | | |
| | | @ApiModelProperty("人åæå¤±æ
åµ") |
| | | private String personLoss; |
| | | |
| | | @ApiModelProperty("ç´æ¥è´¢äº§æå¤±ï¼å
ï¼ ") |
| | | private BigDecimal assetLoss; |
| | | |
| | | @ApiModelProperty("ç产影åæ
åµ") |
| | | private String productionLoss; |
| | | |
| | | @ApiModelProperty("ç°åºåºæ¥å¤ç½®æªæ½") |
| | | private String handleMeasures; |
| | | |
| | | @ApiModelProperty("äºæ
责任人") |
| | | private String responsiblePerson; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty("䏿¥æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("䏿¥äººid") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("䏿¥äºº") |
| | | @TableField(exist = false) |
| | | private String createUserName; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:26:33 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_certification") |
| | | @ApiModel(value = "SafeCertification对象", description = "å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç") |
| | | public class SafeCertification implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("è§ç¨èµè´¨åç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty("è§ç¨èµè´¨ç¼å·") |
| | | private String code; |
| | | |
| | | @ApiModelProperty("è§ç¨èµè´¨ç±»å") |
| | | private String type; |
| | | |
| | | @ApiModelProperty("çæ¬å·") |
| | | private String version; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty("æææ") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate effectiveTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç--éä»¶ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:45:20 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_certification_file") |
| | | @ApiModel(value = "SafeCertificationFile对象", description = "å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç--éä»¶") |
| | | public class SafeCertificationFile implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("å
³èå®å
¨ç产èµè´¨id") |
| | | @NotBlank(message = "å
³èå®å
¨ç产èµè´¨idä¸è½ä¸ºç©º") |
| | | private Integer safeCertificationId; |
| | | |
| | | private String name; |
| | | |
| | | private String url; |
| | | |
| | | private Object fileSize; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--åºæ¥é¢æ¡æ¥é
|
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:07:29 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_contingency_plan") |
| | | @ApiModel(value = "SafeContingencyPlan对象", description = "å®å
¨ç产--åºæ¥é¢æ¡æ¥é
") |
| | | public class SafeContingencyPlan implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("åºæ¥é¢æ¡ç¼ç ") |
| | | private String planCode; |
| | | |
| | | @ApiModelProperty("åºæ¥é¢æ¡åç§°") |
| | | private String planName; |
| | | |
| | | @ApiModelProperty("颿¡ç±»å") |
| | | private String planType; |
| | | |
| | | @ApiModelProperty("éç¨èå´") |
| | | private String applyScope; |
| | | |
| | | @ApiModelProperty("æ ¸å¿è´£ä»»äºº") |
| | | private Integer coreResponsorUserId; |
| | | |
| | | @ApiModelProperty("æ ¸å¿è´£ä»»äºº") |
| | | @TableField(exist = false) |
| | | private String coreResponsorUserName; |
| | | |
| | | @ApiModelProperty("åºæ¥å¤ç½®æ¥éª¤") |
| | | private String execSteps; |
| | | |
| | | @ApiModelProperty("åå¸çææ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate publishTime; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remark; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @ApiModelProperty("æå修订æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©æºå°è´¦ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 10:09:24 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_hazard") |
| | | @ApiModel(value = "SafeHazard对象", description = "å®å
¨ç产--å±é©æºå°è´¦") |
| | | public class SafeHazard implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("å±é©æºåç§°") |
| | | private String name; |
| | | |
| | | @ApiModelProperty("å±é©æºç¼ç ") |
| | | private String code; |
| | | |
| | | @ApiModelProperty("å±é©æºç±»å") |
| | | private String type; |
| | | |
| | | @ApiModelProperty("é£é©ç级") |
| | | private String riskLevel; |
| | | |
| | | @ApiModelProperty("æå¨ä½ç½®") |
| | | private String location; |
| | | |
| | | @ApiModelProperty("è§æ ¼ / é£é©æè¿°") |
| | | private String specInfo; |
| | | |
| | | @ApiModelProperty("ç®¡æ§æªæ½") |
| | | private String controlMeasures; |
| | | |
| | | @ApiModelProperty("管æ§è´£ä»»äºº ID") |
| | | private Integer principalUserId; |
| | | |
| | | @ApiModelProperty("管æ§è´£ä»»äºº") |
| | | @TableField(exist = false) |
| | | private String principalUser; |
| | | |
| | | @ApiModelProperty("责任人èç³»çµè¯") |
| | | private String principalMobile; |
| | | |
| | | @ApiModelProperty("åºåæ°é") |
| | | private BigDecimal stockQty; |
| | | |
| | | @ApiModelProperty("夿³¨") |
| | | private String remark; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©ç©æç®¡æ§ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 01:13:40 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_hazard_record") |
| | | @ApiModel(value = "SafeHazardRecord对象", description = "å®å
¨ç产--å±é©ç©æç®¡æ§") |
| | | public class SafeHazardRecord implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("åå·") |
| | | private String materialRecordCode; |
| | | |
| | | @ApiModelProperty("å
³èå±é©æºå°è´¦ ID") |
| | | private Integer safeHazardId; |
| | | |
| | | @ApiModelProperty("é¢ç¨äºº ID") |
| | | private Integer applyUserId; |
| | | |
| | | @ApiModelProperty("é¢ç¨æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate applyTime; |
| | | |
| | | @ApiModelProperty("é¢ç¨æ°é") |
| | | private BigDecimal applyQty; |
| | | |
| | | @ApiModelProperty("é¢ç¨ç¨é") |
| | | private String applyPurpose; |
| | | |
| | | @ApiModelProperty("å½è¿äºº ID") |
| | | private Integer returnUserId; |
| | | |
| | | @ApiModelProperty("å½è¿æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate returnTime; |
| | | |
| | | @ApiModelProperty("å½è¿æ
åµè¯´æ") |
| | | private String returnRemark; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | import org.springframework.format.annotation.DateTimeFormat; |
| | | |
| | | import javax.validation.constraints.NotBlank; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:10:54 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_hidden") |
| | | @ApiModel(value = "SafeHidden对象", description = "å®å
¨ç产--éæ£ææ¥ä¸æ¥") |
| | | public class SafeHidden implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("鿣ç¼å·") |
| | | private String hiddenCode; |
| | | |
| | | @ApiModelProperty("éæ£ç±»å") |
| | | private String type; |
| | | |
| | | @ApiModelProperty("鿣é£é©ç级") |
| | | private String riskLevel; |
| | | |
| | | @ApiModelProperty("鿣å
·ä½ä½ç½®") |
| | | private String location; |
| | | |
| | | @ApiModelProperty("鿣æè¿°") |
| | | private String hiddenDesc; |
| | | |
| | | @ApiModelProperty("æ´æ¹è´£ä»»äºº ID") |
| | | @NotBlank(message = "æ´æ¹è´£ä»»äººä¸è½ä¸ºç©º") |
| | | private Integer rectifyUserId; |
| | | |
| | | @ApiModelProperty("æ´æ¹äººèç³»çµè¯") |
| | | private String rectifyUserMobile; |
| | | |
| | | @ApiModelProperty("æ´æ¹å®ææé(æ¥æ)") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | @NotBlank(message = "æ´æ¹å®ææéä¸è½ä¸ºç©º") |
| | | private LocalDate rectifyTime; |
| | | |
| | | @ApiModelProperty("æ´æ¹å
·ä½æªæ½") |
| | | private String rectifyMeasures; |
| | | |
| | | @ApiModelProperty("å®é
æ´æ¹å®ææ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate rectifyActualTime; |
| | | |
| | | @ApiModelProperty("éªæ¶äºº ID") |
| | | private Integer verifyUserId; |
| | | |
| | | @ApiModelProperty("éªæ¶ç»æ") |
| | | private String verifyResult; |
| | | |
| | | @ApiModelProperty("éªæ¶æè§") |
| | | private String verifyRemark; |
| | | |
| | | @ApiModelProperty("éªæ¶æ¶é´") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd") |
| | | private LocalDate verifyTime; |
| | | |
| | | @ApiModelProperty("䏿¥æ¶é´") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty("䏿¥äººid") |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Getter; |
| | | import lombok.Setter; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥--éä»¶ |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:50:05 |
| | | */ |
| | | @Getter |
| | | @Setter |
| | | @TableName("safe_hidden_file") |
| | | @ApiModel(value = "SafeHiddenFile对象", description = "å®å
¨ç产--éæ£ææ¥ä¸æ¥--éä»¶") |
| | | public class SafeHiddenFile implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | |
| | | @ApiModelProperty("å
³èéæ£ææ¥ä¸æ¥id") |
| | | private Integer safeHiddenId; |
| | | |
| | | private String name; |
| | | |
| | | private String url; |
| | | |
| | | private Object fileSize; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer createUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @TableField(fill = FieldFill.INSERT_UPDATE) |
| | | private Integer updateUser; |
| | | |
| | | @TableField(fill = FieldFill.INSERT) |
| | | private Integer tenantId; |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeAccident; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--äºæ
䏿¥è®°å½ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:40:31 |
| | | */ |
| | | public interface SafeAccidentService extends IService<SafeAccident> { |
| | | |
| | | IPage<SafeAccident> pageSafeAccident(Page page, SafeAccident safeAccident); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.ruoyi.safe.pojo.SafeCertificationFile; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç--éä»¶ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:45:20 |
| | | */ |
| | | public interface SafeCertificationFileService extends IService<SafeCertificationFile> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeCertification; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:26:33 |
| | | */ |
| | | public interface SafeCertificationService extends IService<SafeCertification> { |
| | | |
| | | IPage<SafeCertification> pageSafeCertification(Page<SafeCertification> page, SafeCertification safeCertification); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeContingencyPlan; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--åºæ¥é¢æ¡æ¥é
æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:07:29 |
| | | */ |
| | | public interface SafeContingencyPlanService extends IService<SafeContingencyPlan> { |
| | | |
| | | IPage<SafeContingencyPlan> pageSafeContingencyPlan(Page page, SafeContingencyPlan safeContingencyPlan); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.dto.SafeHazardRecordDto; |
| | | import com.ruoyi.safe.pojo.SafeHazardRecord; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©ç©æç®¡æ§ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 01:13:40 |
| | | */ |
| | | public interface SafeHazardRecordService extends IService<SafeHazardRecord> { |
| | | |
| | | IPage<SafeHazardRecordDto> pageSafeHazardRecord(Page page, SafeHazardRecordDto safeHazardRecordDto); |
| | | |
| | | int borrow(SafeHazardRecord safeHazardRecord); |
| | | |
| | | int returnSafeHazardRecord(SafeHazardRecord safeHazardRecord); |
| | | |
| | | int delSafeHazardRecord(List<Integer> ids); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeHazard; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©æºå°è´¦ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 10:09:24 |
| | | */ |
| | | public interface SafeHazardService extends IService<SafeHazard> { |
| | | |
| | | IPage<SafeHazard> pageSafeHazard(Page page, SafeHazard safeHazard); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.ruoyi.safe.pojo.SafeHiddenFile; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥--éä»¶ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:50:05 |
| | | */ |
| | | public interface SafeHiddenFileService extends IService<SafeHiddenFile> { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.dto.SafeHiddenDto; |
| | | import com.ruoyi.safe.pojo.SafeHidden; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥ æå¡ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:10:54 |
| | | */ |
| | | public interface SafeHiddenService extends IService<SafeHidden> { |
| | | |
| | | IPage<SafeHiddenDto> pageSafeHidden(Page page, SafeHiddenDto safeHiddenDto); |
| | | |
| | | int add(SafeHidden safeHidden); |
| | | |
| | | int delSafeHidden(List<Integer> ids); |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeAccident; |
| | | import com.ruoyi.safe.mapper.SafeAccidentMapper; |
| | | import com.ruoyi.safe.service.SafeAccidentService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--äºæ
䏿¥è®°å½ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:40:31 |
| | | */ |
| | | @Service |
| | | public class SafeAccidentServiceImpl extends ServiceImpl<SafeAccidentMapper, SafeAccident> implements SafeAccidentService { |
| | | |
| | | @Autowired |
| | | private SafeAccidentMapper safeAccidentMapper; |
| | | |
| | | @Override |
| | | public IPage<SafeAccident> pageSafeAccident(Page page, SafeAccident safeAccident) { |
| | | return safeAccidentMapper.pageSafeAccident(page, safeAccident); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.ruoyi.safe.pojo.SafeCertificationFile; |
| | | import com.ruoyi.safe.mapper.SafeCertificationFileMapper; |
| | | import com.ruoyi.safe.service.SafeCertificationFileService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç--éä»¶ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:45:20 |
| | | */ |
| | | @Service |
| | | public class SafeCertificationFileServiceImpl extends ServiceImpl<SafeCertificationFileMapper, SafeCertificationFile> implements SafeCertificationFileService { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeCertification; |
| | | import com.ruoyi.safe.mapper.SafeCertificationMapper; |
| | | import com.ruoyi.safe.service.SafeCertificationService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å®å
¨è§ç¨ä¸èµè´¨ç®¡ç æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 09:26:33 |
| | | */ |
| | | @Service |
| | | public class SafeCertificationServiceImpl extends ServiceImpl<SafeCertificationMapper, SafeCertification> implements SafeCertificationService { |
| | | |
| | | @Autowired |
| | | private SafeCertificationMapper safeCertificationMapper; |
| | | |
| | | |
| | | @Override |
| | | public IPage<SafeCertification> pageSafeCertification(Page<SafeCertification> page, SafeCertification safeCertification) { |
| | | return safeCertificationMapper.pageSafeCertification(page, safeCertification); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeContingencyPlan; |
| | | import com.ruoyi.safe.mapper.SafeContingencyPlanMapper; |
| | | import com.ruoyi.safe.service.SafeContingencyPlanService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--åºæ¥é¢æ¡æ¥é
æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 02:07:29 |
| | | */ |
| | | @Service |
| | | public class SafeContingencyPlanServiceImpl extends ServiceImpl<SafeContingencyPlanMapper, SafeContingencyPlan> implements SafeContingencyPlanService { |
| | | |
| | | @Autowired |
| | | private SafeContingencyPlanMapper safeContingencyPlanMapper; |
| | | |
| | | @Override |
| | | public IPage<SafeContingencyPlan> pageSafeContingencyPlan(Page page, SafeContingencyPlan safeContingencyPlan) { |
| | | return safeContingencyPlanMapper.pageSafeContingencyPlan(page, safeContingencyPlan); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.utils.SecurityUtils; |
| | | import com.ruoyi.safe.dto.SafeHazardRecordDto; |
| | | import com.ruoyi.safe.mapper.SafeHazardMapper; |
| | | import com.ruoyi.safe.pojo.SafeHazard; |
| | | import com.ruoyi.safe.pojo.SafeHazardRecord; |
| | | import com.ruoyi.safe.mapper.SafeHazardRecordMapper; |
| | | import com.ruoyi.safe.service.SafeHazardRecordService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©ç©æç®¡æ§ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 01:13:40 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class SafeHazardRecordServiceImpl extends ServiceImpl<SafeHazardRecordMapper, SafeHazardRecord> implements SafeHazardRecordService { |
| | | |
| | | @Autowired |
| | | private SafeHazardRecordMapper safeHazardRecordMapper; |
| | | @Autowired |
| | | private SafeHazardMapper safeHazardMapper; |
| | | |
| | | @Override |
| | | public IPage<SafeHazardRecordDto> pageSafeHazardRecord(Page page, SafeHazardRecordDto safeHazardRecordDto) { |
| | | return safeHazardRecordMapper.pageSafeHazardRecord(page, safeHazardRecordDto); |
| | | } |
| | | |
| | | @Override |
| | | public int borrow(SafeHazardRecord safeHazardRecord) { |
| | | //夿æ°éæ¯å¦æ»¡è¶³ |
| | | SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId()); |
| | | if (safeHazard.getStockQty().compareTo(safeHazardRecord.getApplyQty())<0) { |
| | | throw new RuntimeException("åºåæ°éä¸è¶³"); |
| | | } |
| | | //é¢ç¨ |
| | | safeHazardRecord.setApplyUserId(SecurityUtils.getUserId().intValue()); |
| | | safeHazardRecord.setApplyTime(LocalDate.now()); |
| | | safeHazardRecordMapper.insert(safeHazardRecord); |
| | | String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); |
| | | String no = "LY" + String.format("%s%03d", datePrefix, safeHazardRecord.getId()); |
| | | safeHazardRecord.setMaterialRecordCode(no); |
| | | safeHazardRecordMapper.updateById(safeHazardRecord); |
| | | //ååºå |
| | | safeHazard.setStockQty(safeHazard.getStockQty().subtract(safeHazardRecord.getApplyQty())); |
| | | safeHazardMapper.updateById(safeHazard); |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public int returnSafeHazardRecord(SafeHazardRecord safeHazardRecord) { |
| | | SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId()); |
| | | //å½è¿ |
| | | safeHazardRecord.setReturnUserId(SecurityUtils.getUserId().intValue()); |
| | | safeHazardRecord.setReturnTime(LocalDate.now()); |
| | | safeHazardRecordMapper.updateById(safeHazardRecord); |
| | | //å¢åºå |
| | | safeHazard.setStockQty(safeHazard.getStockQty().add(safeHazardRecord.getApplyQty())); |
| | | safeHazardMapper.updateById(safeHazard); |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public int delSafeHazardRecord(List<Integer> ids) { |
| | | List<SafeHazardRecord> safeHazardRecords = safeHazardRecordMapper.selectBatchIds(ids); |
| | | for (SafeHazardRecord safeHazardRecord : safeHazardRecords) { |
| | | //夿æ¯å¦æå½è¿ |
| | | if (ObjectUtils.isNull(safeHazardRecord.getReturnUserId())){ |
| | | //没æå½è¿,å é¤é¢ç¨è®°å½éè¦å¢å åºå |
| | | SafeHazard safeHazard = safeHazardMapper.selectById(safeHazardRecord.getSafeHazardId()); |
| | | safeHazard.setStockQty(safeHazard.getStockQty().add(safeHazardRecord.getApplyQty())); |
| | | safeHazardMapper.updateById(safeHazard); |
| | | } |
| | | } |
| | | safeHazardRecordMapper.deleteBatchIds(ids); |
| | | return 0; |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.safe.pojo.SafeHazard; |
| | | import com.ruoyi.safe.mapper.SafeHazardMapper; |
| | | import com.ruoyi.safe.service.SafeHazardService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--å±é©æºå°è´¦ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 10:09:24 |
| | | */ |
| | | @Service |
| | | public class SafeHazardServiceImpl extends ServiceImpl<SafeHazardMapper, SafeHazard> implements SafeHazardService { |
| | | |
| | | @Autowired |
| | | private SafeHazardMapper safeHazardMapper; |
| | | |
| | | @Override |
| | | public IPage<SafeHazard> pageSafeHazard(Page page, SafeHazard safeHazard) { |
| | | return safeHazardMapper.pageSafeHazard(page, safeHazard); |
| | | } |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.ruoyi.safe.pojo.SafeHiddenFile; |
| | | import com.ruoyi.safe.mapper.SafeHiddenFileMapper; |
| | | import com.ruoyi.safe.service.SafeHiddenFileService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥--éä»¶ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:50:05 |
| | | */ |
| | | @Service |
| | | public class SafeHiddenFileServiceImpl extends ServiceImpl<SafeHiddenFileMapper, SafeHiddenFile> implements SafeHiddenFileService { |
| | | |
| | | } |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | package com.ruoyi.safe.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.project.system.domain.SysNotice; |
| | | import com.ruoyi.project.system.mapper.SysNoticeMapper; |
| | | import com.ruoyi.project.system.service.ISysNoticeService; |
| | | import com.ruoyi.project.system.service.impl.SysNoticeServiceImpl; |
| | | import com.ruoyi.safe.dto.SafeHiddenDto; |
| | | import com.ruoyi.safe.pojo.SafeHidden; |
| | | import com.ruoyi.safe.mapper.SafeHiddenMapper; |
| | | import com.ruoyi.safe.service.SafeHiddenService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.format.DateTimeFormatter; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * å®å
¨ç产--éæ£ææ¥ä¸æ¥ æå¡å®ç°ç±» |
| | | * </p> |
| | | * |
| | | * @author è¯å¯¼è½¯ä»¶ï¼æ±èï¼æéå
¬å¸ |
| | | * @since 2026-01-28 11:10:54 |
| | | */ |
| | | @Service |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public class SafeHiddenServiceImpl extends ServiceImpl<SafeHiddenMapper, SafeHidden> implements SafeHiddenService { |
| | | |
| | | @Autowired |
| | | private SafeHiddenMapper safeHiddenMapper; |
| | | @Autowired |
| | | private ISysNoticeService sysNoticeService; |
| | | |
| | | |
| | | @Override |
| | | public IPage<SafeHiddenDto> pageSafeHidden(Page page, SafeHiddenDto safeHiddenDto) { |
| | | return safeHiddenMapper.pageSafeHidden(page, safeHiddenDto); |
| | | } |
| | | |
| | | @Override |
| | | public int add(SafeHidden safeHidden) { |
| | | safeHiddenMapper.insert(safeHidden); |
| | | String datePrefix = LocalDate.now().format(DateTimeFormatter.ofPattern("yyyyMMdd")); |
| | | String no = "YH" + String.format("%s%03d", datePrefix, safeHidden.getId()); |
| | | safeHidden.setHiddenCode(no); |
| | | safeHiddenMapper.updateById(safeHidden); |
| | | //æ¶æ¯éç¥ |
| | | sysNoticeService.simpleNoticeByUser("éæ£ææ¥ä¸æ¥æ´æ¹", |
| | | "éæ£ç±»åï¼"+safeHidden.getType()+"\n"+ |
| | | "鿣é£é©ç级ï¼"+safeHidden.getRiskLevel()+"\n"+ |
| | | "鿣å
·ä½ä½ç½®ï¼"+safeHidden.getLocation()+"\n"+ |
| | | "鿣æè¿°ï¼"+safeHidden.getHiddenDesc()+"\n"+ |
| | | "æ´æ¹å®ææé(æ¥æ)ï¼"+safeHidden.getRectifyTime(), |
| | | Arrays.asList(Long.valueOf(safeHidden.getRectifyUserId())), |
| | | "/safeProduction/dangerInvestigation?id=" + safeHidden.getId()); |
| | | return 0; |
| | | } |
| | | |
| | | @Override |
| | | public int delSafeHidden(List<Integer> ids) { |
| | | List<SafeHidden> safeHiddens = safeHiddenMapper.selectBatchIds(ids); |
| | | for (SafeHidden safeHidden : safeHiddens) { |
| | | // å é¤å¯¹åºçæ¶æ¯éç¥ |
| | | sysNoticeService.remove(new LambdaQueryWrapper<SysNotice>() |
| | | .eq(SysNotice::getNoticeTitle, "éæ£ææ¥ä¸æ¥æ´æ¹") |
| | | .eq(SysNotice::getSenderId, safeHidden.getCreateUser()) |
| | | .apply("CAST(notice_content AS CHAR) LIKE CONCAT('%', {0}, '%')", safeHidden.getId())); |
| | | } |
| | | safeHiddenMapper.deleteBatchIds(ids); |
| | | return 0; |
| | | } |
| | | } |
| | |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * 产åä¿¡æ¯Mapperæ¥å£ |
| | |
| | | IPage<ProcurementBusinessSummaryDto> procurementBusinessSummaryListPage(Page page,@Param("req") ProcurementBusinessSummaryDto procurementBusinessSummaryDto); |
| | | |
| | | List<LossProductModelDto> selectProductBomStructure(@Param("salesLedegerId") Long salesLedegerId); |
| | | |
| | | List<Map<String, Object>> selectProductSalesAnalysis(); |
| | | |
| | | List<Map<String, Object>> selectRawMaterialPurchaseAnalysis(); |
| | | |
| | | int selectProductCountByTypeAndDate(@Param("type") Integer type, @Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | } |
| | |
| | | // 已忬¾éé¢ |
| | | SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(receiptPayment.getSalesLedgerProductId()); |
| | | if(null==salesLedgerProduct) throw new RuntimeException("æªæ¾å°éå®å产å"); |
| | | if (salesLedgerProduct.getPendingInvoiceTotal().compareTo(receiptPayment.getReceiptPaymentAmount())<0){ |
| | | throw new RuntimeException("æ¬æ¬¡å款éé¢ä¸è½å¤§äºå¾
忬¾éé¢"); |
| | | if (salesLedgerProduct.getPendingInvoiceTotal().add(receiptPayment.getReceiptPaymentAmount()).compareTo(byId.getReceiptPaymentAmount())<0){ |
| | | throw new RuntimeException("æ¬æ¬¡å款éé¢ä¸è½å¤§äºå¾
忬¾éé¢+忬¾éé¢"); |
| | | } |
| | | if(null==receiptPayment.getId()){ |
| | | salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(receiptPayment.getReceiptPaymentAmount())); |
| | |
| | | accountIncome.setBusinessType(1); |
| | | accountIncomeService.save(accountIncome); |
| | | }else { |
| | | BigDecimal subtract = receiptPayment.getReceiptPaymentAmount().subtract(byId.getReceiptPaymentAmount()); |
| | | BigDecimal subtract = byId.getReceiptPaymentAmount().subtract(receiptPayment.getReceiptPaymentAmount()); |
| | | salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(subtract)); |
| | | salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal())); |
| | | receiptPayment.setReceiptPaymentAmount(byId.getReceiptPaymentAmount()); |
| | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; |
| | | import com.ruoyi.common.enums.StockUnQualifiedRecordTypeEnum; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.framework.web.domain.R; |
| | | import com.ruoyi.procurementrecord.utils.StockUtils; |
| | |
| | | new LambdaQueryWrapper<QualityInspect>() |
| | | .in(QualityInspect::getProductMainId, productMainIds) |
| | | ); |
| | | //å é¤åºåºè®°å½ |
| | | for (Long productMainId : productMainIds) { |
| | | //å é¤ç产åºåºè®°å½ |
| | | stockUtils.deleteStockOutRecord(productMainId, StockQualifiedRecordTypeEnum.PRODUCTION_REPORT_STOCK_OUT.getCode()); |
| | | //å 餿¥åºçå
¥åºè®°å½ |
| | | stockUtils.deleteStockInRecord(productMainId, StockUnQualifiedRecordTypeEnum.PRODUCTION_SCRAP.getCode()); |
| | | } |
| | | qualityInspects.forEach(qualityInspect -> { |
| | | //inspectState=1 å·²æäº¤ ä¸è½å é¤ |
| | | if (qualityInspect.getInspectState() == 1) { |
| | |
| | | package com.ruoyi.sales.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.baomidou.mybatisplus.core.metadata.IPage; |
| | | import com.baomidou.mybatisplus.core.toolkit.CollectionUtils; |
| | |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.account.pojo.AccountIncome; |
| | | import com.ruoyi.account.service.AccountIncomeService; |
| | | import com.ruoyi.basic.mapper.CustomerMapper; |
| | | import com.ruoyi.basic.mapper.ProductMapper; |
| | | import com.ruoyi.basic.mapper.ProductModelMapper; |
| | | import com.ruoyi.basic.pojo.Customer; |
| | | import com.ruoyi.basic.pojo.Product; |
| | | import com.ruoyi.basic.pojo.ProductModel; |
| | | import com.ruoyi.common.enums.FileNameType; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.DateUtils; |
| | |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.other.mapper.TempFileMapper; |
| | | import com.ruoyi.other.pojo.TempFile; |
| | | import com.ruoyi.production.dto.ProductStructureDto; |
| | | import com.ruoyi.production.mapper.*; |
| | | import com.ruoyi.production.pojo.*; |
| | | import com.ruoyi.project.system.domain.SysDept; |
| | |
| | | private ProductMapper productMapper; |
| | | @Autowired |
| | | private ProductStructureMapper productStructureMapper; |
| | | ; |
| | | |
| | | @Override |
| | | public List<SalesLedger> selectSalesLedgerList(SalesLedgerDto salesLedgerDto) { |
| | |
| | | import com.ruoyi.approve.service.impl.ApproveProcessServiceImpl; |
| | | import com.ruoyi.common.enums.FileNameType; |
| | | import com.ruoyi.common.enums.StockQualifiedRecordTypeEnum; |
| | | import com.ruoyi.framework.web.domain.AjaxResult; |
| | | import com.ruoyi.other.service.impl.TempFileServiceImpl; |
| | | import com.ruoyi.procurementrecord.utils.StockUtils; |
| | | import com.ruoyi.sales.dto.ShippingInfoDto; |
| | |
| | | import com.ruoyi.sales.mapper.ShippingInfoMapper; |
| | | import com.ruoyi.sales.pojo.SalesLedgerProduct; |
| | | import com.ruoyi.sales.pojo.ShippingInfo; |
| | | import com.ruoyi.sales.service.ICommonFileService; |
| | | import com.ruoyi.sales.service.ShippingInfoService; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.commons.collections4.CollectionUtils; |
| | |
| | | // æ£å·²åè´§åºå |
| | | for (ShippingInfo shippingInfo : shippingInfos) { |
| | | if("å·²åè´§".equals(shippingInfo.getStatus())) { |
| | | stockUtils.deleteStockRecord(shippingInfo.getId(), StockQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode()); |
| | | stockUtils.deleteStockOutRecord(shippingInfo.getId(), StockQualifiedRecordTypeEnum.SALE_SHIP_STOCK_OUT.getCode()); |
| | | } |
| | | } |
| | | // å é¤åè´§å®¡æ¹ |
| | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.common.exception.base.BaseException; |
| | | import com.ruoyi.common.utils.poi.ExcelUtil; |
| | | import com.ruoyi.project.system.domain.SysUser; |
| | | import com.ruoyi.project.system.mapper.SysUserMapper; |
| | | import com.ruoyi.staff.dto.StaffLeaveDto; |
| | | import com.ruoyi.staff.mapper.StaffLeaveMapper; |
| | | import com.ruoyi.staff.mapper.StaffOnJobMapper; |
| | |
| | | |
| | | @Autowired |
| | | private StaffOnJobMapper staffOnJobMapper; |
| | | |
| | | @Autowired |
| | | private SysUserMapper sysUserMapper; |
| | | |
| | | //æ°å¢ç¦»èå表å页æ¥è¯¢ |
| | | @Override |
| | |
| | | } |
| | | staffLeaveMapper.insert(staffLeave); |
| | | |
| | | // æ´æ°å¯¹åºç¨æ·ç¶æä¸ºåç¨ |
| | | // æ ¹æ®åå·¥ç¼å·æ¥è¯¢ç¨æ· |
| | | SysUser sysUser = sysUserMapper.selectUserByUserName(staffOnJob.getStaffNo()); |
| | | sysUser.setStatus("1"); |
| | | sysUserMapper.updateUser(sysUser); |
| | | |
| | | // æ´æ°ç¦»èç¶æä¸ºç¦»è |
| | | staffOnJob.setStaffState(0); |
| | | return staffOnJobMapper.updateById(staffOnJob); |
| | |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDate; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | /** |
| | | * <p> |
| | |
| | | |
| | | BigDecimal selectTotal(); |
| | | |
| | | int selectStorageProductCountByDate(@Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | List<Map<String, Object>> selectDailyStockInCounts(@Param("rootCategoryId") Long rootCategoryId, @Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | List<Map<String, Object>> selectDailyStockOutCounts(@Param("rootCategoryId") Long rootCategoryId, @Param("startDate") String startDate, @Param("endDate") String endDate); |
| | | |
| | | BigDecimal selectTotalByDate( @Param("now") LocalDate now); |
| | | } |
| | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Integer id; |
| | | private Long id; |
| | | |
| | | @ApiModelProperty("å
¥åºæ¹æ¬¡") |
| | | private String outboundBatches; |
| | |
| | | StockInventoryDto stockInRecordDto = new StockInventoryDto(); |
| | | stockInRecordDto.setProductModelId(stockInventory.getProductModelId()); |
| | | stockInRecordDto.setQualitity(stockInRecord.getStockInNum()); |
| | | stockInventoryMapper.updateAddStockInventory(stockInRecordDto); |
| | | stockInventoryMapper.updateSubtractStockInventory(stockInRecordDto); |
| | | } |
| | | }else if (stockInRecord.getType().equals("1")) { |
| | | StockUninventory stockUninventory = stockUninventoryMapper.selectOne(new LambdaQueryWrapper<StockUninventory>().eq(StockUninventory::getProductModelId, stockInRecord.getProductModelId())); |
| | |
| | | StockUninventoryDto stockUninventoryDto = new StockUninventoryDto(); |
| | | stockUninventoryDto.setProductModelId(stockUninventory.getProductModelId()); |
| | | stockUninventoryDto.setQualitity(stockInRecord.getStockInNum()); |
| | | stockUninventoryMapper.updateAddStockUnInventory(stockUninventoryDto); |
| | | stockUninventoryMapper.updateSubtractStockUnInventory(stockUninventoryDto); |
| | | } |
| | | } |
| | | } |
| | |
| | | import org.springframework.web.multipart.MultipartFile; |
| | | |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.math.BigDecimal; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | |
| | | @Override |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Boolean subtractStockInventory(StockInventoryDto stockInventoryDto) { |
| | | // æ°å¢åºåºè®°å½ |
| | | // æ°å¢åºåºè®°å½ |
| | | StockOutRecordDto stockOutRecordDto = new StockOutRecordDto(); |
| | | stockOutRecordDto.setRecordId(stockInventoryDto.getRecordId()); |
| | | stockOutRecordDto.setRecordType(stockInventoryDto.getRecordType()); |
| | |
| | | stockOutRecordDto.setType("0"); |
| | | stockOutRecordService.add(stockOutRecordDto); |
| | | StockInventory oldStockInventory = stockInventoryMapper.selectOne(new QueryWrapper<StockInventory>().lambda().eq(StockInventory::getProductModelId, stockInventoryDto.getProductModelId())); |
| | | if (stockInventoryDto.getQualitity().compareTo( oldStockInventory.getQualitity().subtract(oldStockInventory.getLockedQuantity()))>0) { |
| | | throw new RuntimeException("åºåä¸è¶³æ æ³åºåº"); |
| | | } |
| | | if (ObjectUtils.isEmpty(oldStockInventory)) { |
| | | throw new RuntimeException("产ååºåä¸åå¨"); |
| | | }else { |
| | | stockInventoryMapper.updateSubtractStockInventory(stockInventoryDto); |
| | | } |
| | | BigDecimal lockedQty = oldStockInventory.getLockedQuantity(); |
| | | if (lockedQty == null) { |
| | | lockedQty = BigDecimal.ZERO; |
| | | } |
| | | if (stockInventoryDto.getQualitity().compareTo(oldStockInventory.getQualitity().subtract(lockedQty)) > 0) { |
| | | throw new RuntimeException("åºåä¸è¶³æ æ³åºåº"); |
| | | } |
| | | |
| | | stockInventoryMapper.updateSubtractStockInventory(stockInventoryDto); |
| | | return true; |
| | | } |
| | | |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8" ?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" |
| | | "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.home.mapper.HomeMapper"> |
| | | |
| | | <select id="productTurnoverDays" resultType="com.ruoyi.dto.MapDto"> |
| | | SELECT p.product_name AS name, |
| | | DATEDIFF(IFNULL(MAX(sor.create_time), NOW()), MAX(sir.create_time)) AS value |
| | | FROM product p |
| | | JOIN product_model pm ON p.id = pm.product_id |
| | | JOIN stock_in_record sir ON pm.id = sir.product_model_id |
| | | LEFT JOIN stock_out_record sor ON pm.id = sor.product_model_id |
| | | GROUP BY p.id, p.product_name |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | pl.supplier_name, |
| | | pl.project_name, |
| | | pl.contract_amount, |
| | | sum(tr.invoice_amount)as receipt_payment_amount, |
| | | pl.contract_amount-sum(tr.invoice_amount) AS unReceipt_payment_amount, |
| | | IFNULL(sum(tr.invoice_amount),0) as receipt_payment_amount, |
| | | pl.contract_amount-IFNULL(sum(tr.invoice_amount),0) AS unReceipt_payment_amount, |
| | | pl.entry_date, |
| | | pl.execution_date, |
| | | pl.recorder_id, |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeAccidentMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeAccident"> |
| | | <id column="id" property="id" /> |
| | | <result column="accident_code" property="accidentCode" /> |
| | | <result column="accident_name" property="accidentName" /> |
| | | <result column="accident_type" property="accidentType" /> |
| | | <result column="happen_time" property="happenTime" /> |
| | | <result column="happen_location" property="happenLocation" /> |
| | | <result column="accident_grade" property="accidentGrade" /> |
| | | <result column="accident_cause" property="accidentCause" /> |
| | | <result column="root_cause" property="rootCause" /> |
| | | <result column="person_loss" property="personLoss" /> |
| | | <result column="asset_loss" property="assetLoss" /> |
| | | <result column="production_loss" property="productionLoss" /> |
| | | <result column="handle_measures" property="handleMeasures" /> |
| | | <result column="responsible_person" property="responsiblePerson" /> |
| | | <result column="remark" property="remark" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | <select id="pageSafeAccident" resultType="com.ruoyi.safe.pojo.SafeAccident"> |
| | | select sa.*, |
| | | su.nick_name createUserName, |
| | | from safe_accident sa |
| | | left join sys_user su on sa.create_user = su.user_id |
| | | where 1=1 |
| | | <if test="c.accidentCode != null and c.accidentCode != ''"> |
| | | and sa.accident_code like concat('%', #{c.accidentCode}, '%') |
| | | </if> |
| | | <if test="c.accidentName != null and c.accidentName != ''"> |
| | | and sa.accident_name like concat('%', #{accidentName}, '%') |
| | | </if> |
| | | <if test="c.accidentType != null and c.accidentType != ''"> |
| | | and sa.accident_type like concat('%', #{accidentType}, '%') |
| | | </if> |
| | | <if test="c.accidentGrade != null and c.accidentGrade != ''"> |
| | | and sa.accident_grade like concat('%', #{accidentGrade}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeCertificationFileMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeCertificationFile"> |
| | | <id column="id" property="id" /> |
| | | <result column="safe_certification_id" property="safeCertificationId" /> |
| | | <result column="name" property="name" /> |
| | | <result column="url" property="url" /> |
| | | <result column="file_size" property="fileSize" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeCertificationMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeCertification"> |
| | | <id column="id" property="id" /> |
| | | <result column="name" property="name" /> |
| | | <result column="code" property="code" /> |
| | | <result column="type" property="type" /> |
| | | <result column="version" property="version" /> |
| | | <result column="remark" property="remark" /> |
| | | <result column="effective_time" property="effectiveTime" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | <select id="pageSafeCertification" resultType="com.ruoyi.safe.pojo.SafeCertification"> |
| | | select sc.* |
| | | from safe_certification sc |
| | | where 1=1 |
| | | <if test="c.name != null and c.name != ''"> |
| | | and sc.name like concat('%', #{c.name}, '%') |
| | | </if> |
| | | <if test="c.code != null and c.code != ''"> |
| | | and sc.code like concat('%', #{c.code}, '%') |
| | | </if> |
| | | <if test="c.type != null and c.type != ''"> |
| | | and sc.type like concat('%', #{c.type}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeContingencyPlanMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeContingencyPlan"> |
| | | <id column="id" property="id" /> |
| | | <result column="plan_code" property="planCode" /> |
| | | <result column="plan_name" property="planName" /> |
| | | <result column="plan_type" property="planType" /> |
| | | <result column="apply_scope" property="applyScope" /> |
| | | <result column="core_responsor_user_id" property="coreResponsorUserId" /> |
| | | <result column="exec_steps" property="execSteps" /> |
| | | <result column="publish_time" property="publishTime" /> |
| | | <result column="remark" property="remark" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | <select id="pageSafeContingencyPlan" resultType="com.ruoyi.safe.pojo.SafeContingencyPlan"> |
| | | select scp.*, su.nick_name coreResponsorUserName |
| | | from safe_contingency_plan scp |
| | | left join sys_user su on scp.core_responsor_user_id = su.user_id |
| | | where 1=1 |
| | | <if test="c.planCode != null and c.planCode != ''"> |
| | | and scp.plan_code like concat('%', #{c.planCode}, '%') |
| | | </if> |
| | | <if test="c.planName != null and c.planName != ''"> |
| | | and scp.plan_name like concat('%', #{c.planName}, '%') |
| | | </if> |
| | | <if test="c.planType != null and c.planType != ''"> |
| | | and scp.plan_type like concat('%', #{c.planType}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeHazardMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHazard"> |
| | | <id column="id" property="id" /> |
| | | <result column="name" property="name" /> |
| | | <result column="code" property="code" /> |
| | | <result column="type" property="type" /> |
| | | <result column="risk_level" property="riskLevel" /> |
| | | <result column="location" property="location" /> |
| | | <result column="spec_info" property="specInfo" /> |
| | | <result column="control_measures" property="controlMeasures" /> |
| | | <result column="principal_user_id" property="principalUserId" /> |
| | | <result column="principal_mobile" property="principalMobile" /> |
| | | <result column="stock_qty" property="stockQty" /> |
| | | <result column="remark" property="remark" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | <select id="pageSafeHazard" resultType="com.ruoyi.safe.pojo.SafeHazard"> |
| | | select sh.*, su.nick_name principalUser |
| | | from safe_hazard sh |
| | | left join sys_user su on sh.principal_user_id = su.user_id |
| | | where 1=1 |
| | | <if test="c.name != null and c.name != ''"> |
| | | and sh.name like concat('%', #{c.name}, '%') |
| | | </if> |
| | | <if test="c.code != null and c.code != ''"> |
| | | and sh.code like concat('%', #{c.code}, '%') |
| | | </if> |
| | | <if test="c.type != null and c.type != ''"> |
| | | and sh.type like concat('%', #{c.type}, '%') |
| | | </if> |
| | | <if test="c.riskLevel != null and c.riskLevel != ''"> |
| | | and sh.risk_level like concat('%', #{c.riskLevel}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeHazardRecordMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHazardRecord"> |
| | | <id column="id" property="id" /> |
| | | <result column="material_record_code" property="materialRecordCode" /> |
| | | <result column="safe_hazard_id" property="safeHazardId" /> |
| | | <result column="apply_user_id" property="applyUserId" /> |
| | | <result column="apply_time" property="applyTime" /> |
| | | <result column="apply_qty" property="applyQty" /> |
| | | <result column="apply_purpose" property="applyPurpose" /> |
| | | <result column="return_user_id" property="returnUserId" /> |
| | | <result column="return_time" property="returnTime" /> |
| | | <result column="return_remark" property="returnRemark" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | <select id="pageSafeHazardRecord" resultType="com.ruoyi.safe.dto.SafeHazardRecordDto"> |
| | | select shr.*, |
| | | su1.nick_name applyUserName, |
| | | su2.nick_name returnUserName, |
| | | sh.name, |
| | | sh.code, |
| | | sh.type, |
| | | sh.risk_level, |
| | | sh.location |
| | | from safe_hazard_record shr |
| | | left join sys_user su1 on shr.apply_user_id = su1.user_id |
| | | left join sys_user su2 on shr.return_user_id = su2.user_id |
| | | left join safe_hazard sh on shr.safe_hazard_id = sh.id |
| | | where 1=1 |
| | | <if test="c.materialRecordCode != null and c.materialRecordCode != ''"> |
| | | and shr.material_record_code like concat('%', #{c.materialRecordCode}, '%') |
| | | </if> |
| | | <if test="c.name != null and c.name != ''"> |
| | | and sh.name like concat('%', #{c.name}, '%') |
| | | </if> |
| | | <if test="c.code != null and c.code != ''"> |
| | | and sh.code like concat('%', #{c.code}, '%') |
| | | </if> |
| | | <if test="c.type != null and c.type != ''"> |
| | | and sh.type like concat('%', #{c.type}, '%') |
| | | </if> |
| | | <if test="c.riskLevel != null and c.riskLevel != ''"> |
| | | and sh.risk_level like concat('%', #{c.riskLevel}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeHiddenFileMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHiddenFile"> |
| | | <id column="id" property="id" /> |
| | | <result column="safe_hidden_id" property="safeHiddenId" /> |
| | | <result column="name" property="name" /> |
| | | <result column="url" property="url" /> |
| | | <result column="file_size" property="fileSize" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | |
| | | </mapper> |
| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.safe.mapper.SafeHiddenMapper"> |
| | | |
| | | <!-- éç¨æ¥è¯¢æ å°ç»æ --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.safe.pojo.SafeHidden"> |
| | | <id column="id" property="id" /> |
| | | <result column="hidden_code" property="hiddenCode" /> |
| | | <result column="type" property="type" /> |
| | | <result column="risk_level" property="riskLevel" /> |
| | | <result column="location" property="location" /> |
| | | <result column="hidden_desc" property="hiddenDesc" /> |
| | | <result column="rectify_user_id" property="rectifyUserId" /> |
| | | <result column="rectify_user_mobile" property="rectifyUserMobile" /> |
| | | <result column="rectify_time" property="rectifyTime" /> |
| | | <result column="rectify_measures" property="rectifyMeasures" /> |
| | | <result column="rectify_actual_time" property="rectifyActualTime" /> |
| | | <result column="verify_user_id" property="verifyUserId" /> |
| | | <result column="verify_result" property="verifyResult" /> |
| | | <result column="verify_remark" property="verifyRemark" /> |
| | | <result column="verify_time" property="verifyTime" /> |
| | | <result column="create_time" property="createTime" /> |
| | | <result column="create_user" property="createUser" /> |
| | | <result column="update_time" property="updateTime" /> |
| | | <result column="update_user" property="updateUser" /> |
| | | <result column="tenant_id" property="tenantId" /> |
| | | </resultMap> |
| | | <select id="pageSafeHidden" resultType="com.ruoyi.safe.dto.SafeHiddenDto"> |
| | | select sh.*, |
| | | su1.nick_name createUserName, |
| | | su2.nick_name rectifyUserName, |
| | | su3.nick_name verifyUserName |
| | | from safe_hidden sh |
| | | left join sys_user su1 on sh.create_user = su1.user_id |
| | | left join sys_user su2 on sh.rectify_user_id = su2.user_id |
| | | left join sys_user su3 on sh.verify_user_id = su3.user_id |
| | | where 1=1 |
| | | <if test="c.type != null and c.type != ''"> |
| | | and sh.type like concat('%', #{c.type}, '%') |
| | | </if> |
| | | <if test="c.riskLevel != null and c.riskLevel != ''"> |
| | | and sh.risk_level like concat('%', #{c.riskLevel}, '%') |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | LEFT JOIN product_structure ps ON pb.id = ps.bom_id |
| | | LEFT JOIN product_model pm1 ON pm1.id = ps.product_model_id |
| | | LEFT JOIN product p ON p.id = pm1.product_id |
| | | WHERE sl.id = #{salesLedegerId}) A |
| | | WHERE sl.id = #{salesLedegerId}) A |
| | | group by a.model, a.product_name, a.unit |
| | | </select> |
| | | <select id="selectProduct" resultType="com.ruoyi.sales.pojo.SalesLedgerProduct"> |
| | |
| | | from product_model pm |
| | | left join product p on pm.product_id = p.id |
| | | </select> |
| | | </mapper> |
| | | |
| | | <select id="selectProductSalesAnalysis" resultType="java.util.LinkedHashMap"> |
| | | SELECT |
| | | product_category as name, |
| | | SUM( tax_inclusive_total_price ) AS value |
| | | FROM |
| | | sales_ledger_product |
| | | WHERE |
| | | type = 1 |
| | | GROUP BY |
| | | product_category |
| | | ORDER BY |
| | | value DESC |
| | | LIMIT 5 |
| | | </select> |
| | | |
| | | <select id="selectRawMaterialPurchaseAnalysis" resultType="java.util.LinkedHashMap"> |
| | | SELECT |
| | | pr.product_name AS name, |
| | | SUM( slp.tax_inclusive_total_price ) AS value |
| | | FROM |
| | | sales_ledger_product slp |
| | | JOIN product pr ON slp.product_id = pr.id |
| | | WHERE |
| | | slp.type = 2 |
| | | AND pr.parent_id = ( SELECT id FROM product WHERE product_name = 'åææ' ) |
| | | GROUP BY |
| | | pr.id, |
| | | pr.product_name |
| | | ORDER BY |
| | | value DESC |
| | | LIMIT 5 |
| | | </select> |
| | | |
| | | <select id="selectProductCountByTypeAndDate" resultType="int"> |
| | | SELECT COUNT(*) |
| | | FROM sales_ledger_product |
| | | WHERE type = #{type} |
| | | AND register_date >= #{startDate} |
| | | AND register_date <= #{endDate} |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | p.product_name |
| | | </select> |
| | | <select id="selectTotal" resultType="java.math.BigDecimal"> |
| | | select ifnull(sum(qualitity), 0) |
| | | from stock_inventory |
| | | </select> |
| | | <select id="selectTotalByDate" resultType="java.math.BigDecimal"> |
| | | select sum(qualitity) |
| | | from stock_inventory |
| | | where |
| | | create_time >= #{now} and create_time < DATE_ADD(#{now}, INTERVAL 1 DAY) |
| | | </select> |
| | | |
| | | <select id="selectStorageProductCountByDate" resultType="int"> |
| | | SELECT COUNT(*) |
| | | FROM (SELECT create_time |
| | | FROM stock_inventory |
| | | UNION ALL |
| | | SELECT create_time |
| | | FROM stock_uninventory) combined |
| | | WHERE create_time >= #{startDate} |
| | | AND create_time <= #{endDate} |
| | | </select> |
| | | |
| | | <select id="selectDailyStockInCounts" resultType="java.util.Map"> |
| | | SELECT DATE(sir.create_time) AS date, |
| | | SUM(sir.stock_in_num) AS count |
| | | FROM stock_in_record sir |
| | | JOIN product_model pm ON sir.product_model_id = pm.id |
| | | JOIN product p ON pm.product_id = p.id |
| | | WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId}) |
| | | AND sir.create_time >= #{startDate} |
| | | AND sir.create_time <= #{endDate} |
| | | GROUP BY DATE(sir.create_time) |
| | | ORDER BY DATE(sir.create_time) ASC |
| | | </select> |
| | | |
| | | <select id="selectDailyStockOutCounts" resultType="java.util.Map"> |
| | | SELECT DATE(sor.create_time) AS date, |
| | | SUM(sor.stock_out_num) AS count |
| | | FROM stock_out_record sor |
| | | JOIN product_model pm ON sor.product_model_id = pm.id |
| | | JOIN product p ON pm.product_id = p.id |
| | | WHERE (p.parent_id = #{rootCategoryId} OR p.id = #{rootCategoryId}) |
| | | AND sor.create_time >= #{startDate} |
| | | AND sor.create_time <= #{endDate} |
| | | GROUP BY DATE(sor.create_time) |
| | | ORDER BY DATE(sor.create_time) ASC |
| | | </select> |
| | | |
| | | </mapper> |