oms出入库;
This commit is contained in:
@@ -0,0 +1,36 @@
|
||||
package com.mhd.system.api;
|
||||
|
||||
import com.mhd.common.core.constant.ServiceNameConstants;
|
||||
import com.mhd.common.core.web.domain.AjaxResult;
|
||||
import com.mhd.system.api.domain.InMaterialDetail;
|
||||
import com.mhd.system.api.domain.OutMaterialDetail;
|
||||
import com.mhd.system.api.domain.StockInOrder;
|
||||
import com.mhd.system.api.domain.StockOutOrder;
|
||||
import com.mhd.system.api.factory.RemoteBmsFeignFallbackFactory;
|
||||
import com.mhd.system.api.feign.FeignAutoConfiguration;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.cloud.openfeign.FeignClient;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
|
||||
@FeignClient(contextId = "OmsService", value = ServiceNameConstants.OMS_SERVICE, fallbackFactory = RemoteBmsFeignFallbackFactory.class, configuration = FeignAutoConfiguration.class)
|
||||
public interface OmsServiceFeign {
|
||||
|
||||
|
||||
@ApiOperation("wms推送入库单")
|
||||
@PostMapping(value = "/reservationStockInOrderApi/pushInOrder")
|
||||
public AjaxResult pushInOrder(@RequestBody StockInOrder stockInOrder);
|
||||
|
||||
@ApiOperation("wms推送入库单明细")
|
||||
@PostMapping(value = "/reservationStockInOrderApi/pushInOrderDetail")
|
||||
public AjaxResult pushInOrderDetail(@RequestBody InMaterialDetail inMaterialDetail);
|
||||
|
||||
|
||||
@ApiOperation("wms推送入库单")
|
||||
@PostMapping(value = "/reservationStockOutOrderApi/pushOutOrder")
|
||||
public AjaxResult pushOutOrder(@RequestBody StockOutOrder stockOutOrder);
|
||||
|
||||
@ApiOperation("wms推送入库单明细")
|
||||
@PostMapping(value = "/reservationStockOutOrderApi/pushOutOrderDetail")
|
||||
public AjaxResult pushOutOrderDetail(@RequestBody OutMaterialDetail outMaterialDetail);
|
||||
}
|
||||
+4
-1
@@ -60,6 +60,9 @@ public class ServiceNameConstants
|
||||
//BMS结算系统
|
||||
public static final String BMS_SERVICE = "mhd-bms-service";
|
||||
|
||||
//OMS结算系统
|
||||
public static final String OMS_SERVICE = "mhd-oms-service";
|
||||
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
+10
@@ -14,6 +14,8 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.po.ReservationStock
|
||||
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDO;
|
||||
import com.mhd.system.api.SystemServiceFeign;
|
||||
import com.mhd.system.api.UserServiceFeign;
|
||||
import com.mhd.system.api.domain.InMaterialDetail;
|
||||
import com.mhd.system.api.domain.StockInOrder;
|
||||
import com.mhd.system.api.domain.SysDictData;
|
||||
import com.mhd.system.api.domain.WarehouseFeignPO;
|
||||
import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
|
||||
@@ -300,6 +302,14 @@ public class ReservationStockInOrderApplicationService {
|
||||
return stockInOrderDomainService.closeOrder(stockInOrderDO);
|
||||
}
|
||||
|
||||
public Boolean pushInOrder(StockInOrder stockInOrderDO){
|
||||
return stockInOrderDomainService.pushInOrder(stockInOrderDO);
|
||||
}
|
||||
|
||||
public Boolean pushInOrderDetail(InMaterialDetail inMaterialDetail){
|
||||
return stockInOrderDomainService.pushInOrderDetail(inMaterialDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 导入入库单(根据Excel模板:表头在第1-12行,明细表从第13行开始)
|
||||
* Excel模板结构:
|
||||
|
||||
+16
-1
@@ -376,7 +376,9 @@ public class ReservationStockInOrderDomainService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean auditState(ReservationStockInOrderDO stockInOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
|
||||
Integer auditStatus = stockInOrderDO.getAuditStatus();
|
||||
Integer issueStatus = 0;
|
||||
issueStatus = auditStatus == 2 ? 2 : 3;
|
||||
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
|
||||
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||
? loginUser.getUserPo().getUserName()
|
||||
@@ -388,6 +390,7 @@ public class ReservationStockInOrderDomainService {
|
||||
.set(ReservationStockInOrder::getUpdateBy, loginUser.getUserid())
|
||||
.set(ReservationStockInOrder::getUpdateByName, userRealName)
|
||||
.set(ReservationStockInOrder::getUpdateTime, new Date())
|
||||
.set(ReservationStockInOrder::getAuditStatus, issueStatus)
|
||||
.in(ReservationStockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
||||
}
|
||||
|
||||
@@ -511,6 +514,18 @@ public class ReservationStockInOrderDomainService {
|
||||
.in(ReservationStockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
||||
}
|
||||
|
||||
public Boolean pushInOrder(StockInOrder stockInOrder) {
|
||||
ReservationStockInOrder reservationStockInOrder = new ReservationStockInOrder();
|
||||
BeanUtils.copyProperties(stockInOrder, reservationStockInOrder);
|
||||
return stockInOrderService.save(reservationStockInOrder);
|
||||
}
|
||||
|
||||
public Boolean pushInOrderDetail(InMaterialDetail inMaterialDetail) {
|
||||
ReservationInMaterialDetail reservationInMaterialDetail = new ReservationInMaterialDetail();
|
||||
BeanUtils.copyProperties(inMaterialDetail, reservationInMaterialDetail);
|
||||
return materialDetailService.save(reservationInMaterialDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 审核通过生成收货单
|
||||
* @author ZhouGY
|
||||
|
||||
+16
-13
@@ -210,7 +210,7 @@ public class ReservationStockOutOrderApplicationService {
|
||||
//设置货主信息
|
||||
shipperParam(stockOutOrderDO);
|
||||
//设置客户信息
|
||||
customerParam(stockOutOrderDO);
|
||||
//customerParam(stockOutOrderDO);
|
||||
stockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku");
|
||||
stockOutOrderDO.setOrderTypeName("普通出库");
|
||||
//设置数据字典键值
|
||||
@@ -232,6 +232,15 @@ public class ReservationStockOutOrderApplicationService {
|
||||
return stockOutOrderDomainService.close(stockOutOrderDO);
|
||||
}
|
||||
|
||||
|
||||
public Boolean pushOutOrder(StockOutOrder stockOutOrderDO){
|
||||
return stockOutOrderDomainService.pushOutOrder(stockOutOrderDO);
|
||||
}
|
||||
|
||||
public Boolean pushOutOrderDetail(OutMaterialDetail outMaterialDetail){
|
||||
return stockOutOrderDomainService.pushOutOrderDetail(outMaterialDetail);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量删除出库单
|
||||
*/
|
||||
@@ -826,18 +835,9 @@ public class ReservationStockOutOrderApplicationService {
|
||||
* @param stockOutOrderDO
|
||||
*/
|
||||
private void shipperParam(ReservationStockOutOrderDO stockOutOrderDO){
|
||||
String customerName = stockOutOrderDO.getCustomerName();
|
||||
if (customerName == null || !customerName.matches("\\d+")) {
|
||||
AjaxResult ajaxResult = userServiceFeign.getInfoByName(customerName);
|
||||
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
|
||||
throw new ServiceException("获取客户信息失败");
|
||||
}
|
||||
UserPo userPo = JSON.parseObject(JSONObject.toJSONString(ajaxResult.get("data")), UserPo.class);
|
||||
stockOutOrderDO.setShipperId(userPo.getUserId());
|
||||
stockOutOrderDO.setShipperCode(userPo.getUserMemberCode());
|
||||
stockOutOrderDO.setShipperName(userPo.getUserName());
|
||||
} else {
|
||||
AjaxResult ajaxResult = userServiceFeign.getInfo(Long.valueOf(customerName));
|
||||
Long shipperId = stockOutOrderDO.getShipperId();
|
||||
if (shipperId != null ) {
|
||||
AjaxResult ajaxResult = userServiceFeign.getInfo(Long.valueOf(shipperId));
|
||||
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
|
||||
throw new ServiceException("获取货主信息失败");
|
||||
}
|
||||
@@ -845,6 +845,9 @@ public class ReservationStockOutOrderApplicationService {
|
||||
stockOutOrderDO.setShipperId(userPo.getUserId());
|
||||
stockOutOrderDO.setShipperCode(userPo.getUserMemberCode());
|
||||
stockOutOrderDO.setShipperName(userPo.getUserName());
|
||||
stockOutOrderDO.setCustomerId(userPo.getUserId());
|
||||
stockOutOrderDO.setCustomerCode(userPo.getUserMemberCode());
|
||||
stockOutOrderDO.setCustomerName(userPo.getUserName());
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+17
-2
@@ -201,6 +201,19 @@ public class ReservationStockOutOrderDomainService {
|
||||
}
|
||||
|
||||
|
||||
public Boolean pushOutOrder(StockOutOrder stockOutOrder) {
|
||||
ReservationStockOutOrder reservationStockOutOrder = new ReservationStockOutOrder();
|
||||
BeanUtils.copyProperties(stockOutOrder, reservationStockOutOrder);
|
||||
return stockOutOrderService.save(reservationStockOutOrder);
|
||||
}
|
||||
|
||||
public Boolean pushOutOrderDetail(OutMaterialDetail outMaterialDetail) {
|
||||
ReservationOutMaterialDetail reservationOutMaterialDetail = new ReservationOutMaterialDetail();
|
||||
BeanUtils.copyProperties(outMaterialDetail, reservationOutMaterialDetail);
|
||||
return outMaterialDetailService.save(reservationOutMaterialDetail);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @description 审核出库单
|
||||
* @author ZhouGY
|
||||
@@ -211,7 +224,9 @@ public class ReservationStockOutOrderDomainService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean auditState(ReservationStockOutOrderDO stockOutOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
|
||||
Integer auditStatus = stockOutOrderDO.getAuditStatus();
|
||||
Integer issueStatus = 0;
|
||||
issueStatus = auditStatus == 2 ? 2 : 3;
|
||||
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
|
||||
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||
? loginUser.getUserPo().getUserName()
|
||||
@@ -223,6 +238,7 @@ public class ReservationStockOutOrderDomainService {
|
||||
.set(ReservationStockOutOrder::getUpdateBy, loginUser.getUserid())
|
||||
.set(ReservationStockOutOrder::getUpdateByName, userRealName)
|
||||
.set(ReservationStockOutOrder::getUpdateTime, new Date())
|
||||
.set(ReservationStockOutOrder::getIssueStatus, issueStatus)
|
||||
.in(ReservationStockOutOrder::getOutOrderId, stockOutOrderDO.getOutOrderIds()));
|
||||
}
|
||||
|
||||
@@ -236,7 +252,6 @@ public class ReservationStockOutOrderDomainService {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean issueOrder(ReservationStockOutOrderDO stockOutOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
|
||||
// 获取用户姓名(优先从UserPo获取,如果为空则使用realname,最后使用username作为兜底)
|
||||
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||
? loginUser.getUserPo().getUserName()
|
||||
|
||||
+17
@@ -13,6 +13,10 @@ import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationSt
|
||||
import com.mhd.oms.domain.reservationStockOutOrder.repository.todo.ReservationStockOutOrderDTO;
|
||||
import com.mhd.oms.domain.reservationStockOutOrder.service.ReservationStockOutOrderApplicationService;
|
||||
import com.mhd.oms.domain.reservationStockOutOrder.service.ReservationStockOutOrderAssembler;
|
||||
import com.mhd.system.api.domain.InMaterialDetail;
|
||||
import com.mhd.system.api.domain.OutMaterialDetail;
|
||||
import com.mhd.system.api.domain.StockInOrder;
|
||||
import com.mhd.system.api.domain.StockOutOrder;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -176,4 +180,17 @@ public class ReservationStockOutOrderApi extends BaseController {
|
||||
return toAjax(stockOutOrderApplicationService.close(stockOutOrderDO));
|
||||
}
|
||||
|
||||
|
||||
@ApiOperation("wms推送入库单")
|
||||
@PostMapping(value = "/pushOutOrder")
|
||||
public AjaxResult pushOutOrder(@RequestBody StockOutOrder stockOutOrder) {
|
||||
return AjaxResult.success(stockOutOrderApplicationService.pushOutOrder(stockOutOrder));
|
||||
}
|
||||
|
||||
@ApiOperation("wms推送入库单明细")
|
||||
@PostMapping(value = "/pushOutOrderDetail")
|
||||
public AjaxResult pushOutOrderDetail(@RequestBody OutMaterialDetail outMaterialDetail) {
|
||||
return AjaxResult.success(stockOutOrderApplicationService.pushOutOrderDetail(outMaterialDetail));
|
||||
}
|
||||
|
||||
}
|
||||
+14
@@ -8,6 +8,8 @@ import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationSto
|
||||
import com.mhd.oms.domain.reservationStockInOrder.repository.todo.ReservationStockInOrderDTO;
|
||||
import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderApplicationService;
|
||||
import com.mhd.oms.domain.reservationStockInOrder.service.ReservationStockInOrderAssembler;
|
||||
import com.mhd.system.api.domain.InMaterialDetail;
|
||||
import com.mhd.system.api.domain.StockInOrder;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
@@ -148,4 +150,16 @@ public class ReservationStockInOrderApi extends BaseController {
|
||||
return AjaxResult.success(stockInOrderApplicationService.closeOrder(stockInOrderDO));
|
||||
}
|
||||
|
||||
@ApiOperation("wms推送入库单")
|
||||
@PostMapping(value = "/pushInOrder")
|
||||
public AjaxResult pushInOrder(@RequestBody StockInOrder stockInOrder) {
|
||||
return AjaxResult.success(stockInOrderApplicationService.pushInOrder(stockInOrder));
|
||||
}
|
||||
|
||||
@ApiOperation("wms推送入库单明细")
|
||||
@PostMapping(value = "/pushInOrderDetail")
|
||||
public AjaxResult pushInOrderDetail(@RequestBody InMaterialDetail inMaterialDetail) {
|
||||
return AjaxResult.success(stockInOrderApplicationService.pushInOrderDetail(inMaterialDetail));
|
||||
}
|
||||
|
||||
}
|
||||
+147
-1
@@ -3,8 +3,16 @@ package com.mhd.wms.domain.inventoryAdjustmentRecord.service;
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.aliyun.oss.ServiceException;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||
import com.mhd.common.core.domain.po.UserPo;
|
||||
import com.mhd.common.core.utils.OrderSequence;
|
||||
import com.mhd.common.core.utils.uuid.IdGenerator;
|
||||
import com.mhd.common.core.web.domain.BaseVOEntity;
|
||||
import com.mhd.common.security.utils.SecurityUtils;
|
||||
import com.mhd.system.api.OmsServiceFeign;
|
||||
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.inventoryAdjustmentRecord.repository.facade.IInventoryAdjustmentRecordService;
|
||||
import com.mhd.wms.domain.inventoryAdjustmentRecord.repository.po.InventoryAdjustmentRecordPO;
|
||||
@@ -16,6 +24,7 @@ import com.mhd.wms.domain.materialBaseInfo.repository.facade.IMaterialBaseInfoSe
|
||||
import com.mhd.wms.domain.materialInventory.entity.MaterialInventory;
|
||||
import com.mhd.wms.domain.materialInventory.repository.facade.IMaterialInventoryService;
|
||||
import com.mhd.wms.domain.materialInventory.repository.todo.MaterialInventoryParamDO;
|
||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -45,6 +54,11 @@ public class InventoryAdjustmentRecordDomainService {
|
||||
private IMaterialBaseInfoService materialBaseInfoService;
|
||||
@Autowired
|
||||
private IInventoryStandingDetailService inventoryStandingDetailService;
|
||||
@Autowired
|
||||
private IdGenerator idGenerator;
|
||||
@Autowired
|
||||
private OmsServiceFeign omsServiceFeign;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
@@ -215,8 +229,140 @@ public class InventoryAdjustmentRecordDomainService {
|
||||
if (ObjectUtil.isNotNull(materialInventory)){
|
||||
genInventoryStandingDetail(materialInventory, inventoryAdjustmentRecordDO.getAdjustQuantity());
|
||||
}
|
||||
|
||||
|
||||
materialInventoryService.updateById(materialInventory);
|
||||
return inventoryAdjustmentRecordService.insert(inventoryAdjustmentRecord);
|
||||
Boolean insert = inventoryAdjustmentRecordService.insert(inventoryAdjustmentRecord);
|
||||
//推送oms库存调整记录
|
||||
pushOms(materialInventory, inventoryAdjustmentRecordDO);
|
||||
return insert;
|
||||
}
|
||||
|
||||
|
||||
private void pushOms(MaterialInventory materialInventory,InventoryAdjustmentRecordDO inventoryAdjustmentRecordDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
UserPo userPo = loginUser.getUserPo();
|
||||
MaterialBaseInfo materialBaseInfo = materialBaseInfoService.getById(materialInventory.getMaterialBaseInfoId());
|
||||
Long adjustDirection = inventoryAdjustmentRecordDO.getAdjustDirection();
|
||||
if (adjustDirection == 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("ku_cun_tiao_zheng");
|
||||
stockInOrder.setOrderTypeName("库存调整");
|
||||
|
||||
//货主信息
|
||||
stockInOrder.setShipperId(materialInventory.getShipperId());
|
||||
stockInOrder.setShipperCode(materialInventory.getShipperCode());
|
||||
stockInOrder.setShipperName(materialInventory.getShipperName());
|
||||
//仓库信息
|
||||
stockInOrder.setWarehouseId(materialInventory.getWarehouseId());
|
||||
stockInOrder.setWarehouseCode(materialInventory.getWarehouseCode());
|
||||
stockInOrder.setWarehouseName(materialInventory.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(inventoryAdjustmentRecordDO.getAdjustQuantity());
|
||||
|
||||
//物料信息
|
||||
inMaterialDetail.setMaterialBaseInfoId(materialInventory.getMaterialBaseInfoId());
|
||||
inMaterialDetail.setMaterialCode(inventoryAdjustmentRecordDO.getMaterialCode());
|
||||
inMaterialDetail.setMaterialName(inventoryAdjustmentRecordDO.getMaterialName());
|
||||
inMaterialDetail.setBarCode(materialInventory.getBarCode());
|
||||
//仓库信息
|
||||
inMaterialDetail.setWarehouseId(materialInventory.getWarehouseId());
|
||||
inMaterialDetail.setWarehouseCode(materialInventory.getWarehouseCode());
|
||||
inMaterialDetail.setWarehouseName(materialInventory.getWarehouseName());
|
||||
//库区信息
|
||||
inMaterialDetail.setStorageSectionId(materialInventory.getStorageSectionId());
|
||||
inMaterialDetail.setStorageCode(materialInventory.getStorageCode());
|
||||
inMaterialDetail.setStorageName(materialInventory.getStorageName());
|
||||
//库位信息
|
||||
inMaterialDetail.setStorageLocationId(materialInventory.getStorageLocationId());
|
||||
inMaterialDetail.setStorageLocationCode(materialInventory.getStorageLocationCode());
|
||||
inMaterialDetail.setStorageLocationName(materialInventory.getStorageLocationName());
|
||||
omsServiceFeign.pushInOrder(stockInOrder);
|
||||
omsServiceFeign.pushInOrderDetail(inMaterialDetail);
|
||||
} else {
|
||||
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("ku_cun_tiao_zheng");
|
||||
stockOutOrder.setOrderTypeName("库存调整");
|
||||
|
||||
//货主信息
|
||||
stockOutOrder.setShipperId(materialInventory.getShipperId());
|
||||
stockOutOrder.setShipperCode(materialInventory.getShipperCode());
|
||||
stockOutOrder.setShipperName(materialInventory.getShipperName());
|
||||
//仓库信息
|
||||
stockOutOrder.setWarehouseId(materialInventory.getWarehouseId());
|
||||
stockOutOrder.setWarehouseCode(materialInventory.getWarehouseCode());
|
||||
stockOutOrder.setWarehouseName(materialInventory.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(inventoryAdjustmentRecordDO.getAdjustQuantity());
|
||||
|
||||
//物料信息
|
||||
outMaterialDetail.setMaterialBaseInfoId(materialInventory.getMaterialBaseInfoId());
|
||||
outMaterialDetail.setMaterialCode(inventoryAdjustmentRecordDO.getMaterialCode());
|
||||
outMaterialDetail.setMaterialName(inventoryAdjustmentRecordDO.getMaterialName());
|
||||
outMaterialDetail.setBarCode(materialInventory.getBarCode());
|
||||
//仓库信息
|
||||
outMaterialDetail.setWarehouseId(materialInventory.getWarehouseId());
|
||||
outMaterialDetail.setWarehouseCode(materialInventory.getWarehouseCode());
|
||||
outMaterialDetail.setWarehouseName(materialInventory.getWarehouseName());
|
||||
//库区信息
|
||||
outMaterialDetail.setStorageSectionId(materialInventory.getStorageSectionId());
|
||||
outMaterialDetail.setStorageCode(materialInventory.getStorageCode());
|
||||
outMaterialDetail.setStorageName(materialInventory.getStorageName());
|
||||
//库位信息
|
||||
outMaterialDetail.setStorageLocationId(materialInventory.getStorageLocationId());
|
||||
outMaterialDetail.setStorageLocationCode(materialInventory.getStorageLocationCode());
|
||||
outMaterialDetail.setStorageLocationName(materialInventory.getStorageLocationName());
|
||||
omsServiceFeign.pushOutOrder(stockOutOrder);
|
||||
omsServiceFeign.pushOutOrderDetail(outMaterialDetail);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
||||
+153
@@ -9,12 +9,19 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
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.core.web.domain.AjaxResult;
|
||||
import com.mhd.common.security.utils.SecurityUtils;
|
||||
import com.mhd.system.api.OmsServiceFeign;
|
||||
import com.mhd.system.api.SystemServiceFeign;
|
||||
import com.mhd.system.api.UserServiceFeign;
|
||||
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.domain.WarehouseFeignPO;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskTypeService;
|
||||
@@ -33,6 +40,9 @@ import com.mhd.wms.domain.investigetionManageDetail.repository.facade.IInvestige
|
||||
import com.mhd.wms.domain.investigetionManageDetail.repository.mapper.InvestigetionManageDetailMapper;
|
||||
import com.mhd.wms.domain.investigetionManageDetail.repository.po.InvestigetionManageDetailPO;
|
||||
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 org.springframework.beans.BeanUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
@@ -77,6 +87,12 @@ public class InvestigationManageImpl extends ServiceImpl<InvestigationManageMapp
|
||||
|
||||
@Resource
|
||||
private SystemServiceFeign systemServiceFeign;
|
||||
@Autowired
|
||||
private IdGenerator idGenerator;
|
||||
@Autowired
|
||||
private OmsServiceFeign omsServiceFeign;
|
||||
@Autowired
|
||||
private IMaterialBaseInfoService materialBaseInfoService;
|
||||
|
||||
/**
|
||||
* 查询盘点管理列表
|
||||
@@ -402,6 +418,143 @@ public class InvestigationManageImpl extends ServiceImpl<InvestigationManageMapp
|
||||
return this.updateById(investigationManageUpdate);
|
||||
}
|
||||
|
||||
public void pushOms(InvestigationManage investigationManageUpdate) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
UserPo userPo = loginUser.getUserPo();
|
||||
String investigationNumber = investigationManageUpdate.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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @description 生成盘点追溯记录
|
||||
* @author ZhouGY
|
||||
|
||||
Reference in New Issue
Block a user