oms出入库;

This commit is contained in:
王奎兴
2026-04-17 08:59:16 +08:00
parent ce6d42ce61
commit ddc1f5d2ea
10 changed files with 430 additions and 18 deletions
@@ -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模板结构:
@@ -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
@@ -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());
}
}
@@ -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()