src/main/java/com/ruoyi/account/controller/AccountExpenseController.java
ÎļþÒÑɾ³ý src/main/java/com/ruoyi/account/mapper/AccountExpenseMapper.java
ÎļþÒÑɾ³ý src/main/java/com/ruoyi/account/mapper/purchase/AccountPurchasePaymentMapper.java
@@ -6,8 +6,11 @@ import com.ruoyi.account.bean.dto.purchase.AccountPurchasePaymentDto; import com.ruoyi.account.bean.vo.purchase.AccountPurchasePaymentVo; import com.ruoyi.account.pojo.purchase.AccountPurchasePayment; import com.ruoyi.home.dto.IncomeExpenseAnalysisDto; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; import java.util.List; /** * <p> @@ -22,4 +25,5 @@ IPage<AccountPurchasePaymentVo> listPageAccountPurchasePayment(Page page, @Param("req") AccountPurchasePaymentDto accountPurchasePaymentDto); List<IncomeExpenseAnalysisDto> selectPayment(@Param("startStr") String startStr, @Param("endStr") String endStr, @Param("dateFormat") String dateFormat); } src/main/java/com/ruoyi/account/pojo/AccountExpense.java
ÎļþÒÑɾ³ý src/main/java/com/ruoyi/account/service/AccountExpenseService.java
ÎļþÒÑɾ³ý src/main/java/com/ruoyi/account/service/impl/AccountExpenseServiceImpl.java
ÎļþÒÑɾ³ý src/main/java/com/ruoyi/account/service/impl/BorrowInfoServiceImpl.java
@@ -4,10 +4,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.mapper.BorrowInfoMapper; import com.ruoyi.account.pojo.AccountExpense; import com.ruoyi.account.pojo.AccountIncome; import com.ruoyi.account.pojo.BorrowInfo; import com.ruoyi.account.service.AccountExpenseService; import com.ruoyi.account.service.AccountIncomeService; import com.ruoyi.account.service.BorrowInfoService; import com.ruoyi.common.utils.DateUtils; @@ -34,7 +32,6 @@ private final BorrowInfoMapper borrowInfoMapper; private final AccountIncomeService accountIncomeService; private final AccountExpenseService accountExpenseService; @Override public AjaxResult listPage(Page page, BorrowInfo borrowInfo) { @@ -88,21 +85,6 @@ one.setIncomeMoney(borrowInfo.getBorrowAmount()); accountIncomeService.updateById(one); } // æ¯å¦ä¸ºè¿æ¬¾ if(borrowInfo.getStatus() != null && borrowInfo.getStatus() == 2){ // æ°å¢æ¯åºè®°å½ AccountExpense accountExpense = new AccountExpense(); accountExpense.setBusinessId(borrowInfo.getId()); accountExpense.setBusinessType(2); accountExpense.setExpenseDate(DateUtils.toDate(borrowInfo.getRepayDate())); accountExpense.setExpenseType("5"); accountExpense.setExpenseMoney(borrowInfo.getBorrowAmount()); accountExpense.setExpenseDescribed("è¿æ¬¾"); accountExpense.setExpenseMethod("3"); accountExpense.setInputTime(DateUtils.getNowDate()); accountExpense.setInputUser(borrowInfo.getBorrowerName()); accountExpenseService.save(accountExpense); } return AjaxResult.success("ä¿®æ¹æå"); } return AjaxResult.success("ä¿®æ¹å¤±è´¥"); @@ -116,10 +98,6 @@ accountIncomeService.remove(new LambdaQueryWrapper<AccountIncome>() .in(AccountIncome::getBusinessId, ids) .eq(AccountIncome::getBusinessType, 2)); // å 餿¯åºç®¡ç accountExpenseService.remove(new LambdaQueryWrapper<AccountExpense>() .in(AccountExpense::getBusinessId, ids) .eq(AccountExpense::getBusinessType, 2)); return AjaxResult.success("å 餿å"); } return AjaxResult.success("å é¤å¤±è´¥"); src/main/java/com/ruoyi/basic/enums/RecordTypeEnum.java
@@ -203,7 +203,6 @@ BORROW_INFO("borrow_info"), SALES_REFUND_AMOUNT_ORDER("sales_refund_amount_order"), SALES_RECEIPT_RETURN("sales_receipt_return"), ACCOUNT_EXPENSE("account_expense"), FIN_VOUCHER("fin_voucher"), ACCOUNT_FILE("account_file"), ACCOUNT_INVOICE_APPLICATION("account_invoice_application"), src/main/java/com/ruoyi/home/service/impl/HomeServiceImpl.java
@@ -3,9 +3,8 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.toolkit.ObjectUtils; import com.ruoyi.account.mapper.AccountExpenseMapper; import com.ruoyi.account.mapper.AccountIncomeMapper; import com.ruoyi.account.pojo.AccountExpense; import com.ruoyi.account.mapper.purchase.AccountPurchasePaymentMapper; import com.ruoyi.approve.mapper.ApproveProcessMapper; import com.ruoyi.approve.pojo.ApproveProcess; import com.ruoyi.basic.mapper.CustomerMapper; @@ -111,8 +110,7 @@ private final ProductionOperationTaskMapper productionOperationTaskMapper; private final AccountExpenseMapper accountExpenseMapper; private final AccountPurchasePaymentMapper accountPurchasePaymentMapper; private final AccountIncomeMapper accountIncomeMapper; private final ProductionAccountMapper productionAccountMapper; @@ -1165,12 +1163,8 @@ // 2. æ¥è¯¢æ°æ® List<IncomeExpenseAnalysisDto> incomeList = accountIncomeMapper.selectIncomeStats(startStr, endStr, dateFormat); List<IncomeExpenseAnalysisDto> expenseList = accountPurchasePaymentMapper.selectPayment(startStr, endStr, dateFormat); // List<IncomeExpenseAnalysisDto> purchaseList = // purchaseLedgerMapper.selectPurchaseStats(startStr, endStr, dateFormat); List<IncomeExpenseAnalysisDto> expenseList = accountExpenseMapper.selectAccountExpenseStats(startStr, endStr, dateFormat); // 3. 转 Mapï¼èªå¨åå¹¶ï¼ Map<String, BigDecimal> incomeMap = incomeList.stream() @@ -1179,11 +1173,7 @@ IncomeExpenseAnalysisDto::getAmount, BigDecimal::add)); // Map<String, BigDecimal> purchaseMap = purchaseList.stream() // .collect(Collectors.toMap( // IncomeExpenseAnalysisDto::getDateStr, // IncomeExpenseAnalysisDto::getAmount, // BigDecimal::add)); Map<String, BigDecimal> expenseMap = expenseList.stream() .collect(Collectors.toMap( @@ -1197,18 +1187,12 @@ for (String dateStr : xAxis) { Map<String, Object> item = new HashMap<>(); item.put("date", dateStr); // æ¶å ¥ BigDecimal income = incomeMap.getOrDefault(dateStr, BigDecimal.ZERO); item.put("income", income.setScale(2, RoundingMode.HALF_UP)); // æ¯åº = éè´ + è´¢å¡æ¯åº // BigDecimal purchase = purchaseMap.getOrDefault(dateStr, BigDecimal.ZERO); // æ¯åº BigDecimal expense = expenseMap.getOrDefault(dateStr, BigDecimal.ZERO); // BigDecimal totalExpense = purchase.add(expense); BigDecimal totalExpense = expense; item.put("expense", totalExpense.setScale(2, RoundingMode.HALF_UP)); item.put("expense", expense.setScale(2, RoundingMode.HALF_UP)); result.add(item); } @@ -1236,7 +1220,7 @@ String endStr = endDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd")); List<IncomeExpenseAnalysisDto> incomeList = accountIncomeMapper.selectIncomeStats(startStr, endStr, dateFormat); List<IncomeExpenseAnalysisDto> expenseList = accountExpenseMapper.selectAccountExpenseStats(startStr, endStr, dateFormat); List<IncomeExpenseAnalysisDto> expenseList = accountPurchasePaymentMapper.selectPayment(startStr, endStr, dateFormat); Map<String, BigDecimal> incomeMap = incomeList.stream().collect(Collectors .toMap(IncomeExpenseAnalysisDto::getDateStr, IncomeExpenseAnalysisDto::getAmount, BigDecimal::add)); @@ -1272,11 +1256,6 @@ rawMaterialDto.setName("åææ"); rawMaterialDto.setValue(rawMaterialAmount != null ? rawMaterialAmount.toString() : "0"); result.add(rawMaterialDto); List<MapDto> expenseList = accountExpenseMapper.selectExpenseComposition(null, null); if (expenseList != null) { result.addAll(expenseList); } } BigDecimal total = BigDecimal.ZERO; @@ -1398,26 +1377,10 @@ } // å ¶ä»è´¹ç¨ LambdaQueryWrapper<AccountExpense> expenseWrapper = new LambdaQueryWrapper<>(); expenseWrapper.ge(AccountExpense::getExpenseDate, java.sql.Date.valueOf(currentMonth.atDay(1))); expenseWrapper.le(AccountExpense::getExpenseDate, java.sql.Date.valueOf(currentMonth.atEndOfMonth())); List<AccountExpense> expenses = accountExpenseMapper.selectList(expenseWrapper); BigDecimal otherExpense = BigDecimal.ZERO; if (!CollectionUtils.isEmpty(expenses)) { for (AccountExpense e : expenses) { if (e.getExpenseMoney() != null) { otherExpense = otherExpense.add(e.getExpenseMoney()); } } } // æåº¦æ»æ¯åº // BigDecimal monthlyExpenditure = rawMaterialCost.add(otherExpense); BigDecimal monthlyExpenditure = otherExpense; BigDecimal monthlyExpenditure = BigDecimal.ZERO; dto.setMonthlyExpenditure(monthlyExpenditure); // 已仿¬¾ ÷ï¼å·²ä»æ¬¾ + å¾ ä»æ¬¾ï¼ src/main/java/com/ruoyi/procurementrecord/service/impl/ReturnManagementServiceImpl.java
@@ -4,8 +4,6 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.bean.dto.SalesRefundAmountOrderDto; import com.ruoyi.account.mapper.AccountExpenseMapper; import com.ruoyi.account.pojo.AccountExpense; import com.ruoyi.account.service.SalesRefundAmountOrderService; import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum; import com.ruoyi.common.utils.OrderUtils; @@ -31,7 +29,6 @@ import org.springframework.util.ObjectUtils; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** @@ -49,7 +46,6 @@ private final SalesLedgerMapper salesLedgerMapper; private final SalesRefundAmountOrderService salesRefundAmountOrderService; private final StockUtils stockUtils; private final AccountExpenseMapper accountExpenseMapper; @Override public IPage<ReturnManagementDto> listPage(Page page, ReturnManagementDto returnManagement) { @@ -127,19 +123,6 @@ salesRefundAmountOrder.setNotRefundedAmount(salesRefundAmountOrder.getRefundedAmount()); // 忹鿬¾ // salesRefundAmountOrderService.addSalesRefundAmountOrderDto(salesRefundAmountOrder); // åè´¢å¡èå¨ï¼æ°å¢æ¯åº AccountExpense accountExpense = new AccountExpense(); accountExpense.setBusinessType(3); accountExpense.setExpenseMoney(byId.getRefundAmount()); accountExpense.setBusinessId(byId.getId()); accountExpense.setExpenseDate(new Date()); accountExpense.setExpenseMethod("3"); accountExpense.setExpenseType("5"); accountExpense.setExpenseDescribed("éå®éè´§éæ¬¾"); accountExpense.setNote(byId.getReturnReason()); accountExpense.setInputUser(SecurityUtils.getLoginUser().getNickName()); accountExpense.setInputTime(new Date()); accountExpenseMapper.insert(accountExpense); return true; } src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -6,8 +6,6 @@ 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.account.pojo.AccountExpense; import com.ruoyi.account.service.AccountExpenseService; import com.ruoyi.basic.mapper.SupplierManageMapper; import com.ruoyi.basic.pojo.SupplierManage; import com.ruoyi.common.utils.DateUtils; @@ -55,7 +53,6 @@ private final SalesLedgerProductMapper salesLedgerProductMapper; private final TicketRegistrationMapper ticketRegistrationMapper; private final ProductRecordMapper productRecordMapper; private final AccountExpenseService accountExpenseService; /** * æ¥è¯¢ä»æ¬¾ç»è®° @@ -116,20 +113,6 @@ salesLedgerProduct.setPendingTicketsTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getTicketsTotal())); paymentRegistrationMapper.insert(paymentRegistration); salesLedgerProductMapper.updateById(salesLedgerProduct); // 2. å¤çè´¦æ·æ¯åº AccountExpense accountExpense = new AccountExpense(); accountExpense.setExpenseDate(purchaseLedger.getEntryDate()); accountExpense.setExpenseType("4"); accountExpense.setSupplierName(purchaseLedger.getSupplierName()); accountExpense.setExpenseMoney(paymentRegistration.getCurrentPaymentAmount()); accountExpense.setExpenseDescribed("仿¬¾æ¯åº"); accountExpense.setExpenseMethod(paymentRegistration.getPaymentMethod()); accountExpense.setBusinessId(paymentRegistration.getId()); accountExpense.setBusinessType(1); accountExpense.setInputTime(new Date()); accountExpense.setInputUser(userId.getNickName()); accountExpenseService.save(accountExpense); } return 1; @@ -153,16 +136,6 @@ throw new RuntimeException("仿¬¾éé¢è¶ åºå¾ 仿¬¾éé¢"); } paymentRegistration.setUpdateTime(DateUtils.getNowDate()); // åæ¥ä¿®æ¹è´¦æ·æ¯åº LambdaQueryWrapper<AccountExpense> accountExpenseLambdaQueryWrapper = new LambdaQueryWrapper<>(); accountExpenseLambdaQueryWrapper.eq(AccountExpense::getBusinessId, paymentRegistration.getId()) .eq(AccountExpense::getBusinessType, 1) .last("limit 1"); AccountExpense accountExpense = accountExpenseService.getOne(accountExpenseLambdaQueryWrapper); if(null!=accountExpense){ accountExpense.setExpenseMoney(paymentRegistration.getCurrentPaymentAmount()); accountExpenseService.updateById(accountExpense); } // ä¿®æ¹éè´äº§å仿¬¾éé¢ salesLedgerProduct.setTicketsTotal(salesLedgerProduct.getTicketsTotal().add(subtract)); salesLedgerProduct.setPendingTicketsTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getTicketsTotal())); @@ -468,10 +441,6 @@ @Override public int delPaymentRegistration(List<Long> ids) { LambdaQueryWrapper<AccountExpense> accountExpenseLambdaQueryWrapper = new LambdaQueryWrapper<>(); accountExpenseLambdaQueryWrapper.in(AccountExpense::getBusinessId, ids) .eq(AccountExpense::getBusinessType, 1); accountExpenseService.remove(accountExpenseLambdaQueryWrapper); // ä¿®æ¹éè´äº§åç已仿¬¾éé¢,å¾ ä»æ¬¾éé¢ List<PaymentRegistration> paymentRegistrations = paymentRegistrationMapper.selectBatchIds(ids); for (PaymentRegistration paymentRegistration : paymentRegistrations) { src/main/java/com/ruoyi/staff/service/impl/StaffSalaryMainServiceImpl.java
@@ -3,9 +3,6 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.account.mapper.AccountExpenseMapper; import com.ruoyi.account.pojo.AccountExpense; import com.ruoyi.common.utils.SecurityUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.web.domain.AjaxResult; import com.ruoyi.project.system.mapper.SysUserDeptMapper; @@ -23,7 +20,6 @@ import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Map; @@ -45,7 +41,6 @@ private final SchemeApplicableStaffServiceImpl schemeApplicableStaffService; private final SysUserDeptMapper sysUserDeptMapper; private final StaffLeaveMapper staffLeaveMapper; private final AccountExpenseMapper accountExpenseMapper; @Override public AjaxResult listPage(Page page, StaffSalaryMain staffSalaryMain) { @@ -99,21 +94,6 @@ detail.setMainId(staffSalaryMain.getId()); }); staffSalaryDetailService.saveBatch(staffSalaryMain.getStaffSalaryDetailList()); } // åè´¢å¡èå¨ï¼æ°å¢æ¯åº if(staffSalaryMain.getStatus().equals(5)){ AccountExpense accountExpense = new AccountExpense(); accountExpense.setBusinessType(3); accountExpense.setExpenseMoney(staffSalaryMain.getTotalSalary()); accountExpense.setBusinessId(staffSalaryMain.getId()); accountExpense.setExpenseDate(new Date()); accountExpense.setExpenseMethod("2"); accountExpense.setExpenseType("1"); accountExpense.setExpenseDescribed(staffSalaryMain.getSalaryTitle()); accountExpense.setNote(staffSalaryMain.getRemark()); accountExpense.setInputUser(SecurityUtils.getLoginUser().getNickName()); accountExpense.setInputTime(new Date()); accountExpenseMapper.insert(accountExpense); } return AjaxResult.success("ä¿®æ¹æå"); } src/main/resources/mapper/account/AccountExpenseMapper.xml
ÎļþÒÑɾ³ý src/main/resources/mapper/account/purchase/AccountPurchasePaymentMapper.xml
@@ -43,5 +43,13 @@ </if> </where> </select> <select id="selectPayment" resultType="com.ruoyi.home.dto.IncomeExpenseAnalysisDto"> SELECT DATE_FORMAT(payment_date, #{dateFormat}) AS dateStr, IFNULL(SUM(payment_amount), 0) AS amount FROM account_purchase_payment WHERE payment_date BETWEEN #{startDate} AND #{endDate} GROUP BY dateStr ORDER BY dateStr </select> </mapper>