diff --git a/mhd_wms/src/main/java/com/mhd/wms/domain/differentManage/repository/persistence/DifferentManageImpl.java b/mhd_wms/src/main/java/com/mhd/wms/domain/differentManage/repository/persistence/DifferentManageImpl.java index cfc068ab2..559005a0b 100644 --- a/mhd_wms/src/main/java/com/mhd/wms/domain/differentManage/repository/persistence/DifferentManageImpl.java +++ b/mhd_wms/src/main/java/com/mhd/wms/domain/differentManage/repository/persistence/DifferentManageImpl.java @@ -3,9 +3,17 @@ package com.mhd.wms.domain.differentManage.repository.persistence; import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.mhd.common.core.constant.SnowFlakeConstants; import com.mhd.common.core.domain.po.UserPo; import com.mhd.common.core.exception.ServiceException; +import com.mhd.common.core.utils.OrderSequence; +import com.mhd.common.core.utils.uuid.IdGenerator; import com.mhd.common.security.utils.SecurityUtils; +import com.mhd.system.api.OmsServiceFeign; +import com.mhd.system.api.SystemServiceFeign; +import com.mhd.system.api.domain.InMaterialDetail; +import com.mhd.system.api.domain.OutMaterialDetail; +import com.mhd.system.api.domain.StockOutOrder; import com.mhd.system.api.model.LoginUser; import com.mhd.wms.domain.differentManage.entity.DifferentManage; import com.mhd.wms.domain.differentManage.repository.facade.IDifferentManageService; @@ -18,6 +26,8 @@ import com.mhd.wms.domain.investigationManage.entity.InvestigationManage; import com.mhd.wms.domain.investigetionManageDetail.entity.InvestigetionManageDetail; import com.mhd.wms.domain.investigetionManageDetail.repository.mapper.InvestigetionManageDetailMapper; import com.mhd.wms.domain.investigetionManageDetail.repository.todo.InvestigetionManageDetailDO; +import com.mhd.wms.domain.materialBaseInfo.entity.MaterialBaseInfo; +import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoService; import com.mhd.wms.domain.materialInventory.entity.MaterialInventory; import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService; import com.mhd.wms.domain.materialInventory.repository.mapper.MaterialInventoryMapper; @@ -28,6 +38,7 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import javax.annotation.Resource; import java.math.BigDecimal; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; @@ -64,6 +75,15 @@ public class DifferentManageImpl extends ServiceImpl investigetionManageDetails = investigetionManageDetailMapper.selectList(new QueryWrapper().lambda() + .eq(InvestigetionManageDetail::getInvestigationNumber, investigationNumber) + .eq(InvestigetionManageDetail::getDelFlag, 1)); + for (InvestigetionManageDetail investigetionManageDetail : investigetionManageDetails) { + Integer investigationResult = investigetionManageDetail.getInvestigationResult(); + if (investigationResult != null&&investigationResult == 1) { + //入库 + com.mhd.system.api.domain.StockInOrder stockInOrder = new com.mhd.system.api.domain.StockInOrder(); + stockInOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + stockInOrder.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + stockInOrder.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + stockInOrder.setStatus(1); + stockInOrder.setAuditStatus(1); + stockInOrder.setCreateBy(loginUser.getUserid()); + stockInOrder.setCreateByName(loginUser.getUserPo().getUserName()); + stockInOrder.setCreateTime(new Date()); + stockInOrder.setDelFlag(1); + stockInOrder.setInOrderNumber(OrderSequence.getOrderCode("RK")); + stockInOrder.setOrderTypeCode("pan_ying_ru_ku"); + stockInOrder.setOrderTypeName("盘盈入库"); + + //货主信息 + Long materialBaseInfoId = investigetionManageDetail.getMaterialBaseInfoId(); + MaterialBaseInfo materialBaseInfo = materialBaseInfoService.getById(materialBaseInfoId); + stockInOrder.setShipperId(materialBaseInfo.getShipperId()); + stockInOrder.setShipperCode(materialBaseInfo.getShipperCode()); + stockInOrder.setShipperName(materialBaseInfo.getShipperName()); + //仓库信息 + stockInOrder.setWarehouseId(investigetionManageDetail.getWarehouseId()); + stockInOrder.setWarehouseCode(investigetionManageDetail.getWarehouseCode()); + stockInOrder.setWarehouseName(investigetionManageDetail.getWarehouseName()); + + + + InMaterialDetail inMaterialDetail = new InMaterialDetail(); + //组织信息 + inMaterialDetail.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + inMaterialDetail.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + inMaterialDetail.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + + inMaterialDetail.setCreateBy(loginUser.getUserid()); + inMaterialDetail.setCreateByName(loginUser.getUserPo().getUserName()); + inMaterialDetail.setCreateTime(new Date()); + inMaterialDetail.setDelFlag(1); + inMaterialDetail.setInOrderNumber(stockInOrder.getInOrderNumber()); + inMaterialDetail.setUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId)); + inMaterialDetail.setInboundQuantity(investigetionManageDetail.getDifferentQuantity()); + + //物料信息 + inMaterialDetail.setMaterialBaseInfoId(investigetionManageDetail.getMaterialBaseInfoId()); + inMaterialDetail.setMaterialCode(investigetionManageDetail.getMaterialCode()); + inMaterialDetail.setMaterialName(investigetionManageDetail.getMaterialName()); + inMaterialDetail.setBarCode(investigetionManageDetail.getBarCode()); + //仓库信息 + inMaterialDetail.setWarehouseId(investigetionManageDetail.getWarehouseId()); + inMaterialDetail.setWarehouseCode(investigetionManageDetail.getWarehouseCode()); + inMaterialDetail.setWarehouseName(investigetionManageDetail.getWarehouseName()); + //库区信息 + inMaterialDetail.setStorageSectionId(investigetionManageDetail.getStorageSectionId()); + inMaterialDetail.setStorageCode(investigetionManageDetail.getStorageCode()); + inMaterialDetail.setStorageName(investigetionManageDetail.getStorageName()); + //库位信息 + inMaterialDetail.setStorageLocationId(investigetionManageDetail.getStorageLocationId()); + inMaterialDetail.setStorageLocationCode(investigetionManageDetail.getStorageLocationCode()); + inMaterialDetail.setStorageLocationName(investigetionManageDetail.getStorageLocationName()); + omsServiceFeign.pushInOrder(stockInOrder); + omsServiceFeign.pushInOrderDetail(inMaterialDetail); + } else if (investigationResult != null && investigationResult == 2) { + //出库 + StockOutOrder stockOutOrder = new StockOutOrder(); + stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + stockOutOrder.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + stockOutOrder.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + stockOutOrder.setStatus(1); + stockOutOrder.setAuditStatus(1); + stockOutOrder.setCreateBy(loginUser.getUserid()); + stockOutOrder.setCreateByName(loginUser.getUserPo().getUserName()); + stockOutOrder.setCreateTime(new Date()); + stockOutOrder.setDelFlag(1); + stockOutOrder.setOutOrderNumber(OrderSequence.getOrderCode("CK")); + stockOutOrder.setOrderTypeCode("pan_kun_chu_ku"); + stockOutOrder.setOrderTypeName("盘亏出库"); + + //货主信息 + Long materialBaseInfoId = investigetionManageDetail.getMaterialBaseInfoId(); + MaterialBaseInfo materialBaseInfo = materialBaseInfoService.getById(materialBaseInfoId); + stockOutOrder.setShipperId(materialBaseInfo.getShipperId()); + stockOutOrder.setShipperCode(materialBaseInfo.getShipperCode()); + stockOutOrder.setShipperName(materialBaseInfo.getShipperName()); + //仓库信息 + stockOutOrder.setWarehouseId(investigetionManageDetail.getWarehouseId()); + stockOutOrder.setWarehouseCode(investigetionManageDetail.getWarehouseCode()); + stockOutOrder.setWarehouseName(investigetionManageDetail.getWarehouseName()); + + + + OutMaterialDetail outMaterialDetail = new OutMaterialDetail(); + //组织信息 + outMaterialDetail.setOrganizationId(loginUser.getUserPo().getOrganizationId()); + outMaterialDetail.setTopOrganizationId(loginUser.getUserPo().getTopOrganizationId()); + outMaterialDetail.setOrganizationName(loginUser.getUserPo().getOrganizationName()); + + outMaterialDetail.setCreateBy(loginUser.getUserid()); + outMaterialDetail.setCreateByName(loginUser.getUserPo().getUserName()); + outMaterialDetail.setCreateTime(new Date()); + outMaterialDetail.setDelFlag(1); + outMaterialDetail.setInOrderNumber(stockOutOrder.getOutOrderNumber()); + outMaterialDetail.setUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId)); + outMaterialDetail.setOutboundQuantity(investigetionManageDetail.getDifferentQuantity()); + + //物料信息 + outMaterialDetail.setMaterialBaseInfoId(investigetionManageDetail.getMaterialBaseInfoId()); + outMaterialDetail.setMaterialCode(investigetionManageDetail.getMaterialCode()); + outMaterialDetail.setMaterialName(investigetionManageDetail.getMaterialName()); + outMaterialDetail.setBarCode(investigetionManageDetail.getBarCode()); + //仓库信息 + outMaterialDetail.setWarehouseId(investigetionManageDetail.getWarehouseId()); + outMaterialDetail.setWarehouseCode(investigetionManageDetail.getWarehouseCode()); + outMaterialDetail.setWarehouseName(investigetionManageDetail.getWarehouseName()); + //库区信息 + outMaterialDetail.setStorageSectionId(investigetionManageDetail.getStorageSectionId()); + outMaterialDetail.setStorageCode(investigetionManageDetail.getStorageCode()); + outMaterialDetail.setStorageName(investigetionManageDetail.getStorageName()); + //库位信息 + outMaterialDetail.setStorageLocationId(investigetionManageDetail.getStorageLocationId()); + outMaterialDetail.setStorageLocationCode(investigetionManageDetail.getStorageLocationCode()); + outMaterialDetail.setStorageLocationName(investigetionManageDetail.getStorageLocationName()); + omsServiceFeign.pushOutOrder(stockOutOrder); + omsServiceFeign.pushOutOrderDetail(outMaterialDetail); + } + } + } + private void InventoryAdjustmentRecord(InvestigetionManageDetailDO investigetionManageDetailDO){ //库存调整记录 @@ -293,4 +455,4 @@ public class DifferentManageImpl extends ServiceImpl