| doc/河南鹤壁天沐钢化玻璃厂.sql | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/pojo/SalesLedger.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/main/resources/mapper/sales/SalesLedgerMapper.xml | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
doc/ºÓÄϺױÚÌìãå¸Ö»¯²£Á§³§.sql
@@ -98,3 +98,6 @@ MODIFY COLUMN `tax_inclusive_unit_price` decimal(18, 2) NULL COMMENT 'å«ç¨åä»·' AFTER `tax_rate`, MODIFY COLUMN `tax_inclusive_total_price` decimal(18, 2) NULL COMMENT 'å«ç¨æ»ä»·' AFTER `tax_inclusive_unit_price`, MODIFY COLUMN `tax_exclusive_total_price` decimal(18, 2) NULL COMMENT 'ä¸å«ç¨æ»ä»·' AFTER `tax_inclusive_total_price`; ALTER TABLE `sales_ledger` ADD COLUMN `stock_status` tinyint(1) NOT NULL DEFAULT '0' COMMENT 'å ¥åºç¶æï¼0-æªå ¥åºï¼1-å·²å ¥åº' AFTER `delivery_status`; src/main/java/com/ruoyi/common/enums/StockInQualifiedRecordTypeEnum.java
@@ -6,13 +6,13 @@ @Getter public enum StockInQualifiedRecordTypeEnum implements BaseEnum<String> { CUSTOMIZATION_STOCK_IN("0", "åæ ¼èªå®ä¹å ¥åº"), PRODUCTION_REPORT_STOCK_IN("2", "ç产æ¥å·¥-å ¥åº"), PURCHASE_STOCK_IN("7", "éè´-å ¥åº"), QUALITYINSPECT_STOCK_IN("6", "è´¨æ£-åæ ¼å ¥åº"), DEFECTIVE_PASS("11", "ä¸åæ ¼-è®©æ¥æ¾è¡"), RETURN_HE_IN("14", "éå®éè´§-åæ ¼å ¥åº"); RETURN_HE_IN("14", "éå®éè´§-åæ ¼å ¥åº"), SALE_STOCK_IN("15", "éå®-åæ ¼å ¥åº"); private final String code; @@ -22,5 +22,4 @@ this.code = code; this.value = value; } } src/main/java/com/ruoyi/sales/controller/SalesLedgerController.java
@@ -395,4 +395,11 @@ return AjaxResult.success(list); } @PostMapping("/salesStock") @ApiOperation("éå®å°è´¦äº§åå ¥åº") public AjaxResult salesStock(@RequestBody SalesLedger salesLedger) { salesLedgerService.salesStock(salesLedger); return AjaxResult.success(); } } src/main/java/com/ruoyi/sales/dto/SalesLedgerDto.java
@@ -62,4 +62,7 @@ @ApiModelProperty(value = "æ¯å¦åè´§") private Integer deliveryStatus; @ApiModelProperty(value = "å ¥åºç¶æ") private Integer stockStatus; } src/main/java/com/ruoyi/sales/pojo/SalesLedger.java
@@ -148,6 +148,12 @@ @ApiModelProperty("åè´§ç¶æï¼1-æªåè´§ï¼2-审æ¹ä¸ï¼3-审æ¹ä¸éè¿ï¼4-审æ¹éè¿ï¼5-å·²åè´§") private Integer deliveryStatus; /** * å ¥åºç¶æï¼0-æªå ¥åºï¼1-å·²å ¥åº */ @ApiModelProperty("å ¥åºç¶æï¼0-æªå ¥åºï¼1-å·²å ¥åº") private Integer stockStatus; @TableField(exist = false) @ApiModelProperty(value = "交货天æ°å·®") private Integer deliveryDaysDiff; src/main/java/com/ruoyi/sales/service/ISalesLedgerService.java
@@ -66,4 +66,6 @@ SalesInvoicesDto salesInvoices(List<Long> salesLedgerIds); List<SalesLabelDto> salesLabel(Long salesLedgerId); void salesStock(SalesLedger salesLedger); } src/main/java/com/ruoyi/sales/service/impl/SalesLedgerServiceImpl.java
@@ -18,6 +18,7 @@ import com.ruoyi.basic.service.ICustomerRegionsService; import com.ruoyi.common.enums.FileNameType; import com.ruoyi.common.enums.SaleEnum; import com.ruoyi.common.enums.StockInQualifiedRecordTypeEnum; import com.ruoyi.common.exception.ServiceException; import com.ruoyi.common.exception.base.BaseException; import com.ruoyi.common.utils.DateUtils; @@ -47,6 +48,8 @@ import com.ruoyi.sales.service.ISalesLedgerProductProcessBindService; import com.ruoyi.sales.service.ISalesLedgerProductProcessService; import com.ruoyi.sales.service.ISalesLedgerService; import com.ruoyi.stock.dto.StockInventoryDto; import com.ruoyi.stock.service.StockInventoryService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.io.FilenameUtils; @@ -125,6 +128,8 @@ private final ISalesLedgerProductProcessBindService salesLedgerProductProcessBindService; private final ISalesLedgerProcessRouteService salesLedgerProcessRouteService; private final StockInventoryService stockInventoryService; @Autowired private SysDeptMapper sysDeptMapper; @@ -732,6 +737,7 @@ String contractNo = generateSalesContractNo(); salesLedger.setSalesContractNo(contractNo); salesLedger.setDeliveryStatus(1); salesLedger.setStockStatus(0); salesLedgerMapper.insert(salesLedger); } else { if (salesLedger.getDeliveryStatus() == 5) { @@ -1500,4 +1506,39 @@ return totalAmount; } } @Override @Transactional(rollbackFor = Exception.class) public void salesStock(SalesLedger salesLedger) { if (salesLedger == null || salesLedger.getId() == null) { throw new NullPointerException("å ¥åºå¤±è´¥,è¯·éæ©éè¦å ¥åºçéå®è®¢å"); } // æ¥è¯¢éå®è®¢åæ¯å¦åå¨ SalesLedger ledger = baseMapper.selectById(salesLedger.getId()); if (ledger == null) { throw new ServiceException("å ¥åºå¤±è´¥,éå®è®¢åä¸åå¨"); } if (ledger.getStockStatus() == null) { throw new ServiceException("å ¥åºå¤±è´¥,éå®è®¢åå ¥åºç¶æå¼å¸¸"); } if (ledger.getStockStatus() == 1) { throw new ServiceException("å ¥åºå¤±è´¥,该éå®è®¢åå·²å ¥åº,请å¿éå¤å ¥åº"); } // æ¥è¯¢éå®è®¢åç产å List<SalesLedgerProduct> salesLedgerProducts = salesLedgerProductMapper.selectList(Wrappers.<SalesLedgerProduct>lambdaQuery().eq(SalesLedgerProduct::getSalesLedgerId, ledger.getId())); if (salesLedgerProducts == null || salesLedgerProducts.isEmpty()) { throw new ServiceException("å ¥åºå¤±è´¥,æªæ¥è¯¢å°è¯¥éå®è®¢åçéå®äº§å"); } for (SalesLedgerProduct product : salesLedgerProducts) { if (product.getProductModelId() == null) { continue; } StockInventoryDto dto = new StockInventoryDto(); dto.setRecordId(product.getId()); dto.setRecordType(StockInQualifiedRecordTypeEnum.SALE_STOCK_IN.getCode()); dto.setQualitity(product.getQuantity()); dto.setProductModelId(product.getProductModelId()); stockInventoryService.addstockInventory(dto); } } } src/main/resources/mapper/sales/SalesLedgerMapper.xml
@@ -90,6 +90,9 @@ <if test="salesLedgerDto.deliveryStatus != null"> AND T1.delivery_status = #{salesLedgerDto.deliveryStatus} </if> <if test="salesLedgerDto.stockStatus != null"> AND T1.stock_status = #{salesLedgerDto.stockStatus} </if> </where> ORDER BY T1.entry_date DESC </select>