src/main/java/com/ruoyi/framework/config/MybatisPlusConfig.java
@@ -34,8 +34,8 @@ { MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); // ç§æ·æä»¶ TenantLineInnerInterceptor tenantLineInnerInterceptor = new TenantLineInnerInterceptor(new CustomTenantLineHandler()); interceptor.addInnerInterceptor(tenantLineInnerInterceptor); // TenantLineInnerInterceptor tenantLineInnerInterceptor = new TenantLineInnerInterceptor(new CustomTenantLineHandler()); // interceptor.addInnerInterceptor(tenantLineInnerInterceptor); // å页æä»¶ interceptor.addInnerInterceptor(paginationInnerInterceptor()); // ä¹è§éæä»¶ src/main/java/com/ruoyi/inspectiontask/service/impl/TimingTaskServiceImpl.java
@@ -121,8 +121,10 @@ BeanUtils.copyProperties(timingTaskDto, timingTask); // 1. è§£æå符串为 LocalDateï¼åªå å«å¹´ææ¥ï¼ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); LocalDate localDate = LocalDate.parse(timingTaskDto.getDateStr(), formatter); LocalDate localDate = LocalDate.now(); if(StringUtils.isNotEmpty(timingTaskDto.getDateStr())){ localDate = LocalDate.parse(timingTaskDto.getDateStr(), formatter); } // 2. è·åå½åç³»ç»ç LocalTimeï¼å 嫿¶åç§ï¼ LocalTime currentTime = LocalTime.now(); src/main/java/com/ruoyi/purchase/controller/PaymentRegistrationController.java
@@ -14,6 +14,7 @@ import com.ruoyi.purchase.pojo.PaymentRegistration; import com.ruoyi.purchase.service.IPaymentRegistrationService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -69,6 +70,7 @@ */ @Log(title = "仿¬¾ç»è®°", businessType = BusinessType.INSERT) @PostMapping @Transactional(rollbackFor = Exception.class) public AjaxResult add(@RequestBody List<PaymentRegistration> paymentRegistration) { return toAjax(paymentRegistrationService.insertPaymentRegistration(paymentRegistration)); } @@ -78,6 +80,7 @@ */ @Log(title = "仿¬¾ç»è®°", businessType = BusinessType.UPDATE) @PutMapping @Transactional(rollbackFor = Exception.class) public AjaxResult edit(@RequestBody PaymentRegistration paymentRegistration) { return toAjax(paymentRegistrationService.updatePaymentRegistration(paymentRegistration)); } src/main/java/com/ruoyi/purchase/controller/TicketRegistrationController.java
@@ -88,7 +88,8 @@ @ApiOperation("å é¤ä»æ¬¾æµæ°´") @DeleteMapping("/delPaymentRegistration") public AjaxResult delPaymentRegistration(@RequestBody Long id) { @Transactional(rollbackFor = Exception.class) public AjaxResult delPaymentRegistration(@RequestBody List<Long> id) { return toAjax(paymentRegistrationService.delPaymentRegistration(id)); } src/main/java/com/ruoyi/purchase/service/IPaymentRegistrationService.java
@@ -98,7 +98,7 @@ Boolean delete(Long[] ids); int delPaymentRegistration(Long ids); int delPaymentRegistration(List<Long> ids); IPage<PaymentRegistrationDto> supplierNameListPage(Page page, PaymentLedgerDto paymentLedgerDto); src/main/java/com/ruoyi/purchase/service/impl/PaymentRegistrationServiceImpl.java
@@ -124,7 +124,7 @@ salesLedgerProduct.setPendingTicketsTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getTicketsTotal())); paymentRegistrationMapper.insert(paymentRegistration); salesLedgerProductMapper.updateById(salesLedgerProduct); // 2. å¤çè´¦æ·æ¶å ¥ // 2. å¤çè´¦æ·æ¯åº AccountExpense accountExpense = new AccountExpense(); accountExpense.setExpenseDate(purchaseLedger.getEntryDate()); accountExpense.setExpenseType("0"); @@ -151,18 +151,29 @@ @Override public int updatePaymentRegistration(PaymentRegistration paymentRegistration) { PaymentRegistration paymentRegistration1 = paymentRegistrationMapper.selectById(paymentRegistration.getId()); TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(paymentRegistration.getTicketRegistrationId()==null?paymentRegistration1.getTicketRegistrationId():paymentRegistration.getTicketRegistrationId()); List<PaymentRegistration> paymentRegistrations = paymentRegistrationMapper.selectList(new QueryWrapper<PaymentRegistration>() .eq("ticket_registration_id", paymentRegistration.getTicketRegistrationId()).ne("id", paymentRegistration.getId())); BigDecimal total = paymentRegistrations.stream().map(PaymentRegistration::getCurrentPaymentAmount).reduce(BigDecimal.ZERO, BigDecimal::add); if (total.add(paymentRegistration.getCurrentPaymentAmount()).compareTo(ticketRegistration.getInvoiceAmount()) > 0) { throw new RuntimeException("仿¬¾éé¢è¶ åºå票éé¢"); if(null==paymentRegistration1) throw new RuntimeException("æªæ¾å°ä»æ¬¾ç»è®°"); SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(paymentRegistration1.getSalesLedgerProductId()); if(null==salesLedgerProduct) throw new RuntimeException("æªæ¾å°éè´å产å"); // 夿仿¬¾éé¢ä¸å¯å¤§äºå¾ 仿¬¾éé¢ BigDecimal subtract = paymentRegistration.getCurrentPaymentAmount().subtract(paymentRegistration1.getCurrentPaymentAmount()); if (subtract.compareTo(salesLedgerProduct.getPendingTicketsTotal()) > 0) { 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())); salesLedgerProductMapper.updateById(salesLedgerProduct); return paymentRegistrationMapper.updateById(paymentRegistration); } @@ -464,16 +475,20 @@ } @Override public int delPaymentRegistration(Long id) { // PaymentRegistration paymentRegistration = paymentRegistrationMapper.selectById(id); // TicketRegistration ticketRegistration = ticketRegistrationMapper.selectById(paymentRegistration.getTicketRegistrationId()); // if (ticketRegistration != null) { // ticketRegistration.setPaymentAmountTotal(ticketRegistration.getPaymentAmountTotal().subtract(paymentRegistration.getCurrentPaymentAmount())); // ticketRegistration.setUnPaymentAmountTotal(ticketRegistration.getUnPaymentAmountTotal().add(paymentRegistration.getCurrentPaymentAmount())); // ticketRegistrationMapper.updateById(ticketRegistration); // } return paymentRegistrationMapper.deleteById(id); 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) { SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(paymentRegistration.getSalesLedgerProductId()); salesLedgerProduct.setTicketsTotal(salesLedgerProduct.getTicketsTotal().subtract(paymentRegistration.getCurrentPaymentAmount())); salesLedgerProduct.setPendingTicketsTotal(salesLedgerProduct.getPendingTicketsTotal().add(paymentRegistration.getCurrentPaymentAmount())); salesLedgerProductMapper.updateById(salesLedgerProduct); } return paymentRegistrationMapper.deleteBatchIds(ids); } @Override src/main/java/com/ruoyi/sales/controller/ReceiptPaymentController.java
@@ -19,6 +19,7 @@ import com.ruoyi.sales.service.ReceiptPaymentService; import io.swagger.annotations.ApiModelProperty; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletResponse; @@ -52,6 +53,7 @@ * @return */ @PostMapping("/update") @Transactional(rollbackFor = Exception.class) public AjaxResult receiptPaymentUpdate (@RequestBody ReceiptPayment receiptPayment) { return AjaxResult.success(receiptPaymentService.receiptPaymentUpdate(receiptPayment)); } @@ -62,6 +64,7 @@ * @return */ @DeleteMapping("/del") @Transactional(rollbackFor = Exception.class) public AjaxResult receiptPaymentDel (@RequestBody List<Integer> ids) { return AjaxResult.success(receiptPaymentService.receiptPaymentDel(ids)); } src/main/java/com/ruoyi/sales/service/impl/ReceiptPaymentServiceImpl.java
@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage; 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.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.sales.dto.CustomerInteractionDto; @@ -46,6 +48,9 @@ @Autowired private InvoiceLedgerMapper invoiceLedgerMapper; @Autowired private AccountIncomeService accountIncomeService; /** * 忬¾ç»è®°æ°å¢ * @param receiptPaymentList @@ -59,7 +64,6 @@ if (!ObjectUtils.isEmpty(receiptPayment.getId())){ receiptPayment = this.getById(receiptPayment.getId()); } // InvoiceLedger invoiceLedger = invoiceLedgerMapper.selectById(byId.getInvoiceLedgerId()); SalesLedger salesLedger = salesLedgerMapper.selectById(receiptPayment.getSalesLedgerId()); if(null==salesLedger) throw new RuntimeException("æªæ¾å°éå®å"); // 已忬¾éé¢ @@ -72,11 +76,35 @@ salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(receiptPayment.getReceiptPaymentAmount())); salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal())); receiptPaymentMapper.insert(receiptPayment); // å¢å è´¢å¡æ¶å ¥è®°å½ AccountIncome accountIncome = new AccountIncome(); accountIncome.setIncomeDate(salesLedger.getEntryDate()); accountIncome.setIncomeType("0"); accountIncome.setCustomerName(salesLedger.getCustomerName()); accountIncome.setIncomeMoney(salesLedger.getContractAmount()); accountIncome.setIncomeMethod("0"); accountIncome.setInputTime(new Date()); accountIncome.setInputUser(salesLedger.getEntryPerson()); accountIncome.setIncomeDescribed("忬¾æ¶å ¥"); accountIncome.setBusinessId(Long.parseLong(receiptPayment.getId().toString())); accountIncome.setBusinessType(1); accountIncomeService.save(accountIncome); }else { BigDecimal subtract = receiptPayment.getReceiptPaymentAmount().subtract(byId.getReceiptPaymentAmount()); salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(subtract)); salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal())); receiptPayment.setReceiptPaymentAmount(byId.getReceiptPaymentAmount()); receiptPayment.setReceiptPaymentType(byId.getReceiptPaymentType()); receiptPaymentMapper.updateById(receiptPayment); // ä¿®æ¹è´¢å¡æ¶å ¥è®°å½ LambdaQueryWrapper<AccountIncome> accountIncomeLambdaQueryWrapper = new LambdaQueryWrapper<>(); accountIncomeLambdaQueryWrapper.eq(AccountIncome::getBusinessId, receiptPayment.getId()) .eq(AccountIncome::getBusinessType, 1); AccountIncome accountIncome = accountIncomeService.getOne(accountIncomeLambdaQueryWrapper); if(null!=accountIncome){ accountIncome.setIncomeMoney(receiptPayment.getReceiptPaymentAmount()); accountIncomeService.updateById(accountIncome); } } salesLedgerProductMapper.updateById(salesLedgerProduct); } @@ -90,6 +118,33 @@ */ @Override public int receiptPaymentUpdate(ReceiptPayment receiptPayment) { ReceiptPayment byId = receiptPayment; if (!ObjectUtils.isEmpty(receiptPayment.getId())){ receiptPayment = this.getById(receiptPayment.getId()); } SalesLedger salesLedger = salesLedgerMapper.selectById(receiptPayment.getSalesLedgerId()); if(null==salesLedger) throw new RuntimeException("æªæ¾å°éå®å"); // 已忬¾éé¢ SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(receiptPayment.getSalesLedgerProductId()); if(null==salesLedgerProduct) throw new RuntimeException("æªæ¾å°éå®å产å"); if (salesLedgerProduct.getPendingInvoiceTotal().compareTo(receiptPayment.getReceiptPaymentAmount())<0){ throw new RuntimeException("æ¬æ¬¡å款éé¢ä¸è½å¤§äºå¾ 忬¾éé¢"); } BigDecimal subtract = receiptPayment.getReceiptPaymentAmount().subtract(byId.getReceiptPaymentAmount()); salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().add(subtract)); salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal())); // ä¿®æ¹è´¢å¡æ¶å ¥è®°å½ LambdaQueryWrapper<AccountIncome> accountIncomeLambdaQueryWrapper = new LambdaQueryWrapper<>(); accountIncomeLambdaQueryWrapper.eq(AccountIncome::getBusinessId, receiptPayment.getId()) .eq(AccountIncome::getBusinessType, 1); AccountIncome accountIncome = accountIncomeService.getOne(accountIncomeLambdaQueryWrapper); if(null!=accountIncome){ accountIncome.setIncomeMoney(receiptPayment.getReceiptPaymentAmount()); accountIncomeService.updateById(accountIncome); } salesLedgerProductMapper.updateById(salesLedgerProduct); receiptPayment.setReceiptPaymentAmount(byId.getReceiptPaymentAmount()); receiptPayment.setReceiptPaymentType(byId.getReceiptPaymentType()); return receiptPaymentMapper.updateById(receiptPayment); } @@ -102,6 +157,20 @@ public int receiptPaymentDel(List<Integer> ids) { LambdaQueryWrapper<ReceiptPayment> delQuery = new LambdaQueryWrapper<>(); delQuery.in(ReceiptPayment::getId, ids); List<ReceiptPayment> receiptPayments = receiptPaymentMapper.selectList(delQuery); if(CollectionUtils.isEmpty(receiptPayments)) throw new RuntimeException("æªæ¾å°å款ç»è®°"); // éæ°è®¡ç®éå®äº§å忬¾éé¢ for (ReceiptPayment receiptPayment : receiptPayments) { SalesLedgerProduct salesLedgerProduct = salesLedgerProductMapper.selectById(receiptPayment.getSalesLedgerProductId()); salesLedgerProduct.setInvoiceTotal(salesLedgerProduct.getInvoiceTotal().subtract(receiptPayment.getReceiptPaymentAmount())); salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice().subtract(salesLedgerProduct.getInvoiceTotal())); salesLedgerProductMapper.updateById(salesLedgerProduct); } // å é¤è´¢å¡æ¶å ¥è®°å½ LambdaQueryWrapper<AccountIncome> accountIncomeLambdaQueryWrapper = new LambdaQueryWrapper<>(); accountIncomeLambdaQueryWrapper.in(AccountIncome::getBusinessId, ids) .eq(AccountIncome::getBusinessType, 1); accountIncomeService.remove(accountIncomeLambdaQueryWrapper); return receiptPaymentMapper.delete(delQuery); } src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -522,39 +522,13 @@ SalesLedger salesLedger = convertToEntity(salesLedgerDto); salesLedger.setCustomerName(customer.getCustomerName()); salesLedger.setTenantId(customer.getTenantId()); AccountIncome accountIncome = new AccountIncome(); accountIncome.setIncomeDate(salesLedger.getEntryDate()); accountIncome.setIncomeType("0"); accountIncome.setCustomerName(customer.getCustomerName()); accountIncome.setIncomeMoney(salesLedger.getContractAmount()); accountIncome.setIncomeMethod("0"); accountIncome.setInputTime(new Date()); accountIncome.setInputUser(salesLedger.getEntryPerson()); // 3. æ°å¢ææ´æ°ä¸»è¡¨ if (salesLedger.getId() == null) { String contractNo = generateSalesContractNo(); salesLedger.setSalesContractNo(contractNo); salesLedgerMapper.insert(salesLedger); accountIncome.setIncomeDescribed("éå®ååï¼" + salesLedger.getSalesContractNo()); accountIncome.setInvoiceNumber(salesLedger.getSalesContractNo()); accountIncomeService.save(accountIncome); } else { salesLedgerMapper.updateById(salesLedger); SalesLedger salesLedgerDB = salesLedgerMapper.selectById(salesLedger.getId()); List<AccountIncome> accountIncomeDBs = accountIncomeService.getByInvoiceNumberList(salesLedger.getSalesContractNo()); if (!org.springframework.util.CollectionUtils.isEmpty(accountIncomeDBs)) { accountIncomeDBs.forEach(accountIncomeDB -> { accountIncomeDB.setCustomerName(salesLedgerDB.getCustomerName()); accountIncomeDB.setIncomeMoney(salesLedgerDB.getContractAmount()); accountIncomeDB.setIncomeDescribed("éå®ååï¼" + salesLedgerDB.getSalesContractNo()); accountIncomeDB.setInvoiceNumber(salesLedgerDB.getSalesContractNo()); accountIncomeDB.setInputTime(new Date()); accountIncomeDB.setInputUser(salesLedgerDB.getEntryPerson()); accountIncomeService.updateById(accountIncomeDB); }); } } // 4. å¤çåè¡¨æ°æ® src/main/resources/application-new.yml
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,244 @@ # 项ç®ç¸å ³é ç½® ruoyi: # åç§° name: RuoYi # çæ¬ version: 3.8.9 # çæå¹´ä»½ copyrightYear: 2025 # æä»¶è·¯å¾ 示ä¾ï¼ Windowsé ç½®D:/ruoyi/uploadPathï¼Linuxé ç½® /home/ruoyi/uploadPathï¼ profile: /javaWork/product-inventory-management/file # è·åipå°åå¼å ³ addressEnabled: false # éªè¯ç ç±»å math æ°åè®¡ç® char å符éªè¯ captchaType: math # å¼åç¯å¢é ç½® server: # æå¡å¨çHTTP端å£ï¼é»è®¤ä¸º8080 port: 9003 servlet: # åºç¨ç访é®è·¯å¾ context-path: / tomcat: # tomcatçURIç¼ç uri-encoding: UTF-8 # è¿æ¥æ°æ»¡åçæéæ°ï¼é»è®¤ä¸º100 accept-count: 1000 threads: # tomcatæå¤§çº¿ç¨æ°ï¼é»è®¤ä¸º200 max: 800 # Tomcatå¯å¨åå§åççº¿ç¨æ°ï¼é»è®¤å¼10 min-spare: 100 # æ¥å¿é ç½® logging: level: com.ruoyi: warn org.springframework: warn minio: endpoint: http://114.132.189.42/ port: 7019 secure: false accessKey: admin secretKey: 12345678 preview-expiry: 24 # é¢è§å°åé»è®¤24å°æ¶ default-bucket: jxc # ç¨æ·é ç½® user: password: # å¯ç æå¤§éè¯¯æ¬¡æ° maxRetryCount: 5 # å¯ç é宿¶é´ï¼é»è®¤10åéï¼ lockTime: 10 # Springé ç½® spring: datasource: type: com.alibaba.druid.pool.DruidDataSource driverClassName: com.mysql.cj.jdbc.Driver druid: # ä¸»åºæ°æ®æº master: url: jdbc:mysql://172.17.0.1:3306/product-inventory-management-new?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: xd@123456.. # ä»åºæ°æ®æº slave: # 仿°æ®æºå¼å ³/é»è®¤å ³é enabled: false url: username: password: # åå§è¿æ¥æ° initialSize: 5 # æå°è¿æ¥æ± æ°é minIdle: 10 # æå¤§è¿æ¥æ± æ°é maxActive: 20 # é ç½®è·åè¿æ¥çå¾ è¶ æ¶çæ¶é´ maxWait: 60000 # é ç½®è¿æ¥è¶ æ¶æ¶é´ connectTimeout: 30000 # é ç½®ç½ç»è¶ æ¶æ¶é´ socketTimeout: 60000 # é ç½®é´éå¤ä¹ æè¿è¡ä¸æ¬¡æ£æµï¼æ£æµéè¦å ³éç空é²è¿æ¥ï¼å使¯æ¯«ç§ timeBetweenEvictionRunsMillis: 60000 # é ç½®ä¸ä¸ªè¿æ¥å¨æ± 䏿å°çåçæ¶é´ï¼å使¯æ¯«ç§ minEvictableIdleTimeMillis: 300000 # é ç½®ä¸ä¸ªè¿æ¥å¨æ± 䏿大çåçæ¶é´ï¼å使¯æ¯«ç§ maxEvictableIdleTimeMillis: 900000 # é ç½®æ£æµè¿æ¥æ¯å¦ææ validationQuery: SELECT 1 FROM DUAL testWhileIdle: true testOnBorrow: false testOnReturn: false webStatFilter: enabled: true statViewServlet: enabled: true # 设置ç½ååï¼ä¸å¡«åå 许ææè®¿é® allow: url-pattern: /druid/* # æ§å¶å°ç®¡çç¨æ·ååå¯ç login-username: ruoyi login-password: 123456 filter: stat: enabled: true # æ ¢SQLè®°å½ log-slow-sql: true slow-sql-millis: 1000 merge-sql: true wall: config: multi-statement-allow: true # èµæºä¿¡æ¯ messages: # å½é åèµæºæä»¶è·¯å¾ basename: i18n/messages # æä»¶ä¸ä¼ servlet: multipart: # å个æä»¶å¤§å° max-file-size: 1GB # 设置æ»ä¸ä¼ çæä»¶å¤§å° max-request-size: 2GB # æå¡æ¨¡å devtools: restart: # çé¨ç½²å¼å ³ enabled: false # redis é ç½® redis: # å°å # host: 127.0.0.1 host: 172.17.0.1 # 端å£ï¼é»è®¤ä¸º6379 port: 6379 # æ°æ®åºç´¢å¼ database: 0 # å¯ç # password: root2022! password: # è¿æ¥è¶ æ¶æ¶é´ timeout: 10s lettuce: pool: # è¿æ¥æ± ä¸çæå°ç©ºé²è¿æ¥ min-idle: 0 # è¿æ¥æ± ä¸çæå¤§ç©ºé²è¿æ¥ max-idle: 8 # è¿æ¥æ± çæå¤§æ°æ®åºè¿æ¥æ° max-active: 8 # #è¿æ¥æ± æå¤§é»å¡çå¾ æ¶é´ï¼ä½¿ç¨è´å¼è¡¨ç¤ºæ²¡æéå¶ï¼ max-wait: -1ms # Quartz宿¶ä»»å¡é ç½®ï¼æ°å¢é¨åï¼ quartz: job-store-type: jdbc # ä½¿ç¨æ°æ®åºåå¨ jdbc: initialize-schema: never # 馿¬¡è¿è¡æ¶èªå¨åå»ºè¡¨ç»æï¼æååæ¹ä¸ºnever schema: classpath:org/quartz/impl/jdbcjobstore/tables_mysql_innodb.sql # MySQLè¡¨ç»æèæ¬ properties: org: quartz: scheduler: instanceName: RuoYiScheduler instanceId: AUTO jobStore: class: org.quartz.impl.jdbcjobstore.JobStoreTX driverDelegateClass: org.quartz.impl.jdbcjobstore.StdJDBCDelegate # MySQLéé tablePrefix: qrtz_ # 表ååç¼ï¼ä¸èæ¬ä¸è´ isClustered: false # åèç¹æ¨¡å¼ï¼éç¾¤éæ¹ä¸ºtrueï¼ clusterCheckinInterval: 10000 txIsolationLevelSerializable: true threadPool: class: org.quartz.simpl.SimpleThreadPool threadCount: 10 # çº¿ç¨æ± å¤§å° threadPriority: 5 makeThreadsDaemons: true updateCheck: false # å ³éçæ¬æ£æ¥ # tokené ç½® token: # 令çèªå®ä¹æ è¯ header: Authorization # 令çå¯é¥ secret: abcdefghijklmnopqrstuvwxyz # ä»¤çæææï¼é»è®¤30åéï¼ expireTime: 450 # MyBatis Plusé ç½® mybatis-plus: # æç´¢æå®å å«å æ ¹æ®èªå·±çé¡¹ç®æ¥ typeAliasesPackage: com.ruoyi.**.pojo # é ç½®mapperçæ«æï¼æ¾å°ææçmapper.xmlæ å°æä»¶ mapperLocations: classpath*:mapper/**/*Mapper.xml # å è½½å ¨å±çé ç½®æä»¶ configLocation: classpath:mybatis/mybatis-config.xml global-config: enable-sql-runner: true db-config: id-type: auto # PageHelperå页æä»¶ pagehelper: helperDialect: mysql supportMethodsArguments: true params: count=countSql # Swaggeré ç½® swagger: # æ¯å¦å¼å¯swagger enabled: true # 请æ±åç¼ pathMapping: /dev-api # 鲿¢XSSæ»å» xss: # è¿æ»¤å¼å ³ enabled: true # æé¤é¾æ¥ï¼å¤ä¸ªç¨éå·åéï¼ excludes: /system/notice # å¹é 龿¥ urlPatterns: /system/*,/monitor/*,/tool/* # 代ç çæ gen: # ä½è author: ruoyi # é»è®¤çæå è·¯å¾ system éæ¹æèªå·±ç模ååç§° å¦ system monitor tool packageName: com.ruoyi.project.system # èªå¨å»é¤è¡¨åç¼ï¼é»è®¤æ¯true autoRemovePre: false # 表åç¼ï¼çæç±»åä¸ä¼å å«è¡¨åç¼ï¼å¤ä¸ªç¨éå·åéï¼ tablePrefix: sys_ # æ¯å¦å è®¸çææä»¶è¦çå°æ¬å°ï¼èªå®ä¹è·¯å¾ï¼ï¼é»è®¤ä¸å 许 allowOverwrite: false file: temp-dir: /javaWork/product-inventory-management/file/temp/uploads upload-dir: /javaWork/product-inventory-management/file/prod/uploads src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -77,8 +77,7 @@ supplier_manage T2 ON T1.supplier_id = T2.id LEFT JOIN sys_user T3 ON T3.user_id = T1.registrant_id left join ticket_registration T4 on T1.ticket_registration_id = T4.id WHERE T4.id = #{id} T1.sales_ledger_product_id = #{id} </select> </mapper>