差异过账结果推送oms;
This commit is contained in:
+162
@@ -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<DifferentManageMapper, Diff
|
||||
@Autowired
|
||||
private IMaterialInventoryService materialInventoryService;
|
||||
|
||||
@Resource
|
||||
private SystemServiceFeign systemServiceFeign;
|
||||
@Autowired
|
||||
private IdGenerator idGenerator;
|
||||
@Autowired
|
||||
private OmsServiceFeign omsServiceFeign;
|
||||
@Autowired
|
||||
private IMaterialBaseInfoService materialBaseInfoService;
|
||||
|
||||
/**
|
||||
* 查询差异单列表
|
||||
*/
|
||||
@@ -204,9 +224,151 @@ public class DifferentManageImpl extends ServiceImpl<DifferentManageMapper, Diff
|
||||
InventoryAdjustmentRecord(e);
|
||||
materialInventoryMapper.updateMaterial(JSONUtil.toBean(JSONUtil.toJsonStr(materialInventory), MaterialInventoryDO.class));
|
||||
});
|
||||
//盘点结果推送oms
|
||||
pushOms(differentManage);
|
||||
return true;
|
||||
}
|
||||
|
||||
public void pushOms(DifferentManage differentManage) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
UserPo userPo = loginUser.getUserPo();
|
||||
String investigationNumber = differentManage.getInvestigationNumber();
|
||||
// Long investigationManageId = investigationManageUpdate.getInvestigationManageId();
|
||||
// InvestigationManage investigationManage = investigationManageMapper.selectById(investigationManageId);
|
||||
// String investigationNumber = investigationManage.getInvestigationNumber();
|
||||
List<InvestigetionManageDetail> investigetionManageDetails = investigetionManageDetailMapper.selectList(new QueryWrapper<InvestigetionManageDetail>().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){
|
||||
//库存调整记录
|
||||
|
||||
+1
-1
@@ -415,7 +415,7 @@ public class InvestigationManageImpl extends ServiceImpl<InvestigationManageMapp
|
||||
investigationManageUpdate.setUpdateTime(new Date());
|
||||
investigationManageUpdate.setUpdateByName(userRealName);
|
||||
investigationManageUpdate.setDifferentNumber(differentNumber);
|
||||
pushOms(investigationManageUpdate);
|
||||
//pushOms(investigationManageUpdate);
|
||||
return this.updateById(investigationManageUpdate);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user