src/main/java/com/ruoyi/procurementrecord/dto/ProcurementPageDto.java
@@ -47,7 +47,7 @@ */ @Excel(name = "å ¥åºæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createDate; private LocalDateTime createTime; /** * åºå ¥åºç¨æ· src/main/java/com/ruoyi/procurementrecord/dto/ProcurementRecordOutPageDto.java
@@ -27,7 +27,7 @@ */ @Excel(name = "åºåºæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") private LocalDateTime createDate; private LocalDateTime createTime; /** * åºå ¥åºç¨æ· src/main/java/com/ruoyi/procurementrecord/mapper/ProcurementRecordMapper.java
@@ -1,12 +1,11 @@ package com.ruoyi.procurementrecord.mapper; import com.baomidou.mybatisplus.annotation.InterceptorIgnore; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.ruoyi.procurementrecord.dto.ProcurementDto; import com.ruoyi.procurementrecord.dto.ProcurementPageDto; import com.ruoyi.procurementrecord.pojo.ProcurementRecord; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import org.apache.ibatis.annotations.Param; import java.util.List; @@ -15,7 +14,7 @@ * @author :yys * @date : 2025/7/7 14:30 */ public interface ProcurementRecordMapper extends BaseMapper<ProcurementRecord> { public interface ProcurementRecordMapper extends BaseMapper<ProcurementRecordStorage> { /** * æ ¹æ®éè´å°è´¦idæ¥è¯¢éè´å ¥åºä¿¡æ¯ * src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordOut.java
@@ -44,19 +44,28 @@ private BigDecimal inboundNum; /** * åºåºåºæ¶é´ */ private LocalDateTime createDate; /** * åºåºåºç¨æ· */ private String createBy; /** * å ¥åºç¨æ·id */ private Long createUser; /** * åºåºåºç¨æ·id * å ¥åºæ¶é´ */ private Integer userId; private LocalDateTime createTime; /** * ä¿®æ¹è */ private Long updateUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ç§æ·ID src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecordStorage.java
ÎļþÃû´Ó src/main/java/com/ruoyi/procurementrecord/pojo/ProcurementRecord.java ÐÞ¸Ä @@ -16,7 +16,7 @@ @TableName("procurement_record_storage") @Data @Builder public class ProcurementRecord { public class ProcurementRecordStorage { private static final long serialVersionUID = 1L; @@ -39,11 +39,6 @@ private BigDecimal inboundNum; /** * å ¥åºæ¶é´ */ private LocalDateTime createDate; /** * å ¥åºç¨æ· */ private String createBy; @@ -51,7 +46,22 @@ /** * å ¥åºç¨æ·id */ private Long userId; private Long createUser; /** * å ¥åºæ¶é´ */ private LocalDateTime createTime; /** * ä¿®æ¹è */ private Long updateUser; /** * ä¿®æ¹æ¶é´ */ private LocalDateTime updateTime; /** * ç§æ·ID src/main/java/com/ruoyi/procurementrecord/service/ProcurementRecordService.java
@@ -7,7 +7,7 @@ import com.ruoyi.procurementrecord.dto.ProcurementDto; import com.ruoyi.procurementrecord.dto.ProcurementPageDto; import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto; import com.ruoyi.procurementrecord.pojo.ProcurementRecord; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import javax.servlet.http.HttpServletResponse; import java.util.List; @@ -16,7 +16,7 @@ * @author :yys * @date : 2025/7/7 14:36 */ public interface ProcurementRecordService extends IService<ProcurementRecord> { public interface ProcurementRecordService extends IService<ProcurementRecordStorage> { List<ProcurementDto> listProcurementBySalesLedgerId(ProcurementDto procurementDto); int add(ProcurementAddDto procurementDto); src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordOutServiceImpl.java
@@ -4,15 +4,11 @@ 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.common.utils.SecurityUtils; import com.ruoyi.common.utils.poi.ExcelUtil; import com.ruoyi.framework.security.LoginUser; import com.ruoyi.procurementrecord.dto.ProcurementPageDto; import com.ruoyi.procurementrecord.dto.ProcurementRecordOutAdd; import com.ruoyi.procurementrecord.dto.ProcurementRecordOutPageDto; import com.ruoyi.procurementrecord.dto.ProcurementUpdateDto; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.ProcurementRecord; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.service.ProcurementRecordOutService; import com.ruoyi.project.system.domain.SysUser; @@ -56,9 +52,11 @@ .salesLedgerProductId(procurementRecordOutAdd.getSalesLedgerProductId()) .inboundBatches(aLong.equals(0L) ? "第1æ¹æ¬¡" : "第"+ (aLong + 1) + "æ¹æ¬¡") .inboundNum(new BigDecimal(procurementRecordOutAdd.getQuantity())) .createDate(LocalDateTime.now()) .userId(procurementRecordOutAdd.getUserId()) .createTime(LocalDateTime.now()) .createUser(Long.valueOf(procurementRecordOutAdd.getUserId())) .createBy(sysUser.getNickName()) .updateUser(Long.valueOf(procurementRecordOutAdd.getUserId())) .updateTime(LocalDateTime.now()) .tenantId(sysUser.getTenantId()); this.save(procurementRecordOut.build()); return 0; src/main/java/com/ruoyi/procurementrecord/service/impl/ProcurementRecordServiceImpl.java
@@ -10,12 +10,10 @@ import com.ruoyi.procurementrecord.dto.*; import com.ruoyi.procurementrecord.mapper.ProcurementRecordMapper; import com.ruoyi.procurementrecord.mapper.ProcurementRecordOutMapper; import com.ruoyi.procurementrecord.pojo.ProcurementRecord; import com.ruoyi.procurementrecord.pojo.ProcurementRecordStorage; import com.ruoyi.procurementrecord.pojo.ProcurementRecordOut; import com.ruoyi.procurementrecord.service.ProcurementRecordService; import com.ruoyi.quality.pojo.QualityInspect; import com.ruoyi.sales.mapper.SalesLedgerProductMapper; import com.ruoyi.sales.pojo.SalesLedgerProduct; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.stereotype.Service; @@ -34,7 +32,7 @@ @Service @RequiredArgsConstructor @Slf4j public class ProcurementRecordServiceImpl extends ServiceImpl<ProcurementRecordMapper, ProcurementRecord> implements ProcurementRecordService { public class ProcurementRecordServiceImpl extends ServiceImpl<ProcurementRecordMapper, ProcurementRecordStorage> implements ProcurementRecordService { private final ProcurementRecordMapper procurementRecordMapper; @@ -51,16 +49,16 @@ if(CollectionUtils.isEmpty( collect)){ return procurementDtos; } LambdaQueryWrapper<ProcurementRecord> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); procurementRecordLambdaQueryWrapper.in(ProcurementRecord::getSalesLedgerProductId, collect); List<ProcurementRecord> procurementRecords = procurementRecordMapper.selectList(procurementRecordLambdaQueryWrapper); if(CollectionUtils.isEmpty( procurementRecords)){ LambdaQueryWrapper<ProcurementRecordStorage> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); procurementRecordLambdaQueryWrapper.in(ProcurementRecordStorage::getSalesLedgerProductId, collect); List<ProcurementRecordStorage> procurementRecordStorages = procurementRecordMapper.selectList(procurementRecordLambdaQueryWrapper); if(CollectionUtils.isEmpty(procurementRecordStorages)){ return procurementDtos; } for (ProcurementDto dto : procurementDtos) { // æ ¹æ®éè´å°è´¦IDçé对åºçå ¥åºè®°å½ List<ProcurementRecord> collect1 = procurementRecords.stream() .filter(procurementRecord -> procurementRecord.getSalesLedgerProductId().equals(dto.getId())) List<ProcurementRecordStorage> collect1 = procurementRecordStorages.stream() .filter(procurementRecordStorage -> procurementRecordStorage.getSalesLedgerProductId().equals(dto.getId())) .collect(Collectors.toList()); // å¦ææ²¡æç¸å ³çå ¥åºè®°å½ï¼è·³è¿è¯¥æ¡æ°æ® @@ -71,7 +69,7 @@ // 计ç®å·²å ¥åºæ°éæ»åï¼å¹¶è®¾ç½®å¾ å ¥åºæ°é BigDecimal totalInboundNum = collect1.stream() .map(ProcurementRecord::getInboundNum) .map(ProcurementRecordStorage::getInboundNum) .reduce(BigDecimal.ZERO, BigDecimal::add); // å¾ å ¥åºæ°é = æ»æ°é - å·²å ¥åºæ°é @@ -80,33 +78,35 @@ return procurementDtos; } public ProcurementRecord getProcurementRecordById(Integer id){ ProcurementRecord procurementRecord = procurementRecordMapper.selectById(id); if(procurementRecord == null) { public ProcurementRecordStorage getProcurementRecordById(Integer id){ ProcurementRecordStorage procurementRecordStorage = procurementRecordMapper.selectById(id); if(procurementRecordStorage == null) { throw new RuntimeException("æªæ¾å°è¯¥éè´å ¥åºè®°å½"); } return procurementRecord; return procurementRecordStorage; } public List<ProcurementRecord> getProcurementRecordByIds(List<Integer> id){ List<ProcurementRecord> procurementRecord = procurementRecordMapper.selectBatchIds(id); if(procurementRecord == null) { public List<ProcurementRecordStorage> getProcurementRecordByIds(List<Integer> id){ List<ProcurementRecordStorage> procurementRecordStorage = procurementRecordMapper.selectBatchIds(id); if(procurementRecordStorage == null) { throw new RuntimeException("æªæ¾å°è¯¥éè´å ¥åºè®°å½"); } return procurementRecord; return procurementRecordStorage; } @Override public int updatePro(ProcurementUpdateDto procurementDto) { ProcurementRecord procurementRecordById = getProcurementRecordById(procurementDto.getId()); procurementRecordById.setInboundNum(procurementDto.getQuantityStock()); return procurementRecordMapper.updateById(procurementRecordById); ProcurementRecordStorage procurementRecordStorageById = getProcurementRecordById(procurementDto.getId()); procurementRecordStorageById.setInboundNum(procurementDto.getQuantityStock()); procurementRecordStorageById.setUpdateUser(SecurityUtils.getLoginUser().getUserId()); procurementRecordStorageById.setUpdateTime(LocalDateTime.now()); return procurementRecordMapper.updateById(procurementRecordStorageById); } @Override public int deletePro(ProcurementUpdateDto procurementDto) { List<ProcurementRecord> procurementRecordById = getProcurementRecordByIds(procurementDto.getIds()); procurementRecordMapper.deleteBatchIds(procurementRecordById.stream().map(ProcurementRecord::getId).collect(Collectors.toList())); List<ProcurementRecordStorage> procurementRecordStorageById = getProcurementRecordByIds(procurementDto.getIds()); procurementRecordMapper.deleteBatchIds(procurementRecordStorageById.stream().map(ProcurementRecordStorage::getId).collect(Collectors.toList())); // å 餿æå¯¹åºçåºåºè®°å½ LambdaQueryWrapper<ProcurementRecordOut> procurementRecordOutLambdaQueryWrapper = new LambdaQueryWrapper<>(); procurementRecordOutLambdaQueryWrapper.in(ProcurementRecordOut::getProcurementRecordStorageId, procurementDto.getIds()); @@ -130,16 +130,18 @@ // æ¹éæ°å¢ for (Details detail : procurementDto.getDetails()) { // æ¥è¯¢éè´å ¥åºæ°é LambdaQueryWrapper<ProcurementRecord> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); procurementRecordLambdaQueryWrapper.eq(ProcurementRecord::getSalesLedgerProductId, detail.getId()); LambdaQueryWrapper<ProcurementRecordStorage> procurementRecordLambdaQueryWrapper = new LambdaQueryWrapper<>(); procurementRecordLambdaQueryWrapper.eq(ProcurementRecordStorage::getSalesLedgerProductId, detail.getId()); Long aLong = procurementRecordMapper.selectCount(procurementRecordLambdaQueryWrapper); ProcurementRecord.ProcurementRecordBuilder procurementRecordBuilder = ProcurementRecord.builder() ProcurementRecordStorage.ProcurementRecordStorageBuilder procurementRecordBuilder = ProcurementRecordStorage.builder() .salesLedgerProductId(detail.getId()) .inboundBatches(aLong.equals(0L) ? "第1æ¹æ¬¡" : "第"+ (aLong + 1) + "æ¹æ¬¡") .inboundNum(detail.getInboundQuantity()) .createDate(LocalDateTime.now()) .userId(loginUser.getUserId()) .createTime(LocalDateTime.now()) .createUser(loginUser.getUserId()) .updateTime(LocalDateTime.now()) .updateUser(loginUser.getUserId()) .tenantId(loginUser.getTenantId()) .createBy(procurementDto.getNickName()); this.save(procurementRecordBuilder.build()); src/main/resources/mapper/procurementrecord/ProcurementRecordMapper.xml
@@ -42,7 +42,7 @@ t1.inbound_batches, t1.inbound_num, t1.inbound_num as inboundNum0, t1.create_date, t1.create_time, t1.create_by from procurement_record_storage t1 left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id @@ -70,7 +70,7 @@ t2.tax_exclusive_total_price, t1.inbound_batches, t1.inbound_num, t1.create_date, t1.create_time, t1.create_by from procurement_record_storage t1 left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id src/main/resources/mapper/procurementrecord/ProcurementRecordOutMapper.xml
@@ -14,7 +14,7 @@ t2.tax_inclusive_total_price, t2.tax_exclusive_total_price, t1.inbound_num, t1.create_date, t1.create_time, t1.create_by from procurement_record_out t1 left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id @@ -38,7 +38,7 @@ t2.tax_inclusive_total_price, t2.tax_exclusive_total_price, t1.inbound_num, t1.create_date, t1.create_time, t1.create_by from procurement_record_out t1 left join sales_ledger_product t2 on t2.id = t1.sales_ledger_product_id