| src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/dto/DeviceAssetInfoDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementExceptionRecord.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/ruoyi/device/controller/DeviceLedgerController.java
@@ -84,7 +84,14 @@ public void export(HttpServletResponse response, Long[] ids) { deviceLedgerService.export(response, ids); } /** * */ @GetMapping("/report/forms") @ApiOperation("æ¥è¯¢è®¾å¤å°è´¦å¾è¡¨æ°æ®") public AjaxResult report() { return AjaxResult.success(deviceLedgerService.report()); } @PostMapping("import") @ApiModelProperty("å¯¼å ¥è®¾å¤å°è´¦") public AjaxResult importData(MultipartFile file) throws IOException { src/main/java/com/ruoyi/device/dto/DeviceAssetInfoDto.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,28 @@ package com.ruoyi.device.dto; import lombok.Data; import java.math.BigDecimal; /** * 设å¤èµäº§ä¿¡æ¯Dto-èµäº§æ¥è¡¨ */ @Data public class DeviceAssetInfoDto { /** * è®¾å¤æ»æ° */ private Integer totalEquipment; /** * èµäº§åå¼ */ private BigDecimal totalOriginalValue; /** * ç´¯è®¡ææ§ */ private BigDecimal totalDepreciation; /** * åå¼ */ private BigDecimal totalNetValue; } src/main/java/com/ruoyi/device/service/IDeviceLedgerService.java
@@ -3,6 +3,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.device.dto.DeviceAssetInfoDto; import com.ruoyi.device.dto.DeviceLedgerDto; import com.ruoyi.device.pojo.DeviceLedger; import com.ruoyi.framework.web.domain.AjaxResult; @@ -22,4 +23,5 @@ void export(HttpServletResponse response, Long[] ids); Boolean importData(MultipartFile file) throws IOException; DeviceAssetInfoDto report(); } src/main/java/com/ruoyi/device/service/impl/DeviceLedgerServiceImpl.java
@@ -8,6 +8,7 @@ import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.bean.BeanUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.device.dto.DeviceAssetInfoDto; import com.ruoyi.device.dto.DeviceLedgerDto; import com.ruoyi.device.execl.DeviceLedgerExeclDto; import com.ruoyi.device.mapper.DeviceLedgerMapper; @@ -24,6 +25,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.math.BigDecimal; import java.time.ZoneOffset; import java.util.ArrayList; import java.util.Arrays; @@ -119,4 +121,14 @@ return true; } @Override public DeviceAssetInfoDto report() { List<DeviceLedger> list = deviceLedgerMapper.selectList(null); DeviceAssetInfoDto deviceAssetInfoDto = new DeviceAssetInfoDto(); deviceAssetInfoDto.setTotalEquipment(list.stream().map(DeviceLedger::getNumber).reduce(BigDecimal.ZERO, BigDecimal::add).intValue()); deviceAssetInfoDto.setTotalOriginalValue(list.stream().map(DeviceLedger::getTaxIncludingPriceTotal).reduce(BigDecimal.ZERO, BigDecimal::add)); deviceAssetInfoDto.setTotalNetValue(list.stream().map(DeviceLedger::getUnTaxIncludingPriceTotal).reduce(BigDecimal.ZERO, BigDecimal::add)); deviceAssetInfoDto.setTotalDepreciation(deviceAssetInfoDto.getTotalOriginalValue().subtract(deviceAssetInfoDto.getTotalNetValue())); return deviceAssetInfoDto; } } src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -425,25 +425,29 @@ // .ge(SalesLedger::getEntryDate, startDate) // .lt(SalesLedger::getEntryDate, endDate) ); BigDecimal receivableMoney = salesLedgers.stream().map(SalesLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add); // BigDecimal receivableMoney = salesLedgers.stream().map(SalesLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal receivableMoney = sumAmount(salesLedgers, SalesLedger::getContractAmount); // åºä» List<PurchaseLedger> procurementRecords = purchaseLedgerMapper.selectList(new LambdaQueryWrapper<PurchaseLedger>() // .ge(PurchaseLedger::getEntryDate, startDate) // .lt(PurchaseLedger::getEntryDate, endDate) ); BigDecimal payableMoney = procurementRecords.stream().map(PurchaseLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add); // BigDecimal payableMoney = procurementRecords.stream().map(PurchaseLedger::getContractAmount).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal payableMoney = sumAmount(procurementRecords, PurchaseLedger::getContractAmount); // 颿¶ List<ReceiptPayment> receiptPayments = receiptPaymentMapper.selectList(new LambdaQueryWrapper<ReceiptPayment>() // .ge(ReceiptPayment::getReceiptPaymentDate, startDate) // .lt(ReceiptPayment::getReceiptPaymentDate, endDate) ); BigDecimal advanceMoney = receiptPayments.stream().map(ReceiptPayment::getReceiptPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add); // BigDecimal advanceMoney = receiptPayments.stream().map(ReceiptPayment::getReceiptPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal advanceMoney = sumAmount(receiptPayments, ReceiptPayment::getReceiptPaymentAmount); // é¢ä» List<PaymentRegistration> paymentRegistrations = paymentRegistrationMapper.selectList(new LambdaQueryWrapper<PaymentRegistration>() // .ge(PaymentRegistration::getPaymentDate, startDate) // .lt(PaymentRegistration::getPaymentDate, endDate) ); BigDecimal prepayMoney = paymentRegistrations.stream().map(PaymentRegistration::getCurrentPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add); // BigDecimal prepayMoney = paymentRegistrations.stream().map(PaymentRegistration::getCurrentPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal prepayMoney = sumAmount(paymentRegistrations, PaymentRegistration::getCurrentPaymentAmount); StatisticsReceivablePayableDto statisticsReceivablePayableDto = new StatisticsReceivablePayableDto(); statisticsReceivablePayableDto.setPayableMoney(payableMoney.subtract(prepayMoney)); statisticsReceivablePayableDto.setReceivableMoney(receivableMoney.subtract(advanceMoney)); @@ -452,7 +456,13 @@ return statisticsReceivablePayableDto; } public static <T> BigDecimal sumAmount(List<T> list, java.util.function.Function<T, BigDecimal> amountExtractor) { return list.stream() // æåé颿¶ï¼å°nullæ¿æ¢ä¸ºBigDecimal.ZERO .map(item -> Optional.ofNullable(amountExtractor.apply(item)).orElse(BigDecimal.ZERO)) // ç´¯å ï¼åå§å¼ä¸º0ï¼é¿å 空æµé®é¢ .reduce(BigDecimal.ZERO, BigDecimal::add); } @Autowired private DeviceRepairMapper deviceRepairMapper; src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementExceptionRecord.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,54 @@ package com.ruoyi.procurementrecord.pojo; import com.baomidou.mybatisplus.annotation.*; import lombok.Builder; import lombok.Data; import java.math.BigDecimal; import java.time.LocalDateTime; @TableName("procurement_exception_record") @Data @Builder public class ProcurementExceptionRecord { private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Integer id; /** * éè´å°è´¦id */ private Integer purchaseLedgerId; /** * å¼å¸¸æè¿° */ private String exceptionReason; /** * å¼å¸¸æ°é */ private BigDecimal exceptionNum; /** * å建æ¶é´ */ private LocalDateTime createTime; /** * ä¿®æ¹è */ private Long updateUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ç§æ·ID */ @TableField(fill = FieldFill.INSERT) private Long tenantId; } src/main/java/com/ruoyi/production/controller/ProductProcessRouteItemController.java
@@ -23,7 +23,7 @@ import java.util.Map; import java.util.stream.Collectors; @RequestMapping("productProcessRoute") @RequestMapping("/productProcessRoute") @RestController @AllArgsConstructor @Api(tags = "ç产工èºè·¯çº¿") @@ -71,7 +71,7 @@ List<Map<String, Object>> maxNoList = productWorkOrderMapper.selectMaps(queryWrapper); String maxWorkOrderNo = null; if (!maxNoList.isEmpty() && maxNoList.get(0).get("maxNo") != null) { if (!maxNoList.isEmpty() && maxNoList.get(0) != null && maxNoList.get(0).get("maxNo") != null) { maxWorkOrderNo = maxNoList.get(0).get("maxNo").toString(); } int startSequence = 1;