doc/ºÓÄϺױÚÌìãå¸Ö»¯²£Á§³§.sql
@@ -39,3 +39,13 @@ ALTER TABLE sales_ledger_product_process CHANGE COLUMN remark code VARCHAR(255) COMMENT 'ç¼ç '; ALTER TABLE `product-inventory-management-hbtmblc`.`sales_ledger_product` MODIFY COLUMN `width` decimal(20, 15) NULL DEFAULT NULL COMMENT '宽(mm)' AFTER `is_checked`, MODIFY COLUMN `height` decimal(20, 15) NULL DEFAULT NULL COMMENT 'é«(mm)' AFTER `width`, MODIFY COLUMN `actual_piece_area` decimal(20, 15) NULL DEFAULT NULL COMMENT 'å®é åçé¢ç§¯(ã¡)' AFTER `height`, MODIFY COLUMN `actual_total_area` decimal(20, 15) NULL DEFAULT NULL COMMENT 'å®é æ»é¢ç§¯(ã¡)' AFTER `actual_piece_area`, MODIFY COLUMN `settle_piece_area` decimal(20, 15) NULL DEFAULT NULL COMMENT 'ç»ç®åçé¢ç§¯(ã¡)' AFTER `actual_total_area`, MODIFY COLUMN `settle_total_area` decimal(20, 15) NULL DEFAULT NULL COMMENT 'ç»ç®æ»é¢ç§¯(ã¡)' AFTER `settle_piece_area`, ADD COLUMN `perimeter` decimal(20, 15) NULL COMMENT 'å¨é¿' AFTER `settle_total_area`, ADD COLUMN `heavy_box` decimal(20, 15) NULL COMMENT 'éç®±' AFTER `perimeter`; src/main/java/com/ruoyi/sales/pojo/SalesLedgerProduct.java
@@ -270,6 +270,18 @@ @ApiModelProperty("ç»ç®æ»é¢ç§¯(ã¡)") private BigDecimal settleTotalArea; /** * å¨é¿ */ @ApiModelProperty("å¨é¿(cm)") private BigDecimal perimeter; /** * å¨é¿ */ @ApiModelProperty("éç®±") private BigDecimal heavyBox; @TableField(exist = false) @ApiModelProperty("éå®äº§åé¢å¤å å·¥") private List<SalesLedgerProductProcess> salesProductProcessList; src/main/java/com/ruoyi/sales/pojo/SalesLedgerProductProcessBind.java
@@ -32,7 +32,7 @@ private Integer id; @ApiModelProperty(value = "éå®å°è´¦äº§åä¿¡æ¯ID") private Integer salesLedgerProductId; private Long salesLedgerProductId; @ApiModelProperty(value = "éå®äº§åå å·¥æç»ID") private Integer salesLedgerProductProcessId; src/main/java/com/ruoyi/sales/service/ISalesLedgerProductProcessBindService.java
@@ -1,7 +1,10 @@ package com.ruoyi.sales.service; import com.ruoyi.sales.pojo.SalesLedgerProductProcess; import com.ruoyi.sales.pojo.SalesLedgerProductProcessBind; import com.baomidou.mybatisplus.extension.service.IService; import java.util.List; /** * <p> @@ -13,4 +16,6 @@ */ public interface ISalesLedgerProductProcessBindService extends IService<SalesLedgerProductProcessBind> { void updateProductProcessBind(List<SalesLedgerProductProcess> list, Long salesLedgerProductId); } src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductProcessBindServiceImpl.java
@@ -1,10 +1,14 @@ package com.ruoyi.sales.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.sales.pojo.SalesLedgerProductProcess; import com.ruoyi.sales.pojo.SalesLedgerProductProcessBind; import com.ruoyi.sales.mapper.SalesLedgerProductProcessBindMapper; import com.ruoyi.sales.service.ISalesLedgerProductProcessBindService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import java.util.List; /** * <p> @@ -17,4 +21,19 @@ @Service public class SalesLedgerProductProcessBindServiceImpl extends ServiceImpl<SalesLedgerProductProcessBindMapper, SalesLedgerProductProcessBind> implements ISalesLedgerProductProcessBindService { @Override public void updateProductProcessBind(List<SalesLedgerProductProcess> list, Long salesLedgerProductId) { if (list == null || list.isEmpty()) { return; } // å æ¸ 空åæå ¥ baseMapper.delete(new LambdaQueryWrapper<SalesLedgerProductProcessBind>().in(SalesLedgerProductProcessBind::getSalesLedgerProductId, salesLedgerProductId)); list.forEach(s -> { SalesLedgerProductProcessBind salesLedgerProductProcessBind = new SalesLedgerProductProcessBind(); salesLedgerProductProcessBind.setSalesLedgerProductId(salesLedgerProductId); salesLedgerProductProcessBind.setSalesLedgerProductProcessId(s.getId()); salesLedgerProductProcessBind.setQuantity(s.getQuantity()); baseMapper.insert(salesLedgerProductProcessBind); }); } } src/main/java/com/ruoyi/sales/service/impl/SalesLedgerProductServiceImpl.java
@@ -24,9 +24,8 @@ import com.ruoyi.sales.mapper.SalesLedgerMapper; import com.ruoyi.sales.mapper.SalesLedgerProductMapper; import com.ruoyi.sales.mapper.ShippingInfoMapper; import com.ruoyi.sales.pojo.SalesLedger; import com.ruoyi.sales.pojo.SalesLedgerProduct; import com.ruoyi.sales.pojo.ShippingInfo; import com.ruoyi.sales.pojo.*; import com.ruoyi.sales.service.ISalesLedgerProductProcessBindService; import com.ruoyi.sales.service.ISalesLedgerProductService; import com.ruoyi.stock.mapper.StockInventoryMapper; import com.ruoyi.stock.pojo.StockInventory; @@ -84,7 +83,7 @@ private StockUtils stockUtils; private final ISalesLedgerProductProcessBindService salesLedgerProductProcessBindService; @Autowired private ProductStructureMapper productStructureMapper; @@ -258,6 +257,9 @@ PurchaseLedger.class ); } // æ¸ ç©ºéå®äº§åç»å®çå å·¥ salesLedgerProductProcessBindService.updateProductProcessBind(salesLedgerProduct.getSalesProductProcessList(), salesLedgerProduct.getId()); } return result; } @@ -488,6 +490,7 @@ throw new RuntimeException("å¨ææ´æ°ä¸»è¡¨éé¢å¤±è´¥", e); } } @Override public R judgmentInventory(SalesLedgerProduct salesLedgerProduct) { //è·åäº§åææ°çå·¥èºè·¯çº¿ src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -754,17 +754,8 @@ for (SalesLedgerProduct product : updateList) { product.setType(type.getCode()); salesLedgerProductMapper.updateById(product); // å®ç°å é¤ç»å®çå ¨é¨å å·¥ salesLedgerProductProcessBindService.remove(new LambdaQueryWrapper<SalesLedgerProductProcessBind>().eq(SalesLedgerProductProcessBind::getSalesLedgerProductId, product.getId())); // ç»å®äº§åé¢å¤å å·¥ List<SalesLedgerProductProcess> salesProductProcessList = product.getSalesProductProcessList(); salesProductProcessList.forEach(s -> { SalesLedgerProductProcessBind processBind = new SalesLedgerProductProcessBind(); processBind.setSalesLedgerProductId(Math.toIntExact(product.getId())); processBind.setSalesLedgerProductProcessId(s.getId()); processBind.setQuantity(s.getQuantity()); salesLedgerProductProcessBindService.save(processBind); }); // æ¸ ç©ºéå®äº§åç»å®çå å·¥ salesLedgerProductProcessBindService.updateProductProcessBind(product.getSalesProductProcessList(), product.getId()); } } // æ§è¡æå ¥æä½ @@ -776,14 +767,8 @@ salesLedgerProduct.setPendingInvoiceTotal(salesLedgerProduct.getTaxInclusiveTotalPrice()); salesLedgerProductMapper.insert(salesLedgerProduct); // ç»å®äº§åé¢å¤å å·¥ List<SalesLedgerProductProcess> salesProductProcessList = salesLedgerProduct.getSalesProductProcessList(); salesProductProcessList.forEach(s -> { SalesLedgerProductProcessBind processBind = new SalesLedgerProductProcessBind(); processBind.setSalesLedgerProductId(Math.toIntExact(salesLedgerProduct.getId())); processBind.setSalesLedgerProductProcessId(s.getId()); processBind.setQuantity(s.getQuantity()); salesLedgerProductProcessBindService.save(processBind); }); // æ¸ ç©ºéå®äº§åç»å®çå å·¥ salesLedgerProductProcessBindService.updateProductProcessBind(salesLedgerProduct.getSalesProductProcessList(), salesLedgerProduct.getId()); // æ·»å çäº§æ°æ® salesLedgerProductServiceImpl.addProductionData(salesLedgerProduct); }