导入物料BUG修改
This commit is contained in:
@@ -7,12 +7,14 @@ import org.springframework.boot.SpringApplication;
|
|||||||
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
import org.springframework.boot.autoconfigure.SpringBootApplication;
|
||||||
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
|
||||||
import org.springframework.context.annotation.ComponentScan;
|
import org.springframework.context.annotation.ComponentScan;
|
||||||
|
import org.springframework.scheduling.annotation.EnableAsync;
|
||||||
|
|
||||||
@SpringBootApplication
|
@SpringBootApplication
|
||||||
@EnableRyFeignClients
|
@EnableRyFeignClients
|
||||||
@EnableDiscoveryClient
|
@EnableDiscoveryClient
|
||||||
@MapperScan("com.mhd.wms.domain.**.mapper")
|
@MapperScan("com.mhd.wms.domain.**.mapper")
|
||||||
@EnableMethodCache(basePackages = "com.mhd.platform.domain.**.cache")
|
@EnableMethodCache(basePackages = "com.mhd.platform.domain.**.cache")
|
||||||
|
@EnableAsync
|
||||||
@ComponentScan(basePackages = {
|
@ComponentScan(basePackages = {
|
||||||
"com.mhd.wms",
|
"com.mhd.wms",
|
||||||
"com.mhd.system.api.factory"
|
"com.mhd.system.api.factory"
|
||||||
|
|||||||
+26
-10
@@ -16,6 +16,8 @@ import com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo;
|
|||||||
import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoService;
|
import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoService;
|
||||||
import com.mhd.wms.domain.materialBaseInfo.repository.mapper.MaterialBaseInfoMapper;
|
import com.mhd.wms.domain.materialBaseInfo.repository.mapper.MaterialBaseInfoMapper;
|
||||||
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
|
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
|
||||||
|
import com.mhd.wms.domain.materialBaseInfo.service.MaterialBaseInfoDomainService;
|
||||||
|
import com.mhd.wms.domain.materialGoodsRule.service.MaterialGoodsRuleDomainService;
|
||||||
import com.mhd.wms.domain.materialCommon.service.MaterialCommonDomainService;
|
import com.mhd.wms.domain.materialCommon.service.MaterialCommonDomainService;
|
||||||
import com.mhd.wms.domain.materialCommon.repository.todo.MaterialCommonDO;
|
import com.mhd.wms.domain.materialCommon.repository.todo.MaterialCommonDO;
|
||||||
import com.mhd.wms.domain.materialInventoryWarning.service.MaterialInventoryWarningDomainService;
|
import com.mhd.wms.domain.materialInventoryWarning.service.MaterialInventoryWarningDomainService;
|
||||||
@@ -61,6 +63,10 @@ public class MaterialBaseInfoAsyncService {
|
|||||||
private MaterialInventoryWarningDomainService materialInventoryWarningDomainService;
|
private MaterialInventoryWarningDomainService materialInventoryWarningDomainService;
|
||||||
@Autowired
|
@Autowired
|
||||||
private MaterialBarCodeDomainService materialBarCodeDomainService;
|
private MaterialBarCodeDomainService materialBarCodeDomainService;
|
||||||
|
@Autowired
|
||||||
|
private MaterialBaseInfoDomainService materialBaseInfoDomainService;
|
||||||
|
@Autowired
|
||||||
|
private com.mhd.wms.domain.materialGoodsRule.service.MaterialGoodsRuleDomainService materialGoodsRuleDomainService;
|
||||||
|
|
||||||
@Async
|
@Async
|
||||||
public void doImportData(File tmpFile, String fileName, LoginUser loginUser) {
|
public void doImportData(File tmpFile, String fileName, LoginUser loginUser) {
|
||||||
@@ -191,21 +197,37 @@ public class MaterialBaseInfoAsyncService {
|
|||||||
materialBaseInfoDO.setMaterialCommon(null);
|
materialBaseInfoDO.setMaterialCommon(null);
|
||||||
materialBaseInfoDO.setMaterialWarehouseControl(null);
|
materialBaseInfoDO.setMaterialWarehouseControl(null);
|
||||||
materialBaseInfoDO.setMaterialBarCodeList(buildImportBarCodeList(row));
|
materialBaseInfoDO.setMaterialBarCodeList(buildImportBarCodeList(row));
|
||||||
// 直接调用 insert,通过自身注入的 materialBaseInfoService
|
// 补全创建人信息(异步线程没有 SecurityContext,用 loginUser)
|
||||||
materialBaseInfoService.save(convertToEntity(materialBaseInfoDO));
|
if (loginUser != null) {
|
||||||
Long materialBaseInfoId = materialBaseInfoDO.getMaterialBaseInfoId();
|
materialBaseInfoDO.setCreateBy(loginUser.getUserid());
|
||||||
|
materialBaseInfoDO.setCreateByName(loginUser.getUsername());
|
||||||
|
}
|
||||||
|
materialBaseInfoDO.setCreateTime(new Date());
|
||||||
|
materialBaseInfoDO.setDelFlag(1);
|
||||||
|
// 通过 domainService 插入,获取自增 ID
|
||||||
|
Long materialBaseInfoId = materialBaseInfoDomainService.insert(materialBaseInfoDO);
|
||||||
|
materialBaseInfoDO.setMaterialBaseInfoId(materialBaseInfoId);
|
||||||
|
// 商品规则
|
||||||
|
com.mhd.wms.domain.materialGoodsRule.repository.todo.MaterialGoodsRuleDO goodsRule = materialBaseInfoDO.getMaterialGoodsRule();
|
||||||
|
if (goodsRule != null) {
|
||||||
|
goodsRule.setMaterialBaseInfoId(materialBaseInfoId);
|
||||||
|
materialGoodsRuleDomainService.insert(goodsRule);
|
||||||
|
}
|
||||||
|
// 公共信息
|
||||||
MaterialCommonDO materialCommonDO = materialBaseInfoDO.getMaterialCommon();
|
MaterialCommonDO materialCommonDO = materialBaseInfoDO.getMaterialCommon();
|
||||||
if (materialCommonDO != null) {
|
if (materialCommonDO != null) {
|
||||||
materialCommonDO.setMaterialBaseInfoId(materialBaseInfoId);
|
materialCommonDO.setMaterialBaseInfoId(materialBaseInfoId);
|
||||||
materialCommonDomainService.insert(materialCommonDO);
|
materialCommonDomainService.insert(materialCommonDO);
|
||||||
}
|
}
|
||||||
|
// 仓库控制信息
|
||||||
MaterialWarehouseControlDO materialWarehouseControlDO = materialBaseInfoDO.getMaterialWarehouseControl();
|
MaterialWarehouseControlDO materialWarehouseControlDO = materialBaseInfoDO.getMaterialWarehouseControl();
|
||||||
if (materialWarehouseControlDO != null) {
|
if (materialWarehouseControlDO != null) {
|
||||||
materialWarehouseControlDO.setMaterialBaseInfoId(materialBaseInfoId);
|
materialWarehouseControlDO.setMaterialBaseInfoId(materialBaseInfoId);
|
||||||
materialWarehouseControlDomainService.insert(materialWarehouseControlDO);
|
materialWarehouseControlDomainService.insert(materialWarehouseControlDO);
|
||||||
}
|
}
|
||||||
|
// 库存预警
|
||||||
materialInventoryWarningDomainService.batchInsertOrUpdate(materialBaseInfoDO);
|
materialInventoryWarningDomainService.batchInsertOrUpdate(materialBaseInfoDO);
|
||||||
|
// 条码信息
|
||||||
materialBarCodeDomainService.batchInsertOrUpdate(materialBaseInfoDO);
|
materialBarCodeDomainService.batchInsertOrUpdate(materialBaseInfoDO);
|
||||||
successCount++;
|
successCount++;
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
@@ -235,12 +257,6 @@ public class MaterialBaseInfoAsyncService {
|
|||||||
|
|
||||||
// ====== 以下方法从 MaterialBaseInfoApplicationService 复制,避免循环依赖 ======
|
// ====== 以下方法从 MaterialBaseInfoApplicationService 复制,避免循环依赖 ======
|
||||||
|
|
||||||
private MaterialBaseInfo convertToEntity(MaterialBaseInfoDO materialBaseInfoDO) {
|
|
||||||
com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo entity = new com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo();
|
|
||||||
BeanUtils.copyProperties(materialBaseInfoDO, entity);
|
|
||||||
return entity;
|
|
||||||
}
|
|
||||||
|
|
||||||
private void normalizeImportBarCodeWhenDuplicateOfHs(MaterialBaseInfoDTO row) {
|
private void normalizeImportBarCodeWhenDuplicateOfHs(MaterialBaseInfoDTO row) {
|
||||||
if (row == null || StringUtils.isBlank(row.getBarCode())) {
|
if (row == null || StringUtils.isBlank(row.getBarCode())) {
|
||||||
return;
|
return;
|
||||||
|
|||||||
Reference in New Issue
Block a user