同步材料数据

This commit is contained in:
lcj
2025-10-30 18:02:08 +08:00
parent c9f80fe498
commit 091d7bfc0e

View File

@ -0,0 +1,89 @@
package org.dromara.test;
import cn.hutool.core.collection.CollUtil;
import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.dromara.materials.domain.MatMaterialIssue;
import org.dromara.materials.domain.MatMaterialReceive;
import org.dromara.materials.domain.MatMaterials;
import org.dromara.materials.domain.MatMaterialsInventory;
import org.dromara.materials.domain.enums.MatMaterialsInventoryOutPutEnum;
import org.dromara.materials.service.IMatMaterialIssueService;
import org.dromara.materials.service.IMatMaterialReceiveService;
import org.dromara.materials.service.IMatMaterialsInventoryService;
import org.dromara.materials.service.IMatMaterialsService;
import org.junit.jupiter.api.Test;
import org.springframework.boot.test.context.SpringBootTest;
import java.util.List;
/**
* @author lilemy
* @date 2025-10-30 15:58
*/
@Slf4j
@SpringBootTest
public class MaterialsTest {
/**
* 长顺项目id
*/
private static final Long PROJECT_ID = 1897161054676336641L;
@Resource
private IMatMaterialsService materialsService;
@Resource
private IMatMaterialsInventoryService materialsInventoryService;
@Resource
private IMatMaterialReceiveService materialReceiveService;
@Resource
private IMatMaterialIssueService materialIssueService;
@Test
void test() {
List<MatMaterials> materials = materialsService.lambdaQuery()
.eq(MatMaterials::getProjectId, PROJECT_ID)
.list();
log.info("材料数据:{}", materials);
for (MatMaterials material : materials) {
String formCode = material.getFormCode();
// 查看入库数据
MatMaterialReceive receive = materialReceiveService.lambdaQuery()
.eq(MatMaterialReceive::getFormCode, formCode)
.one();
// 查看出库数据
List<MatMaterialsInventory> inventoryList = materialsInventoryService.lambdaQuery()
.eq(MatMaterialsInventory::getMaterialsId, material.getId())
.eq(MatMaterialsInventory::getOutPut, MatMaterialsInventoryOutPutEnum.OUT.getValue())
.list();
if (CollUtil.isEmpty(inventoryList)) {
continue;
}
// 创建领料出库数据
List<MatMaterialIssue> issueList = inventoryList.stream().map(inventory -> {
MatMaterialIssue issue = new MatMaterialIssue();
issue.setProjectId(PROJECT_ID);
issue.setMaterialSource("2");
issue.setFormCode(receive.getFormCode());
issue.setProjectName(receive.getProjectName());
issue.setMaterialName(receive.getMaterialName());
issue.setOrderingUnit(receive.getOrderingUnit());
issue.setSupplierUnit(receive.getSupplierUnit());
issue.setIssueUnit(inventory.getRecipient());
issue.setIssueUnitId(inventory.getRecipientId());
issue.setShipper(inventory.getShipper());
// issue.setStorageUnit();
issue.setCertCount(0);
issue.setReportCount(0);
issue.setTechDocCount(0);
issue.setLicenseCount(0);
log.info("领料出库数据:{}", issue);
log.info("=============================");
return issue;
}).toList();
}
}
}