src/main/java/com/ruoyi/purchase/controller/PurchaseLedgerController.java
@@ -1,5 +1,6 @@ package com.ruoyi.purchase.controller; 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.common.utils.poi.ExcelUtil; @@ -11,6 +12,8 @@ import com.ruoyi.purchase.dto.PurchaseLedgerDto; import com.ruoyi.purchase.pojo.PurchaseLedger; import com.ruoyi.purchase.service.IPurchaseLedgerService; import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.service.ISalesLedgerProductService; import com.ruoyi.sales.service.ISalesLedgerService; import io.swagger.annotations.ApiOperation; import lombok.AllArgsConstructor; @@ -19,6 +22,7 @@ import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.List; import java.util.stream.Collectors; /** * 采购台账Controller @@ -33,6 +37,7 @@ private IPurchaseLedgerService purchaseLedgerService; private ISalesLedgerService salesLedgerService; private ISalesLedgerProductService salesLedgerProductService; /** * 查询采购台账列表 @@ -78,6 +83,32 @@ return toAjax(purchaseLedgerService.addOrEditPurchase(purchaseLedgerDto)); } /** * 新增采购模板 */ @PostMapping("/addPurchaseTemplate") public AjaxResult addPurchaseTemplate(@RequestBody PurchaseLedgerDto purchaseLedgerDto) throws IOException { return toAjax(purchaseLedgerService.addPurchaseTemplate(purchaseLedgerDto)); } /** * 查询采购模板 */ @GetMapping("/getPurchaseTemplateList") public AjaxResult getPurchaseTemplateList() { IPage<PurchaseLedgerDto> purchaseLedgerDtoIPage = purchaseLedgerService.selectPurchaseLedgerListPage(new Page(1, -1), new PurchaseLedgerDto()); List<PurchaseLedgerDto> purchaseLedgers = purchaseLedgerDtoIPage.getRecords(); purchaseLedgers = purchaseLedgers.stream().filter(purchaseLedger -> purchaseLedger.getApprovalStatus() == 3).collect(Collectors.toList()); purchaseLedgers.forEach(purchaseLedgerDto -> { LambdaQueryWrapper<SalesLedgerProduct> queryWrapper = new LambdaQueryWrapper<>(); queryWrapper.eq(SalesLedgerProduct::getSalesLedgerId, purchaseLedgerDto.getId()); List<SalesLedgerProduct> list = salesLedgerProductService.list(queryWrapper); if (!list.isEmpty()) { purchaseLedgerDto.setProductData(list); } }); return AjaxResult.success(purchaseLedgers); } /** * 修改采购台账审批状态 */ @PostMapping("/updateApprovalStatus") src/main/java/com/ruoyi/purchase/dto/PurchaseLedgerDto.java
@@ -187,5 +187,8 @@ private String paymentMethod; @ApiModelProperty("审批状态") private Integer approvalStatus; @ApiModelProperty(value = "模板名称") private String templateName; @ApiModelProperty(value = "审批人id") private Integer approverId; } src/main/java/com/ruoyi/purchase/pojo/PurchaseLedger.java
@@ -153,4 +153,9 @@ @ApiModelProperty("审批状态") private Integer approvalStatus; @ApiModelProperty(value = "模板名称") private String templateName; @ApiModelProperty(value = "审批人id") private Integer approverId; } src/main/java/com/ruoyi/purchase/service/IPurchaseLedgerService.java
@@ -39,4 +39,6 @@ List<InvoiceRegistrationProduct> getProductBySalesNo(Long id); String getPurchaseNo(); int addPurchaseTemplate(PurchaseLedgerDto purchaseLedgerDto); } src/main/java/com/ruoyi/purchase/service/impl/PurchaseLedgerServiceImpl.java
@@ -109,7 +109,40 @@ } return purchaseLedgerMapper.selectList(queryWrapper); } @Override @Transactional(rollbackFor = Exception.class) public int addPurchaseTemplate(PurchaseLedgerDto purchaseLedgerDto) { //录入人 SysUser sysUser = userMapper.selectUserById(purchaseLedgerDto.getRecorderId()); SupplierManage supplierManage = supplierManageMapper.selectById(purchaseLedgerDto.getSupplierId()); PurchaseLedger purchaseLedger = new PurchaseLedger(); purchaseLedgerDto.setApprovalStatus(3); BeanUtils.copyProperties(purchaseLedgerDto, purchaseLedger); LoginUser loginUser = SecurityUtils.getLoginUser(); if(ObjectUtils.isNotEmpty(loginUser) && null != loginUser.getTenantId()) { purchaseLedger.setTenantId(loginUser.getTenantId()); } purchaseLedger.setSupplierName(supplierManage.getSupplierName()); purchaseLedger.setRecorderName(sysUser.getNickName()); purchaseLedger.setPhoneNumber(sysUser.getPhonenumber()); purchaseLedger.setPurchaseContractNumber("11111"); purchaseLedger.setEntryDate(Date.from(LocalDate.now().atStartOfDay(ZoneId.systemDefault()).toInstant())); purchaseLedgerMapper.insert(purchaseLedger); // 4. 处理子表数据 List<SalesLedgerProduct> productList = purchaseLedgerDto.getProductData(); if (productList != null && !productList.isEmpty()) { productList.forEach(product -> { product.setSalesLedgerId(purchaseLedger.getId()); product.setType(purchaseLedgerDto.getType()); }); productList.forEach(salesLedgerProductMapper::insert); } return 1; } @Override @Transactional(rollbackFor = Exception.class) public int addOrEditPurchase(PurchaseLedgerDto purchaseLedgerDto) throws IOException { src/main/resources/mapper/purchase/PurchaseLedgerMapper.xml
@@ -14,13 +14,17 @@ pl.id, pl.purchase_contract_number , pl.sales_contract_no, pl.supplier_id, pl.supplier_name, pl.project_name, pl.contract_amount, sum(pr.tickets_amount)as receipt_payment_amount, pl.contract_amount-sum(pr.tickets_amount) AS unReceipt_payment_amount, pl.entry_date, pl.recorder_id, pl.recorder_name, pl.template_name, pl.approver_id, sm.is_white, pl.approval_status, pl.payment_method