Merge branch 'dev' into dev_jinji
This commit is contained in:
+190
-18
@@ -27,6 +27,10 @@ import com.mhd.system.api.domain.WarehouseFeignPO;
|
||||
import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
|
||||
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import com.mhd.wms.application.service.stockReceiptOrder.StockReceiptOrderApplicationService;
|
||||
import com.mhd.wms.application.service.stockShelfOrder.StockShelfOrderApplicationService;
|
||||
import com.mhd.wms.domain.deliveTask.entity.DeliveTask;
|
||||
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
|
||||
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
|
||||
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
|
||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||
@@ -45,12 +49,18 @@ import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAcc
|
||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.vo.GwInDetail;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.vo.GwStockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
||||
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
|
||||
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
|
||||
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
||||
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
||||
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
|
||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||
@@ -70,6 +80,7 @@ import org.apache.poi.ss.usermodel.*;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
import org.springframework.web.bind.annotation.RequestParam;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
@@ -92,6 +103,10 @@ import java.util.stream.Collectors;
|
||||
public class StockInOrderApplicationService {
|
||||
@Autowired
|
||||
private StockInOrderDomainService stockInOrderDomainService;
|
||||
@Autowired
|
||||
private StockReceiptOrderDomainService stockReceiptOrderDomainService;
|
||||
@Autowired
|
||||
private StockShelfOrderDomainService stockShelfOrderDomainService;
|
||||
@Resource
|
||||
private UserServiceFeign userServiceFeign;
|
||||
@Resource
|
||||
@@ -109,6 +124,8 @@ public class StockInOrderApplicationService {
|
||||
@Autowired
|
||||
private IStockReceiptOrderService stockReceiptOrderService;
|
||||
@Autowired
|
||||
private IStockShelfOrderService stockShelfOrderService;
|
||||
@Autowired
|
||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||
@Autowired
|
||||
private IStockOutOrderService stockOutOrderService;
|
||||
@@ -119,7 +136,15 @@ public class StockInOrderApplicationService {
|
||||
@Autowired
|
||||
private StockOutOrderMapper stockOutOrderMapper;
|
||||
@Autowired
|
||||
private StockInOrderMapper stockInOrderMapper;
|
||||
@Autowired
|
||||
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
|
||||
@Autowired
|
||||
private StockReceiptOrderApplicationService stockReceiptOrderApplicationService;
|
||||
@Autowired
|
||||
private IDeliveTaskService deliveTaskService;
|
||||
@Autowired
|
||||
private StockShelfOrderApplicationService stockShelfOrderApplicationService;
|
||||
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
|
||||
private static final String API_NAME = "save_order_i";
|
||||
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
||||
@@ -541,31 +566,171 @@ public class StockInOrderApplicationService {
|
||||
*/
|
||||
public Boolean auditState(StockInOrderDO stockInOrderDO){
|
||||
Boolean b = stockInOrderDomainService.auditState(stockInOrderDO);
|
||||
// List<Long> inOrderIds = stockInOrderDO.getInOrderIds();
|
||||
// if (inOrderIds != null && !inOrderIds.isEmpty()) {
|
||||
// StockInOrder stockInOrder = stockInOrderService.getById(inOrderIds.get(0));
|
||||
// Integer needCustomsDeclaration = stockInOrder.getNeedCustomsDeclaration();
|
||||
// Integer auditStatus = stockInOrder.getAuditStatus();
|
||||
// try {
|
||||
// if (needCustomsDeclaration != null && needCustomsDeclaration == 1 && auditStatus != null && auditStatus == 3) {
|
||||
// Long inOrderId = stockInOrder.getInOrderId();
|
||||
// List<Long> idList = new ArrayList<>();
|
||||
// idList.add(inOrderId);
|
||||
// //batchPush(idList);
|
||||
// }
|
||||
// } catch (Exception e) {
|
||||
// throw new ServiceException("推送关务系统失败!");
|
||||
// }
|
||||
// }
|
||||
|
||||
return b;
|
||||
}
|
||||
|
||||
public Boolean receiptEasyMode(StockInOrderDO stockInOrderDO){
|
||||
Boolean b = stockInOrderDomainService.receiptEasyMode(stockInOrderDO);
|
||||
return b;
|
||||
}
|
||||
|
||||
public Boolean updateQuantity( BigDecimal quantity, Long materialDetailId,BigDecimal area,
|
||||
BigDecimal volume,BigDecimal weight){
|
||||
Boolean result = false;
|
||||
InMaterialDetail inMaterialDetail = inMaterialDetailService.getById(materialDetailId);
|
||||
if (inMaterialDetail != null) {
|
||||
inMaterialDetail.setQuantity(quantity);
|
||||
inMaterialDetail.setTotalArea(area);
|
||||
inMaterialDetail.setTotalVolume(volume);
|
||||
inMaterialDetail.setTotalNetWeight(weight);
|
||||
inMaterialDetail.setTotalGrossWeight(weight);
|
||||
boolean b = inMaterialDetailService.updateById(inMaterialDetail);
|
||||
Long uniqueId = inMaterialDetail.getUniqueId();
|
||||
ReceiptMaterialDetail one = receiptMaterialDetailService.getOne(new LambdaQueryWrapper<ReceiptMaterialDetail>()
|
||||
.eq(ReceiptMaterialDetail::getInUniqueId, uniqueId)
|
||||
.eq(ReceiptMaterialDetail::getDelFlag, 1));
|
||||
one.setQuantity(quantity);
|
||||
one.setTotalArea(area);
|
||||
one.setTotalVolume(volume);
|
||||
one.setTotalNetWeight(weight);
|
||||
one.setTotalGrossWeight(weight);
|
||||
boolean b1 = receiptMaterialDetailService.updateById(one);
|
||||
result = b && b1;
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
public Boolean shelfEasyMode(StockInOrderDO stockInOrderDO){
|
||||
Boolean b = stockInOrderDomainService.shelfEasyMode(stockInOrderDO);
|
||||
return b;
|
||||
}
|
||||
|
||||
public Boolean checkUploadEasyMode(StockInOrderDO stockInOrderDO){
|
||||
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaQueryWrapper<StockReceiptOrder>()
|
||||
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||
stockReceiptOrder.setStatus(3);
|
||||
boolean b = stockReceiptOrderService.updateById(stockReceiptOrder);
|
||||
StockShelfOrder stockShelfOrder = stockShelfOrderService.getOne(new LambdaQueryWrapper<StockShelfOrder>()
|
||||
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockShelfOrder::getDelFlag, 1), false);
|
||||
|
||||
//上架任务下发
|
||||
StockShelfOrderDO stockShelfOrderDO = new StockShelfOrderDO();
|
||||
|
||||
|
||||
//完成上架
|
||||
Boolean b1 = stockShelfOrderDomainService.completeUpShelf(stockShelfOrder.getShelfOrderId());
|
||||
|
||||
String inOrderId = stockInOrderDO.getInOrderNumber();
|
||||
StockInOrder stockInOrder = stockInOrderService.getOne(new LambdaQueryWrapper<StockInOrder>()
|
||||
.eq(StockInOrder::getInOrderNumber, inOrderId)
|
||||
.eq(StockInOrder::getDelFlag,1) ,false);
|
||||
if (stockInOrder != null) {
|
||||
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||
.eq(DeliveTask::getTrackingNumber, stockShelfOrder.getShelfOrderNumber())
|
||||
.eq(DeliveTask::getDelFlag, 1));
|
||||
if (deliveTask != null) {
|
||||
deliveTask.setOperatorsBy(stockInOrder.getWorkUserId());
|
||||
deliveTask.setOperatorsName(stockInOrder.getWorkUserName());
|
||||
deliveTask.setTaskStatus(2);
|
||||
deliveTaskService.updateById(deliveTask);
|
||||
}
|
||||
}
|
||||
|
||||
return b && b1;
|
||||
}
|
||||
|
||||
|
||||
public void omsOrderAdd(StockInOrder stockInOrder){
|
||||
// 设置任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockInOrder.getOrganizationId(), stockInOrder.getWarehouseId(), stockInOrder.getTopOrganizationId());
|
||||
stockInOrder.setTaskIssueUserId(userId);
|
||||
stockInOrderDomainService.omsOrderAdd(stockInOrder);
|
||||
}
|
||||
|
||||
public void acceptTask(StockInOrder stockInOrder){
|
||||
Long workUserId = stockInOrder.getWorkUserId();
|
||||
String workUserName = stockInOrder.getWorkUserName();
|
||||
if (workUserId == null || workUserName == null) {
|
||||
throw new ServiceException("作业人员id或名称为空!");
|
||||
}
|
||||
|
||||
//pda任务中心下发
|
||||
StockReceiptOrderDO stockReceiptOrderDO = new StockReceiptOrderDO();
|
||||
stockReceiptOrderDO.setOperatorsBy(workUserId);
|
||||
stockReceiptOrderDO.setOperatorsName(workUserName);
|
||||
Long inOrderId = stockInOrder.getInOrderId();
|
||||
StockInOrder stock = stockInOrderService.getById(inOrderId);
|
||||
String inOrderNumber = stock.getInOrderNumber();
|
||||
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaQueryWrapper<StockReceiptOrder>()
|
||||
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||
if (stockReceiptOrder == null) {
|
||||
throw new ServiceException("收货单不存在!");
|
||||
}
|
||||
List<Long> ids = new ArrayList<>();
|
||||
ids.add(stockReceiptOrder.getReceiptOrderId());
|
||||
stockReceiptOrderDO.setReceiptOrderIds(ids);
|
||||
// stockReceiptOrderApplicationService.taskDistribution(stockReceiptOrderDO);
|
||||
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||
.eq(DeliveTask::getTrackingNumber, stockReceiptOrder.getReceiptOrderNumber())
|
||||
.eq(DeliveTask::getDelFlag, 1));
|
||||
if (deliveTask != null) {
|
||||
deliveTask.setOperatorsBy(workUserId);
|
||||
deliveTask.setOperatorsName(workUserName);
|
||||
deliveTask.setTaskStatus(2);
|
||||
deliveTaskService.updateById(deliveTask);
|
||||
}
|
||||
|
||||
stockInOrderService.update(null, new LambdaUpdateWrapper<StockInOrder>()
|
||||
.set(StockInOrder::getWorkUserId, workUserId)
|
||||
.set(StockInOrder::getWorkUserName, workUserName)
|
||||
.set(StockInOrder::getWorkTaskReceiveStatus, "1")
|
||||
.eq(StockInOrder::getInOrderId, stockInOrder.getInOrderId()));
|
||||
}
|
||||
|
||||
public void removeTask(StockInOrderDO stockInOrder){
|
||||
Long inOrderId = stockInOrder.getInOrderId();
|
||||
String removeUserId = stockInOrder.getRemoveUserId();
|
||||
if (removeUserId == null) {
|
||||
throw new ServiceException("移除任务用户ID为空!");
|
||||
}
|
||||
if (inOrderId == null) {
|
||||
throw new ServiceException("入库单不存在!");
|
||||
}
|
||||
StockInOrder stock = stockInOrderService.getById(inOrderId);
|
||||
if (stock == null) {
|
||||
throw new ServiceException("入库单不存在!");
|
||||
}
|
||||
String taskIssueUserId = stock.getTaskIssueUserId();
|
||||
if (taskIssueUserId == null) {
|
||||
return;
|
||||
}
|
||||
String[] split = taskIssueUserId.split(",");
|
||||
List<String> taskIds = Arrays.asList(split);
|
||||
if (taskIds != null && taskIds.size() > 0) {
|
||||
// 删除匹配元素
|
||||
//taskIds.removeIf(str -> removeUserId.equals(str));
|
||||
taskIds = taskIds.stream()
|
||||
.filter(str -> !Objects.equals(removeUserId, str))
|
||||
.collect(Collectors.toList());
|
||||
if (taskIds != null && taskIds.size() > 0) {
|
||||
String newTaskIssueUserId = String.join(",", taskIds);
|
||||
stock.setTaskIssueUserId(newTaskIssueUserId);
|
||||
stockInOrderService.updateById(stock);
|
||||
} else {
|
||||
stockInOrderService.update(null ,new LambdaUpdateWrapper<StockInOrder>()
|
||||
.set(StockInOrder::getTaskIssueUserId, null)
|
||||
.eq(StockInOrder::getInOrderId, stockInOrder.getInOrderId()));
|
||||
}
|
||||
} else {
|
||||
throw new ServiceException("当前订单没有任务人员!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void omsOrderAddDetail(List<InMaterialDetail> inMaterialDetails){
|
||||
stockInOrderDomainService.omsOrderAddDetail(inMaterialDetails);
|
||||
}
|
||||
@@ -1795,7 +1960,10 @@ public class StockInOrderApplicationService {
|
||||
supplierParam(order);
|
||||
// 设置数据字典键值
|
||||
setDataDict(order);
|
||||
|
||||
|
||||
// 设置任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(order.getOrganizationId(), order.getWarehouseId(), order.getTopOrganizationId());
|
||||
order.setTaskIssueUserId(userId);
|
||||
orderList.add(order);
|
||||
}
|
||||
|
||||
@@ -1915,6 +2083,10 @@ public class StockInOrderApplicationService {
|
||||
if (stockInOrderDO.getWarehouseId() == null) {
|
||||
throw new ServiceException("仓库ID不能为空");
|
||||
}
|
||||
|
||||
//任务下发用户ID
|
||||
String userIds = stockInOrderMapper.queryWarehouseUserId(stockInOrderDO.getOrganizationId(), stockInOrderDO.getWarehouseId(), stockInOrderDO.getTopOrganizationId());
|
||||
stockInOrderDO.setTaskIssueUserId(userIds);
|
||||
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockInOrderDO.getWarehouseId());
|
||||
if (ajaxResult == null) {
|
||||
throw new ServiceException("获取仓库信息失败:返回结果为空,仓库ID:" + stockInOrderDO.getWarehouseId());
|
||||
|
||||
+120
-4
@@ -6,6 +6,7 @@ import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.mhd.common.core.constant.SecurityConstants;
|
||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||
import com.mhd.common.core.domain.entity.R;
|
||||
@@ -26,6 +27,8 @@ import com.mhd.system.api.domain.cache.AssociationWarehouseCacheDO;
|
||||
import com.mhd.system.api.domain.cache.SystemServiceCacheUtil;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
|
||||
import com.mhd.wms.domain.deliveTask.entity.DeliveTask;
|
||||
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
|
||||
import com.mhd.wms.domain.deliveryDetailsLink.entity.DeliveryDetailsLink;
|
||||
import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService;
|
||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||
@@ -47,9 +50,13 @@ import com.mhd.wms.domain.pickingMaterialDetail.repository.facade.IPickingMateri
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.mapper.PickingMaterialDetailMapper;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingAggByOutOrderRow;
|
||||
import com.mhd.wms.domain.pickingMaterialDetail.repository.po.PickingMaterialDetailPO;
|
||||
import com.mhd.wms.domain.pickingOrder.entity.PickingOrder;
|
||||
import com.mhd.wms.domain.pickingOrder.repository.facade.IPickingOrderService;
|
||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import com.mhd.wms.domain.receiptOrderAccount.entity.ReceiptOrderAccount;
|
||||
import com.mhd.wms.domain.receiptOrderAccount.repository.facade.IReceiptOrderAccountService;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||
@@ -109,6 +116,8 @@ public class StockOutOrderApplicationService {
|
||||
@Autowired
|
||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||
@Autowired
|
||||
private IPickingOrderService pickingOrderService;
|
||||
@Autowired
|
||||
private IReceiptOrderAccountService receiptOrderAccountService;
|
||||
@Autowired
|
||||
private IDeliveryDetailsLinkService deliveryDetailsLinkService;
|
||||
@@ -117,7 +126,11 @@ public class StockOutOrderApplicationService {
|
||||
@Autowired
|
||||
private StockOutOrderMapper stockOutOrderMapper;
|
||||
@Autowired
|
||||
private StockInOrderMapper stockInOrderMapper;
|
||||
@Autowired
|
||||
private PickingMaterialDetailMapper pickingMaterialDetailMapper;
|
||||
@Autowired
|
||||
private IDeliveTaskService deliveTaskService;
|
||||
private static final String PUSH_API_URL = "http://10.102.192.15/nagu-erp-api/transfer/pushData";
|
||||
private static final String API_NAME = "save_order_e";
|
||||
private static final String VERIFY = "ESLuxAmB6VXCgbqP1eFzxTPVRagkQ62BUkfhElrgQ6XmE/g2reHVflY/SiCSU7JD";
|
||||
@@ -294,14 +307,20 @@ public class StockOutOrderApplicationService {
|
||||
*/
|
||||
public Boolean insert(StockOutOrderDO stockOutOrderDO) {
|
||||
//设置仓库
|
||||
//setWarehouseInfo(stockOutOrderDO);
|
||||
setWarehouseInfo(stockOutOrderDO);
|
||||
//设置货主信息
|
||||
shipperParam(stockOutOrderDO);
|
||||
//设置客户信息
|
||||
customerParam(stockOutOrderDO);
|
||||
stockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku");
|
||||
stockOutOrderDO.setBusinessType("pu_tong_chu_ku");
|
||||
stockOutOrderDO.setOrderTypeName("普通出库");
|
||||
if (stockOutOrderDO.getOrderTypeCode() == null) {
|
||||
stockOutOrderDO.setOrderTypeCode("pu_tong_chu_ku");
|
||||
}
|
||||
if (stockOutOrderDO.getBusinessType() == null) {
|
||||
stockOutOrderDO.setBusinessType("pu_tong_chu_ku");
|
||||
}
|
||||
if (stockOutOrderDO.getOrderTypeName() == null) {
|
||||
stockOutOrderDO.setOrderTypeName("普通出库");
|
||||
}
|
||||
//设置数据字典键值
|
||||
//setDataDict(stockOutOrderDO);
|
||||
return stockOutOrderDomainService.insert(stockOutOrderDO);
|
||||
@@ -311,6 +330,8 @@ public class StockOutOrderApplicationService {
|
||||
* 修改出库单
|
||||
*/
|
||||
public Boolean update(StockOutOrderDO stockOutOrderDO) {
|
||||
//设置仓库
|
||||
setWarehouseInfo(stockOutOrderDO);
|
||||
return stockOutOrderDomainService.update(stockOutOrderDO);
|
||||
}
|
||||
|
||||
@@ -1128,6 +1149,28 @@ public class StockOutOrderApplicationService {
|
||||
return b;
|
||||
}
|
||||
|
||||
|
||||
public Boolean adjustPicking(StockOutOrderDO stockOutOrderDO){
|
||||
Boolean b = stockOutOrderDomainService.adjustPicking(stockOutOrderDO);
|
||||
return b;
|
||||
}
|
||||
|
||||
public Boolean checkUpload(StockOutOrderDO stockOutOrderDO){
|
||||
//pda复核下发
|
||||
// String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
|
||||
// StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
|
||||
// .eq(StockOutOrder::getOutOrderNumber, outOrderNumber)
|
||||
// .eq(StockOutOrder::getDelFlag, 1), false);
|
||||
// stockOutOrderDO.setCheckOperatorsBy(stockOutOrder.getWorkUserId());
|
||||
// List<Long> outOrderIds = new ArrayList<>();
|
||||
// outOrderIds.add(stockOutOrder.getOutOrderId());
|
||||
// stockOutOrderDO.setOutOrderIds(outOrderIds);
|
||||
// checkTaskDistribution(stockOutOrderDO);
|
||||
|
||||
Boolean b = stockOutOrderDomainService.checkUpload(stockOutOrderDO);
|
||||
return b;
|
||||
}
|
||||
|
||||
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
|
||||
Boolean b = stockOutOrderDomainService.genPickingOrderByOms(stockOutOrderDO);
|
||||
// List<Long> outOrderIds = stockOutOrderDO.getOutOrderIds();
|
||||
@@ -1354,6 +1397,9 @@ public class StockOutOrderApplicationService {
|
||||
if (stockOutOrderDO.getWarehouseId() == null) {
|
||||
throw new ServiceException("仓库ID不能为空");
|
||||
}
|
||||
// 获取任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrderDO.getOrganizationId(), stockOutOrderDO.getWarehouseId(), stockOutOrderDO.getTopOrganizationId());
|
||||
stockOutOrderDO.setTaskIssueUserId(userId);
|
||||
AjaxResult ajaxResult = systemServiceFeign.getWarehouseInfoByWarehouseId(stockOutOrderDO.getWarehouseId());
|
||||
if(!"200".equals(String.valueOf(ajaxResult.get("code")))){
|
||||
throw new ServiceException("获取仓库信息失败");
|
||||
@@ -1603,6 +1649,76 @@ public class StockOutOrderApplicationService {
|
||||
|
||||
|
||||
|
||||
public void acceptTask(StockOutOrder stockOutOrder){
|
||||
Long workUserId = stockOutOrder.getWorkUserId();
|
||||
String workUserName = stockOutOrder.getWorkUserName();
|
||||
if (workUserId == null || workUserName == null) {
|
||||
throw new ServiceException("作业人员id或名称为空!");
|
||||
}
|
||||
PickingOrder pickingOrder = pickingOrderService.getOne(new LambdaQueryWrapper<PickingOrder>()
|
||||
.eq(PickingOrder::getOrderNumber, stockOutOrder.getOutOrderNumber())
|
||||
.eq(PickingOrder::getDelFlag, 1),false);
|
||||
if (pickingOrder != null) {
|
||||
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||
.eq(DeliveTask::getTrackingNumber, pickingOrder.getPickingOrderNumber())
|
||||
.eq(DeliveTask::getDelFlag, 1));
|
||||
if (deliveTask != null) {
|
||||
deliveTask.setOperatorsBy(workUserId);
|
||||
deliveTask.setOperatorsName(workUserName);
|
||||
deliveTask.setTaskStatus(2);
|
||||
deliveTaskService.updateById(deliveTask);
|
||||
}
|
||||
}
|
||||
|
||||
stockOutOrderService.update(null, new LambdaUpdateWrapper<StockOutOrder>()
|
||||
.set(StockOutOrder::getWorkUserId, workUserId)
|
||||
.set(StockOutOrder::getWorkUserName, workUserName)
|
||||
.set(StockOutOrder::getWorkTaskReceiveStatus, "1")
|
||||
.eq(StockOutOrder::getOutOrderId, stockOutOrder.getOutOrderId()));
|
||||
}
|
||||
|
||||
public void removeTask(StockOutOrderDO stockOutOrder){
|
||||
Long outOrderId = stockOutOrder.getOutOrderId();
|
||||
String removeUserId = stockOutOrder.getRemoveUserId();
|
||||
if (removeUserId == null) {
|
||||
throw new ServiceException("移除任务用户ID为空!");
|
||||
}
|
||||
if (outOrderId == null) {
|
||||
throw new ServiceException("出库单不存在!");
|
||||
}
|
||||
StockOutOrder stock = stockOutOrderService.getById(outOrderId);
|
||||
if (stock == null) {
|
||||
throw new ServiceException("入库单不存在!");
|
||||
}
|
||||
String taskIssueUserId = stock.getTaskIssueUserId();
|
||||
if (taskIssueUserId == null) {
|
||||
return;
|
||||
}
|
||||
String[] split = taskIssueUserId.split(",");
|
||||
List<String> taskIds = Arrays.asList(split);
|
||||
if (taskIds != null && taskIds.size() > 0) {
|
||||
// 删除匹配元素
|
||||
//taskIds.removeIf(str -> removeUserId.equals(str));
|
||||
taskIds = taskIds.stream()
|
||||
.filter(str -> !Objects.equals(removeUserId, str))
|
||||
.collect(Collectors.toList());
|
||||
if (taskIds != null && taskIds.size() > 0) {
|
||||
String newTaskIssueUserId = String.join(",", taskIds);
|
||||
stock.setTaskIssueUserId(newTaskIssueUserId);
|
||||
stockOutOrderService.updateById(stock);
|
||||
} else {
|
||||
stockOutOrderService.update(null ,new LambdaUpdateWrapper<StockOutOrder>()
|
||||
.set(StockOutOrder::getTaskIssueUserId, null)
|
||||
.eq(StockOutOrder::getOutOrderId, stockOutOrder.getOutOrderId()));
|
||||
}
|
||||
} else {
|
||||
throw new ServiceException("当前订单不存在任务人员!");
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
public void omsOrderAdd(StockOutOrder stockOutOrder){
|
||||
stockOutOrderDomainService.omsOrderAdd(stockOutOrder);
|
||||
}
|
||||
|
||||
@@ -414,4 +414,8 @@ public class InMaterialDetail extends BaseVOEntity {
|
||||
private BigDecimal erpPriceGw;
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+4
@@ -439,4 +439,8 @@ public class InMaterialDetailPO extends StockInOrderBasePO {
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
private String khdm;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+4
@@ -404,4 +404,8 @@ public class InMaterialDetailDO extends StockInOrderBaseDO {
|
||||
private BigDecimal erpPriceGw;
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+13
@@ -528,4 +528,17 @@ public class OutMaterialDetail extends BaseVOEntity {
|
||||
private String bondInvtNoGw;
|
||||
private String whNoGw;
|
||||
private String seatNoGw;
|
||||
|
||||
//仓码简易模式
|
||||
@ApiModelProperty("出库重量")
|
||||
@Excel(name = "出库重量")
|
||||
private BigDecimal outWeight;
|
||||
|
||||
@ApiModelProperty("出库体积")
|
||||
@Excel(name = "出库体积")
|
||||
private BigDecimal outVolume;
|
||||
|
||||
@ApiModelProperty("出库数量")
|
||||
@Excel(name = "出库数量")
|
||||
private BigDecimal outQuantity;
|
||||
}
|
||||
+12
@@ -568,4 +568,16 @@ public class OutMaterialDetailPO extends StockOutOrderBaseDO {
|
||||
private String whNoGw;
|
||||
private String seatNoGw;
|
||||
private String khdm;
|
||||
//仓码简易模式
|
||||
@ApiModelProperty("出库重量")
|
||||
@Excel(name = "出库重量")
|
||||
private BigDecimal outWeight;
|
||||
|
||||
@ApiModelProperty("出库体积")
|
||||
@Excel(name = "出库体积")
|
||||
private BigDecimal outVolume;
|
||||
|
||||
@ApiModelProperty("出库数量")
|
||||
@Excel(name = "出库数量")
|
||||
private BigDecimal outQuantity;
|
||||
}
|
||||
+12
@@ -520,4 +520,16 @@ public class OutMaterialDetailDO extends BaseVOEntity {
|
||||
private String bondInvtNoGw;
|
||||
private String whNoGw;
|
||||
private String seatNoGw;
|
||||
//仓码简易模式
|
||||
@ApiModelProperty("出库重量")
|
||||
@Excel(name = "出库重量")
|
||||
private BigDecimal outWeight;
|
||||
|
||||
@ApiModelProperty("出库体积")
|
||||
@Excel(name = "出库体积")
|
||||
private BigDecimal outVolume;
|
||||
|
||||
@ApiModelProperty("出库数量")
|
||||
@Excel(name = "出库数量")
|
||||
private BigDecimal outQuantity;
|
||||
}
|
||||
@@ -382,4 +382,14 @@ public class StockInOrder extends BaseVOEntity {
|
||||
|
||||
@ApiModelProperty("推送人姓名")
|
||||
private String pushByName;
|
||||
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
}
|
||||
+3
-1
@@ -30,4 +30,6 @@ public interface StockInOrderMapper extends BaseMapper<StockInOrder>
|
||||
List<InMaterialDetailPO> queryNoticePrintDetail(StockInOrderDO stockInOrderDO);
|
||||
|
||||
StockInOrderPO selectByInOrderNumber(@Param("inOrderNumber") String inOrderNumber);
|
||||
}
|
||||
|
||||
String queryWarehouseUserId(@Param("organizationId") Long organizationId, @Param("warehouseId") Long warehouseId, @Param("topOrganizationId") Long topOrganizationId);
|
||||
}
|
||||
+9
@@ -444,4 +444,13 @@ public class StockInOrderPO extends BaseVOEntity {
|
||||
private String pushByName;
|
||||
private String khdm;
|
||||
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
}
|
||||
+20
@@ -428,4 +428,24 @@ public class StockInOrderDO extends BaseVOEntity {
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTimeTo;
|
||||
|
||||
//仓码pda查询参数
|
||||
@ApiModelProperty("pda查询用户ID")
|
||||
private Long queryUserId;
|
||||
@ApiModelProperty("状态列表")
|
||||
private List<Integer> statusList;
|
||||
|
||||
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
|
||||
@ApiModelProperty("任务移除用户ID")
|
||||
private String removeUserId;
|
||||
}
|
||||
+311
-2
@@ -1,14 +1,19 @@
|
||||
package com.mhd.wms.domain.stockInOrder.service;
|
||||
|
||||
import com.alibaba.fastjson.JSON;
|
||||
import com.alibaba.fastjson.TypeReference;
|
||||
import com.alibaba.fastjson2.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
||||
import com.mhd.common.core.constant.SnowFlakeConstants;
|
||||
import com.mhd.common.core.exception.ServiceException;
|
||||
import com.mhd.common.core.utils.IgnoreNullUtil;
|
||||
import com.mhd.common.core.utils.OrderSequence;
|
||||
import com.mhd.common.core.utils.StringUtils;
|
||||
import com.mhd.common.core.utils.bean.BeanUtils;
|
||||
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.SystemServiceFeign;
|
||||
@@ -27,9 +32,11 @@ import com.mhd.wms.domain.materialWarehouseControl.repository.facade.IMaterialWa
|
||||
import com.mhd.wms.domain.materialWarehouseControl.repository.po.MaterialWarehouseControlPO;
|
||||
import com.mhd.wms.domain.qualityInspection.repository.facade.IQualityInspectionService;
|
||||
import com.mhd.wms.domain.qualityInspection.repository.todo.QualityInspectionDO;
|
||||
import com.mhd.wms.domain.receiptMaterialDetail.entity.ReceiptMaterialDetail;
|
||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.facade.IReceiptMaterialDetailService;
|
||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.po.ReceiptMaterialDetailPO;
|
||||
import com.mhd.wms.domain.receiptMaterialDetail.repository.todo.ReceiptMaterialDetailDO;
|
||||
import com.mhd.wms.domain.shelfMaterialDetail.entity.ShelfMaterialDetail;
|
||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.facade.IShelfMaterialDetailService;
|
||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.po.ShelfMaterialDetailPO;
|
||||
import com.mhd.wms.domain.shelfMaterialDetail.repository.todo.ShelfMaterialDetailDO;
|
||||
@@ -37,9 +44,13 @@ import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.facade.IStockInOrderService;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockReceiptOrder.entity.StockReceiptOrder;
|
||||
import com.mhd.wms.domain.stockReceiptOrder.repository.facade.IStockReceiptOrderService;
|
||||
import com.mhd.wms.domain.stockReceiptOrder.repository.po.StockReceiptOrderPO;
|
||||
import com.mhd.wms.domain.stockReceiptOrder.repository.todo.StockReceiptOrderDO;
|
||||
import com.mhd.wms.domain.stockReceiptOrder.service.StockReceiptOrderDomainService;
|
||||
import com.mhd.wms.domain.stockShelfOrder.entity.StockShelfOrder;
|
||||
import com.mhd.wms.domain.stockShelfOrder.repository.facade.IStockShelfOrderService;
|
||||
import com.mhd.wms.domain.stockShelfOrder.repository.po.StockShelfOrderPO;
|
||||
import com.mhd.wms.domain.stockShelfOrder.repository.todo.StockShelfOrderDO;
|
||||
import com.mhd.wms.domain.stockShelfOrder.service.StockShelfOrderDomainService;
|
||||
@@ -50,8 +61,11 @@ import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.CollectionUtils;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.lang.reflect.Field;
|
||||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
@@ -81,12 +95,18 @@ public class StockInOrderDomainService {
|
||||
private IMaterialGoodsRuleService materialGoodsRuleService;
|
||||
@Autowired
|
||||
private IMaterialWarehouseControlService materialWarehouseControlService;
|
||||
@Autowired
|
||||
@Resource
|
||||
private SystemServiceFeign systemServiceFeign;
|
||||
@Autowired
|
||||
private IReceiptMaterialDetailService receiptMaterialDetailService;
|
||||
@Autowired
|
||||
private IShelfMaterialDetailService shelfMaterialDetailService;
|
||||
@Autowired
|
||||
private IStockReceiptOrderService stockReceiptOrderService;
|
||||
@Autowired
|
||||
private IStockShelfOrderService stockShelfOrderService;
|
||||
@Autowired
|
||||
private IdGenerator idGenerator;
|
||||
|
||||
/**
|
||||
* 分页查询入库单列表
|
||||
@@ -107,7 +127,7 @@ public class StockInOrderDomainService {
|
||||
// //设置物料信息
|
||||
// setMaterialDetailInfo(stockInOrderDO);
|
||||
// //统计总物料种数
|
||||
// stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
|
||||
stockInOrderDO.setMaterialQuantity(stockInOrderDO.getMaterialDetailList().size());
|
||||
// //统计总计划数
|
||||
// BigDecimal quantity = stockInOrderDO.getMaterialDetailList().stream().map(InMaterialDetailDO::getQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
// stockInOrderDO.setQuantity(quantity);
|
||||
@@ -483,6 +503,295 @@ public class StockInOrderDomainService {
|
||||
.in(StockInOrder::getInOrderId, stockInOrderDO.getInOrderIds()));
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean receiptEasyMode(StockInOrderDO stockInOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
|
||||
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||
? loginUser.getUserPo().getUserName()
|
||||
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||
// 查询当天创建的入库单数量,用于生成batchNo
|
||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||
String todayStr = dateFormat.format(new Date());
|
||||
String todayStart = todayStr + " 00:00:00";
|
||||
String todayEnd = todayStr + " 23:59:59";
|
||||
SimpleDateFormat fullDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||
|
||||
Date todayStartDate = null;
|
||||
try {
|
||||
todayStartDate = fullDateFormat.parse(todayStart);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
Date todayEndDate = null;
|
||||
try {
|
||||
todayEndDate = fullDateFormat.parse(todayEnd);
|
||||
} catch (ParseException e) {
|
||||
throw new RuntimeException(e);
|
||||
}
|
||||
long todayStockInOrderCount = stockInOrderService.count(new LambdaQueryWrapper<StockInOrder>()
|
||||
.ge(StockInOrder::getCreateTime, todayStartDate)
|
||||
.le(StockInOrder::getCreateTime, todayEndDate)
|
||||
.eq(StockInOrder::getDelFlag, 1));
|
||||
String batchNo = "PC"+inOrderNumber+"-"+todayStockInOrderCount;
|
||||
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
||||
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
||||
.filter(m -> m.getCollectQuantity() != null && m.getCollectQuantity().compareTo(BigDecimal.ZERO) != 0)
|
||||
.collect(Collectors.toList());
|
||||
if (receiptMaterialDetailList!=null && receiptMaterialDetailList.size()>0) {
|
||||
for (InMaterialDetailDO inMaterialDetailDO : receiptMaterialDetailList) {
|
||||
BigDecimal collectQuantity = inMaterialDetailDO.getCollectQuantity();
|
||||
Long materialBaseInfoId = inMaterialDetailDO.getMaterialBaseInfoId();
|
||||
Long uniqueId = inMaterialDetailDO.getUniqueId();
|
||||
|
||||
InMaterialDetail materialDetail = materialDetailService.getById(inMaterialDetailDO.getMaterialDetailId());
|
||||
materialDetail.setCollectQuantity(collectQuantity);
|
||||
materialDetailService.updateById(materialDetail);
|
||||
|
||||
ReceiptMaterialDetail receiptMaterialDetail = receiptMaterialDetailService.getOne(new QueryWrapper<ReceiptMaterialDetail>().lambda()
|
||||
.eq(ReceiptMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||
.eq(ReceiptMaterialDetail::getInUniqueId, uniqueId)
|
||||
.eq(ReceiptMaterialDetail::getDelFlag, 1), false);
|
||||
BigDecimal alreadyReceiptQuantity = receiptMaterialDetail.getAlreadyReceiptQuantity();
|
||||
if (alreadyReceiptQuantity != null && alreadyReceiptQuantity.compareTo(collectQuantity) == 0) {
|
||||
continue;
|
||||
}
|
||||
receiptMaterialDetail.setReceiptQuantity(collectQuantity);
|
||||
receiptMaterialDetail.setAlreadyReceiptQuantity(collectQuantity);
|
||||
|
||||
receiptMaterialDetail.setBatchNo(batchNo);
|
||||
BigDecimal quantity = receiptMaterialDetail.getQuantity();
|
||||
if (quantity != null && quantity.compareTo(BigDecimal.ZERO) == 0) {
|
||||
receiptMaterialDetail.setReceiptStatus(3);
|
||||
}
|
||||
receiptMaterialDetailService.updateById(receiptMaterialDetail);
|
||||
|
||||
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new QueryWrapper<StockReceiptOrder>().lambda()
|
||||
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||
if (stockReceiptOrder != null) {
|
||||
stockReceiptOrder.setStatus(2);
|
||||
stockReceiptOrder.setReceiptQuantity(stockReceiptOrder.getReceiptQuantity().add(collectQuantity));
|
||||
stockReceiptOrder.setBatchNo(batchNo);
|
||||
stockReceiptOrderService.updateById(stockReceiptOrder);
|
||||
}
|
||||
|
||||
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
||||
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockInOrder::getDelFlag, 1), false);
|
||||
if (stockInOrder != null) {
|
||||
stockInOrder.setStatus(3);
|
||||
stockInOrderService.updateById(stockInOrder);
|
||||
}
|
||||
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
||||
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockShelfOrder::getDelFlag, 1));
|
||||
StockShelfOrder stockShelfOrder = new StockShelfOrder();
|
||||
if (list!=null && list.size()>0) {
|
||||
stockShelfOrder = list.get(0);
|
||||
} else {
|
||||
BeanUtils.copyProperties(stockReceiptOrder, stockShelfOrder);
|
||||
stockShelfOrder.setShelfOrderNumber(OrderSequence.getOrderCode("SJ"));
|
||||
stockShelfOrder.setBatchNo(batchNo);
|
||||
stockShelfOrderService.save(stockShelfOrder);
|
||||
}
|
||||
log.info("生成上架单成功,上架单编号:{}", stockShelfOrder.getShelfOrderNumber());
|
||||
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
||||
ShelfMaterialDetail one = shelfMaterialDetailService.getOne(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||
.eq(ShelfMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||
.eq(ShelfMaterialDetail::getInUniqueId, uniqueId)
|
||||
.eq(ShelfMaterialDetail::getLevel, 1)
|
||||
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
||||
if (one != null) {
|
||||
one.setQuantity(collectQuantity);
|
||||
one.setBatchNo(batchNo);
|
||||
// one.setLotNumber(receiptMaterialDetail.getLotNo());
|
||||
shelfMaterialDetailService.updateById(one);
|
||||
} else {
|
||||
BeanUtils.copyProperties(inMaterialDetailDO, shelfMaterialDetail);
|
||||
shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
|
||||
shelfMaterialDetail.setQuantity(collectQuantity);
|
||||
shelfMaterialDetail.setInUniqueId(uniqueId);
|
||||
shelfMaterialDetail.setReceiptUniqueId(receiptMaterialDetail.getUniqueId());
|
||||
shelfMaterialDetail.setBatchNo(batchNo);
|
||||
shelfMaterialDetail.setLotNumber(receiptMaterialDetail.getLotNo());
|
||||
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||
}
|
||||
|
||||
log.info("生成上架单成功,上架单编号:{},上架单明细编号:{}", stockShelfOrder.getShelfOrderNumber(), shelfMaterialDetail.getShelfOrderNumber());
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean shelfEasyMode(StockInOrderDO stockInOrderDO) {
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
|
||||
String userRealName = loginUser.getUserPo() != null && loginUser.getUserPo().getUserName() != null
|
||||
? loginUser.getUserPo().getUserName()
|
||||
: (loginUser.getRealname() != null ? loginUser.getRealname() : loginUser.getUsername());
|
||||
String inOrderNumber = stockInOrderDO.getInOrderNumber();
|
||||
List<InMaterialDetailDO> materialDetailList = stockInOrderDO.getMaterialDetailList();
|
||||
List<InMaterialDetailDO> receiptMaterialDetailList = materialDetailList.stream()
|
||||
.filter(m -> StringUtils.isNotBlank(m.getShelfJson()))
|
||||
.collect(Collectors.toList());
|
||||
if (receiptMaterialDetailList!=null && receiptMaterialDetailList.size()>0) {
|
||||
for (InMaterialDetailDO inMaterialDetailDO : receiptMaterialDetailList) {
|
||||
Long materialDetailId1 = inMaterialDetailDO.getMaterialDetailId();
|
||||
Long materialBaseInfoId = inMaterialDetailDO.getMaterialBaseInfoId();
|
||||
Long uniqueId = inMaterialDetailDO.getUniqueId();
|
||||
String shelfJson = inMaterialDetailDO.getShelfJson();
|
||||
List<Map<String, Object>> shelfList = JSON.parseObject(shelfJson, new TypeReference<List<Map<String, Object>>>(){});
|
||||
StockInOrder stockInOrder = stockInOrderService.getOne(new QueryWrapper<StockInOrder>().lambda()
|
||||
.eq(StockInOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockInOrder::getDelFlag, 1), false);
|
||||
if (stockInOrder != null) {
|
||||
stockInOrder.setStatus(4);
|
||||
stockInOrderService.updateById(stockInOrder);
|
||||
}
|
||||
int index=0;
|
||||
for (Map<String, Object> stringObjectMap : shelfList) {
|
||||
Object shelvesQuantityObj = stringObjectMap.get("shelvesQuantity");
|
||||
BigDecimal shelvesQuantity = shelvesQuantityObj != null ? new BigDecimal(String.valueOf(shelvesQuantityObj)) : null;
|
||||
String shelfOrderNumber = (String) stringObjectMap.get("shelfOrderNumber");
|
||||
String warehouseCode = (String) stringObjectMap.get("warehouseCode");
|
||||
String warehouseName = (String) stringObjectMap.get("warehouseName");
|
||||
String storageCode = (String) stringObjectMap.get("storageCode");
|
||||
String storageName = (String) stringObjectMap.get("storageName");
|
||||
String storageLocationCode = (String) stringObjectMap.get("storageLocationCode");
|
||||
String storageLocationName = (String) stringObjectMap.get("storageLocationName");
|
||||
Object warehouseIdObj = stringObjectMap.get("warehouseId");
|
||||
Long warehouseId = warehouseIdObj != null ? Long.valueOf(String.valueOf(warehouseIdObj)) : null;
|
||||
Object storageSectionIdObj = stringObjectMap.get("storageSectionId");
|
||||
Long storageSectionId = storageSectionIdObj != null ? Long.valueOf(String.valueOf(storageSectionIdObj)) : null;
|
||||
Object storageLocationIdObj = stringObjectMap.get("storageLocationId");
|
||||
Long storageLocationId = storageLocationIdObj != null ? Long.valueOf(String.valueOf(storageLocationIdObj)) : null;
|
||||
// Integer level = (Integer) stringObjectMap.get("level");
|
||||
|
||||
// 如果 materialDetailId 不为空,则更新上架单明细
|
||||
// if (stringObjectMap.containsKey("materialDetailId")) {
|
||||
// Long materialDetailId = (Long) stringObjectMap.get("materialDetailId");
|
||||
// ShelfMaterialDetail detail = shelfMaterialDetailService.getById(materialDetailId);
|
||||
// detail.setShelvesQuantity(shelvesQuantity);
|
||||
// detail.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||
// detail.setWarehouseId(warehouseId);
|
||||
// detail.setStorageSectionId(storageSectionId);
|
||||
// detail.setStorageLocationId(storageLocationId);
|
||||
// detail.setWarehouseCode(warehouseCode);
|
||||
// detail.setWarehouseName(warehouseName);
|
||||
// detail.setStorageCode(storageCode);
|
||||
// detail.setStorageName(storageName);
|
||||
// detail.setStorageLocationCode(storageLocationCode);
|
||||
// detail.setStorageLocationName(storageLocationName);
|
||||
// shelfMaterialDetailService.updateById(detail);
|
||||
// continue;
|
||||
// }
|
||||
|
||||
StockReceiptOrder stockReceiptOrder = stockReceiptOrderService.getOne(new LambdaUpdateWrapper<StockReceiptOrder>()
|
||||
.eq(StockReceiptOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockReceiptOrder::getDelFlag, 1), false);
|
||||
|
||||
// 如果 materialDetailId 为空,则创建上架单明细
|
||||
List<StockShelfOrder> list = stockShelfOrderService.list(new QueryWrapper<StockShelfOrder>().lambda()
|
||||
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockShelfOrder::getDelFlag, 1));
|
||||
StockShelfOrder stockShelfOrder = new StockShelfOrder();
|
||||
if (list!=null && list.size()>0) {
|
||||
stockShelfOrder = list.get(0);
|
||||
stockShelfOrder.setStatus(2);
|
||||
stockShelfOrderService.updateById(stockShelfOrder);
|
||||
} else {
|
||||
throw new RuntimeException("未找到上架单!");
|
||||
}
|
||||
ShelfMaterialDetail one = shelfMaterialDetailService.getOne(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||
.eq(ShelfMaterialDetail::getMaterialBaseInfoId, materialBaseInfoId)
|
||||
.eq(ShelfMaterialDetail::getInUniqueId, uniqueId)
|
||||
.eq(ShelfMaterialDetail::getDelFlag, 1), false);
|
||||
shelfMaterialDetailService.remove(new QueryWrapper<ShelfMaterialDetail>().lambda()
|
||||
.eq(ShelfMaterialDetail::getLevel, 2)
|
||||
.ne(ShelfMaterialDetail::getParentUniqueId, 0l)
|
||||
.eq(ShelfMaterialDetail::getDelFlag, 1));
|
||||
if (one != null) {
|
||||
if (index == 0) {
|
||||
one.setShelvesQuantity(shelvesQuantity);
|
||||
one.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||
one.setWarehouseId(warehouseId);
|
||||
one.setStorageSectionId(storageSectionId);
|
||||
one.setStorageLocationId(storageLocationId);
|
||||
one.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
|
||||
one.setWarehouseCode(warehouseCode);
|
||||
one.setWarehouseName(warehouseName);
|
||||
one.setStorageCode(storageCode);
|
||||
one.setStorageName(storageName);
|
||||
one.setStorageLocationCode(storageLocationCode);
|
||||
one.setStorageLocationName(storageLocationName);
|
||||
one.setLevel(1);
|
||||
one.setParentUniqueId(0l);
|
||||
one.setShelvesStatus(3);
|
||||
shelfMaterialDetailService.updateById(one);
|
||||
stringObjectMap.put("materialDetailId", one.getMaterialDetailId());
|
||||
stringObjectMap.put("level",1);
|
||||
} else {
|
||||
ShelfMaterialDetail shelfMaterialDetail = new ShelfMaterialDetail();
|
||||
BeanUtils.copyProperties(one, shelfMaterialDetail);
|
||||
shelfMaterialDetail.setQuantity(BigDecimal.ZERO);
|
||||
shelfMaterialDetail.setShelvesQuantity(shelvesQuantity);
|
||||
shelfMaterialDetail.setAlreadyShelvesQuantity(shelvesQuantity);
|
||||
shelfMaterialDetail.setShelfOrderNumber(stockShelfOrder.getShelfOrderNumber());
|
||||
shelfMaterialDetail.setWarehouseCode(warehouseCode);
|
||||
shelfMaterialDetail.setWarehouseName(warehouseName);
|
||||
shelfMaterialDetail.setStorageCode(storageCode);
|
||||
shelfMaterialDetail.setStorageName(storageName);
|
||||
shelfMaterialDetail.setStorageLocationCode(storageLocationCode);
|
||||
shelfMaterialDetail.setStorageLocationName(storageLocationName);
|
||||
shelfMaterialDetail.setStorageSectionId(storageSectionId);
|
||||
shelfMaterialDetail.setStorageLocationId(storageLocationId);
|
||||
shelfMaterialDetail.setLevel(2);
|
||||
shelfMaterialDetail.setParentUniqueId(one.getUniqueId());
|
||||
shelfMaterialDetail.setUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||
shelfMaterialDetail.setInUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||
shelfMaterialDetail.setReceiptUniqueId(idGenerator.snowflakeId(SnowFlakeConstants.wmsId));
|
||||
shelfMaterialDetail.setShelvesStatus(3);
|
||||
shelfMaterialDetail.setLotNumber(one.getLotNumber());
|
||||
if (stockReceiptOrder!= null) {
|
||||
shelfMaterialDetail.setBatchNo(stockReceiptOrder.getBatchNo());
|
||||
}
|
||||
shelfMaterialDetailService.save(shelfMaterialDetail);
|
||||
stringObjectMap.put("materialDetailId", shelfMaterialDetail.getMaterialDetailId());
|
||||
stringObjectMap.put("level",2 );
|
||||
}
|
||||
} else {
|
||||
throw new RuntimeException("未找到上架单明细!");
|
||||
}
|
||||
index++;
|
||||
}
|
||||
InMaterialDetail inMaterialDetail = materialDetailService.getById(materialDetailId1);
|
||||
inMaterialDetail.setShelfJson(JSON.toJSONString(shelfList));
|
||||
materialDetailService.updateById(inMaterialDetail);
|
||||
}
|
||||
}
|
||||
StockShelfOrder stockShelfOrder = stockShelfOrderService.getOne(new QueryWrapper<StockShelfOrder>().lambda()
|
||||
.eq(StockShelfOrder::getInOrderNumber, inOrderNumber)
|
||||
.eq(StockShelfOrder::getDelFlag, 1), false);
|
||||
if (stockShelfOrder != null) {
|
||||
String shelfOrderNumber = stockShelfOrder.getShelfOrderNumber();
|
||||
List<ShelfMaterialDetail> list = shelfMaterialDetailService.list(new LambdaQueryWrapper<ShelfMaterialDetail>()
|
||||
.eq(ShelfMaterialDetail::getShelfOrderNumber, shelfOrderNumber)
|
||||
.eq(ShelfMaterialDetail::getDelFlag, 1));
|
||||
if (list!=null&&list.size() > 0) {
|
||||
BigDecimal quantity = BigDecimal.ZERO;
|
||||
for (ShelfMaterialDetail shelfMaterialDetail : list) {
|
||||
quantity = quantity.add(shelfMaterialDetail.getAlreadyShelvesQuantity());
|
||||
}
|
||||
stockShelfOrder.setShelvesQuantity(quantity);
|
||||
stockShelfOrderService.updateById(stockShelfOrder);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @description 取消入库单
|
||||
|
||||
@@ -424,4 +424,14 @@ public class StockOutOrder extends BaseVOEntity {
|
||||
|
||||
@ApiModelProperty("推送人姓名")
|
||||
private String pushByName;
|
||||
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
}
|
||||
+7
@@ -25,6 +25,7 @@ import com.mhd.wms.domain.materialBaseInfo.repository.mapper.MaterialBaseInfoMap
|
||||
import com.mhd.wms.domain.materialBaseInfo.repository.po.MaterialBaseInfoPO;
|
||||
import com.mhd.wms.domain.materialBaseInfo.repository.todo.MaterialBaseInfoDO;
|
||||
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.mapper.StockOutOrderMapper;
|
||||
@@ -61,6 +62,8 @@ public class ExcelParseService {
|
||||
private StockOutOrderDomainService stockOutOrderDomainService;
|
||||
@Autowired
|
||||
private StockOutOrderMapper stockOutOrderMapper;
|
||||
@Autowired
|
||||
private StockInOrderMapper stockInOrderMapper;
|
||||
@Resource
|
||||
private UserServiceFeign userServiceFeign;
|
||||
/**
|
||||
@@ -114,6 +117,7 @@ public class ExcelParseService {
|
||||
stockOutOrder.setWarehouseName(warehouseName);
|
||||
stockOutOrder.setWarehouseCode(warehouseCode);
|
||||
stockOutOrder.setWarehouseId(warehouseId);
|
||||
|
||||
stockOutOrder.setSalesmanId(String.valueOf(loginUser.getUserPo().getUserId()));
|
||||
stockOutOrder.setSalesmanName(loginUser.getUserPo().getUserName());
|
||||
String settlementCurrency = stockOutOrderMapper.getSettlementCurrency(shipperId);
|
||||
@@ -124,6 +128,9 @@ public class ExcelParseService {
|
||||
stockOutOrder.setOrganizationId(loginUser.getUserPo().getOrganizationId());
|
||||
stockOutOrder.setOrganizationName(loginUser.getUserPo().getOrganizationName());
|
||||
}
|
||||
// 获取任务下发用户ID
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrder.getOrganizationId(), stockOutOrder.getWarehouseId(), stockOutOrder.getTopOrganizationId());
|
||||
stockOutOrder.setTaskIssueUserId(userId);
|
||||
initParam(stockOutOrder);
|
||||
// 导入出库单时,如果出库单类型为空,默认设置为普通出库
|
||||
if (StringUtils.isBlank(stockOutOrder.getOrderTypeCode())) {
|
||||
|
||||
+9
@@ -451,4 +451,13 @@ public class StockOutOrderPO extends BaseVOEntity {
|
||||
@ApiModelProperty("推送人姓名")
|
||||
private String pushByName;
|
||||
private String khdm;
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
}
|
||||
+21
@@ -492,4 +492,25 @@ public class StockOutOrderDO extends BaseVOEntity {
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTimeTo;
|
||||
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
|
||||
//仓码pda查询参数
|
||||
@ApiModelProperty("pda查询用户ID")
|
||||
private Long queryUserId;
|
||||
@ApiModelProperty("状态列表")
|
||||
private List<Integer> statusList;
|
||||
|
||||
@ApiModelProperty("任务移除用户ID")
|
||||
private String removeUserId;
|
||||
}
|
||||
+235
-4
@@ -19,12 +19,19 @@ import com.mhd.system.api.domain.BatchDetailFeignPO;
|
||||
import com.mhd.system.api.domain.DeliveryDetailsLink;
|
||||
import com.mhd.system.api.domain.PackDetailFeignPO;
|
||||
import com.mhd.system.api.model.LoginUser;
|
||||
import com.mhd.wms.application.service.handoverTaskOrder.HandoverTaskOrderApplicationService;
|
||||
import com.mhd.wms.application.service.pickingOrder.PickingOrderApplicationService;
|
||||
import com.mhd.wms.application.service.reviewOrder.ReviewOrderApplicationService;
|
||||
import com.mhd.wms.application.service.stockOutOrder.StockOutOrderApplicationService;
|
||||
import com.mhd.wms.domain.copyCodeReference.repository.po.CopyCodeReferencePO;
|
||||
import com.mhd.wms.domain.deliveTask.entity.DeliveTask;
|
||||
import com.mhd.wms.domain.deliveTask.repository.facade.IDeliveTaskService;
|
||||
import com.mhd.wms.domain.deliveTask.repository.todo.DeliveTaskDO;
|
||||
import com.mhd.wms.domain.deliveryDetailsLink.repository.facade.IDeliveryDetailsLinkService;
|
||||
import com.mhd.wms.domain.handoverTaskOrder.entity.HandoverTaskOrder;
|
||||
import com.mhd.wms.domain.handoverTaskOrder.repository.facade.IHandoverTaskOrderService;
|
||||
import com.mhd.wms.domain.handoverTaskOrder.repository.todo.HandoverTaskOrderDO;
|
||||
import com.mhd.wms.domain.handoverTaskOrder.service.HandoverTaskOrderDomainService;
|
||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
||||
import com.mhd.wms.domain.inventoryAdjustmentRecord.entity.InventoryAdjustmentRecord;
|
||||
@@ -68,8 +75,15 @@ import com.mhd.wms.domain.pickingOrder.service.PickingOrderDomainService;
|
||||
import com.mhd.wms.domain.pushSyncBms.PushSyncBmsDomainService;
|
||||
import com.mhd.wms.domain.replenishmentNotice.repository.todo.ReplenishmentNoticeDO;
|
||||
import com.mhd.wms.domain.replenishmentNotice.service.ReplenishmentNoticeDomainService;
|
||||
import com.mhd.wms.domain.reviewOrder.entity.ReviewMaterialDetail;
|
||||
import com.mhd.wms.domain.reviewOrder.entity.ReviewOrder;
|
||||
import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewMaterialDetailMapper;
|
||||
import com.mhd.wms.domain.reviewOrder.repository.mapper.ReviewOrderMapper;
|
||||
import com.mhd.wms.domain.reviewOrder.repository.po.ReviewMaterialDetailPO;
|
||||
import com.mhd.wms.domain.reviewOrder.repository.todo.ReviewOrderDO;
|
||||
import com.mhd.wms.domain.statementStatistics.po.ImmediateInventoryPO;
|
||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.mapper.StockInOrderMapper;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockInOrder.service.StockInOrderDomainService;
|
||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||
@@ -112,6 +126,8 @@ public class StockOutOrderDomainService {
|
||||
@Autowired
|
||||
private IHandoverTaskOrderService handoverTaskOrderService;
|
||||
@Autowired
|
||||
private HandoverTaskOrderDomainService handoverTaskOrderDomainService;
|
||||
@Autowired
|
||||
private IOutOrderAbnormalService outOrderAbnormalService;
|
||||
@Autowired
|
||||
private PickingOrderDomainService pickingOrderDomainService;
|
||||
@@ -149,6 +165,19 @@ public class StockOutOrderDomainService {
|
||||
private IPickingMaterialDetailService pickingMaterialDetailService;
|
||||
@Autowired
|
||||
private IPickingOrderService pickingOrderService;
|
||||
@Autowired
|
||||
private StockInOrderMapper stockInOrderMapper;
|
||||
@Autowired
|
||||
private PickingOrderApplicationService pickingOrderApplicationService;
|
||||
@Autowired
|
||||
private HandoverTaskOrderApplicationService handoverTaskOrderApplicationService;
|
||||
@Autowired
|
||||
private ReviewOrderApplicationService reviewOrderApplicationService;
|
||||
@Autowired
|
||||
private ReviewOrderMapper reviewOrderMapper;
|
||||
@Autowired
|
||||
private ReviewMaterialDetailMapper reviewMaterialDetailMapper;
|
||||
|
||||
/**
|
||||
* 分页查询出库单列表
|
||||
*/
|
||||
@@ -166,7 +195,7 @@ public class StockOutOrderDomainService {
|
||||
//设置物料信息
|
||||
//setMaterialDetailInfo(stockOutOrderDO);
|
||||
//统计种类
|
||||
//stockOutOrderDO.setMaterialQuantity(stockOutOrderDO.getMaterialDetailList().size());
|
||||
stockOutOrderDO.setMaterialQuantity(stockOutOrderDO.getMaterialDetailList().size());
|
||||
//统计总数量
|
||||
BigDecimal quantity = stockOutOrderDO.getMaterialDetailList().stream().map(OutMaterialDetailDO::getOutboundQuantity).filter(Objects::nonNull).reduce(BigDecimal.ZERO, BigDecimal::add);
|
||||
stockOutOrderDO.setQuantity(quantity);
|
||||
@@ -864,6 +893,205 @@ public class StockOutOrderDomainService {
|
||||
return inserted;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean adjustPicking(StockOutOrderDO stockOutOrderDO){
|
||||
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
|
||||
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new LambdaQueryWrapper<StockOutOrder>()
|
||||
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber)
|
||||
.eq(StockOutOrder::getDelFlag, 1), false);
|
||||
stockOutOrder.setStatus(6);
|
||||
stockOutOrder.setUpdateTime(new Date());
|
||||
stockOutOrderService.updateById(stockOutOrder);
|
||||
PickingOrder pickingOrder = pickingOrderService.getOne(new QueryWrapper<PickingOrder>().lambda()
|
||||
.eq(PickingOrder::getOrderNumber, outOrderNumber)
|
||||
.eq(PickingOrder::getDelFlag, 1), false);
|
||||
if (pickingOrder == null) {
|
||||
throw new RuntimeException("拣货单不存在!");
|
||||
}
|
||||
pickingOrder.setStatus(2);
|
||||
pickingOrderService.updateById(pickingOrder);
|
||||
|
||||
//拣货任务下发
|
||||
PickingOrderDO pickingOrderDO = new PickingOrderDO();
|
||||
pickingOrderDO.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||
List<Long> ids = new ArrayList<>();
|
||||
ids.add(pickingOrder.getPickingOrderId());
|
||||
pickingOrderDO.setPickingOrderIdList(ids);
|
||||
// pickingOrderApplicationService.allDistribution(pickingOrderDO);
|
||||
|
||||
List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
|
||||
if (CollectionUtils.isEmpty(materialDetailList)) {
|
||||
throw new RuntimeException("出库单明细不存在!");
|
||||
}
|
||||
List<OutMaterialDetailDO> pickingMaterialDetailList = materialDetailList.stream()
|
||||
.filter(m -> m.getOutWeight() != null || m.getOutVolume() != null || m.getOutQuantity() != null)
|
||||
.collect(Collectors.toList());
|
||||
if (pickingMaterialDetailList != null && pickingMaterialDetailList.size() > 0) {
|
||||
for (OutMaterialDetailDO outMaterialDetailDO : pickingMaterialDetailList) {
|
||||
Long uniqueId = outMaterialDetailDO.getUniqueId();
|
||||
BigDecimal outWeight = outMaterialDetailDO.getOutWeight();
|
||||
BigDecimal outVolume = outMaterialDetailDO.getOutVolume();
|
||||
BigDecimal outQuantity = outMaterialDetailDO.getOutQuantity();
|
||||
PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new QueryWrapper<PickingMaterialDetail>().lambda()
|
||||
.eq(PickingMaterialDetail::getOutUniqueId, uniqueId)
|
||||
.eq(PickingMaterialDetail::getDelFlag, 1), false);
|
||||
if (pickingMaterialDetail != null) {
|
||||
pickingMaterialDetail.setWeightLimit(outWeight);
|
||||
pickingMaterialDetail.setTotalNetWeight(outWeight);
|
||||
pickingMaterialDetail.setTotalGrossWeight(outVolume);
|
||||
pickingMaterialDetail.setVolumeLimit(outVolume);
|
||||
pickingMaterialDetail.setTotalVolume(outVolume);
|
||||
pickingMaterialDetail.setPickingQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity);
|
||||
pickingMaterialDetail.setAlreadyPickingQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity);
|
||||
pickingMaterialDetailService.updateById(pickingMaterialDetail);
|
||||
OutMaterialDetail outMaterialDetail = outMaterialDetailService.getOne(new LambdaQueryWrapper<OutMaterialDetail>()
|
||||
.eq(OutMaterialDetail::getUniqueId, uniqueId)
|
||||
.eq(OutMaterialDetail::getDelFlag, 1), false);
|
||||
if (outMaterialDetail != null) {
|
||||
outMaterialDetail.setOutWeight(outWeight);
|
||||
outMaterialDetail.setOutVolume(outVolume);
|
||||
outMaterialDetail.setOutQuantity(outQuantity == null || outQuantity.compareTo(BigDecimal.ZERO) == 0 ? outMaterialDetailDO.getOutQuantity() : outQuantity);
|
||||
outMaterialDetailService.updateById(outMaterialDetail);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean checkUpload(StockOutOrderDO stockOutOrderDO){
|
||||
String outOrderNumber = stockOutOrderDO.getOutOrderNumber();
|
||||
StockOutOrder stockOutOrder = stockOutOrderService.getOne(new QueryWrapper<StockOutOrder>().lambda()
|
||||
.eq(StockOutOrder::getOutOrderNumber, outOrderNumber)
|
||||
.eq(StockOutOrder::getDelFlag, 1), false);
|
||||
if (stockOutOrder == null) {
|
||||
throw new RuntimeException("出库单不存在!");
|
||||
}
|
||||
PickingOrder pickingOrder = pickingOrderService.getOne(new QueryWrapper<PickingOrder>().lambda()
|
||||
.eq(PickingOrder::getOrderNumber, outOrderNumber)
|
||||
.eq(PickingOrder::getDelFlag, 1), false);
|
||||
if (pickingOrder == null) {
|
||||
throw new RuntimeException("拣货单不存在!");
|
||||
}
|
||||
PickingOrderDO pickingOrderDO = new PickingOrderDO();
|
||||
pickingOrderDO.setType(1);
|
||||
pickingOrderDO.setPickingOrderId(pickingOrder.getPickingOrderId());
|
||||
pickingOrderDomainService.completePicking(pickingOrderDO);
|
||||
DeliveTask pickdeliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||
.eq(DeliveTask::getTrackingNumber, pickingOrder.getPickingOrderNumber())
|
||||
.eq(DeliveTask::getDelFlag, 1));
|
||||
if (pickdeliveTask != null) {
|
||||
pickdeliveTask.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||
pickdeliveTask.setOperatorsName(stockOutOrder.getWorkUserName());
|
||||
pickdeliveTask.setTaskStatus(2);
|
||||
deliveTaskService.updateById(pickdeliveTask);
|
||||
}
|
||||
|
||||
//复核
|
||||
// ReviewOrderDO reviewOrderDO = new ReviewOrderDO();
|
||||
// List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
|
||||
// if (materialDetailList != null && materialDetailList.size() > 0) {
|
||||
// for (OutMaterialDetailDO outMaterialDetailDO : materialDetailList) {
|
||||
// Long uniqueId = outMaterialDetailDO.getUniqueId();
|
||||
// PickingMaterialDetail pickingMaterialDetail = pickingMaterialDetailService.getOne(new QueryWrapper<PickingMaterialDetail>().lambda()
|
||||
// .eq(PickingMaterialDetail::getOutUniqueId, uniqueId)
|
||||
// .eq(PickingMaterialDetail::getDelFlag, 1), false);
|
||||
// if (pickingMaterialDetail != null) {
|
||||
// outMaterialDetailDO.setActualQuantity(pickingMaterialDetail.getPickingQuantity());
|
||||
// outMaterialDetailDO.setCheckArea(pickingMaterialDetail.getTotalArea());
|
||||
// outMaterialDetailDO.setCheckVolume(pickingMaterialDetail.getTotalVolume());
|
||||
// outMaterialDetailDO.setCheckNetWeight(pickingMaterialDetail.getTotalNetWeight());
|
||||
// outMaterialDetailDO.setCheckGrossWeight(pickingMaterialDetail.getTotalGrossWeight());
|
||||
// }
|
||||
// }
|
||||
// }
|
||||
// stockOutOrderDO.setMaterialDetailList(materialDetailList);
|
||||
// batchCheck(stockOutOrderDO);
|
||||
// checkConfirm(stockOutOrderDO);
|
||||
ReviewOrderDO cmd1 = new ReviewOrderDO();
|
||||
List<ReviewOrder> reviewOrders = reviewOrderMapper.selectList(new QueryWrapper<ReviewOrder>().lambda()
|
||||
.eq(ReviewOrder::getOutOrderId, stockOutOrderDO.getOutOrderId())
|
||||
.eq(ReviewOrder::getDelFlag, 1));
|
||||
if (reviewOrders != null && reviewOrders.size() > 0) {
|
||||
ReviewOrder reviewOrder = reviewOrders.get(0);
|
||||
BeanUtils.copyProperties(reviewOrder,cmd1);
|
||||
List<ReviewMaterialDetailPO> details = new ArrayList<>();
|
||||
List<OutMaterialDetailDO> materialDetailList = stockOutOrderDO.getMaterialDetailList();
|
||||
// 将每个明细的children提取出来,与父级合并为一个扁平list
|
||||
List<OutMaterialDetailDO> flatMaterialDetailList = new ArrayList<>();
|
||||
for (OutMaterialDetailDO detail : materialDetailList) {
|
||||
flatMaterialDetailList.add(detail);
|
||||
if (!CollectionUtils.isEmpty(detail.getChildren())) {
|
||||
flatMaterialDetailList.addAll(detail.getChildren());
|
||||
}
|
||||
}
|
||||
materialDetailList = flatMaterialDetailList;
|
||||
|
||||
for (OutMaterialDetailDO outMaterialDetailDO : materialDetailList) {
|
||||
ReviewMaterialDetailPO detailPO = new ReviewMaterialDetailPO();
|
||||
Long materialDetailId = outMaterialDetailDO.getMaterialDetailId();
|
||||
ReviewMaterialDetail reviewMaterialDetailPO = reviewMaterialDetailMapper.selectOne(new QueryWrapper<ReviewMaterialDetail>().lambda()
|
||||
.eq(ReviewMaterialDetail::getMaterialDetailId, materialDetailId)
|
||||
.eq(ReviewMaterialDetail::getDelFlag, 1));
|
||||
// reviewMaterialDetailPO.setReviewedQty(BigDecimal.ZERO);
|
||||
reviewMaterialDetailPO.setReviewQtyEa(reviewMaterialDetailPO.getMaterialPlanQty());
|
||||
reviewMaterialDetailPO.setVolumeCbm(outMaterialDetailDO.getOutVolume());
|
||||
reviewMaterialDetailPO.setNetWeightKg(outMaterialDetailDO.getOutWeight());
|
||||
reviewMaterialDetailPO.setGrossWeightKg(outMaterialDetailDO.getOutVolume());
|
||||
BeanUtils.copyProperties(reviewMaterialDetailPO, detailPO);
|
||||
details.add(detailPO);
|
||||
}
|
||||
cmd1.setDetails(details);
|
||||
}
|
||||
|
||||
|
||||
reviewOrderApplicationService.batchCheck(cmd1);
|
||||
ReviewOrderDO cmd2 = new ReviewOrderDO();
|
||||
cmd2.setReviewOrderId(cmd1.getReviewOrderId());
|
||||
reviewOrderApplicationService.checkConfirm(cmd2);
|
||||
DeliveTask reviewdeliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||
.eq(DeliveTask::getTrackingNumber, cmd1.getReviewOrderNumber())
|
||||
.eq(DeliveTask::getDelFlag, 1));
|
||||
if (reviewdeliveTask != null) {
|
||||
reviewdeliveTask.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||
reviewdeliveTask.setOperatorsName(stockOutOrder.getWorkUserName());
|
||||
reviewdeliveTask.setTaskStatus(2);
|
||||
deliveTaskService.updateById(reviewdeliveTask);
|
||||
}
|
||||
//交接
|
||||
|
||||
|
||||
HandoverTaskOrder handoverTaskOrder = handoverTaskOrderService.getOne(new LambdaQueryWrapper<HandoverTaskOrder>()
|
||||
.eq(HandoverTaskOrder::getOrderNumber, outOrderNumber)
|
||||
.eq(HandoverTaskOrder::getDelFlag, 1));
|
||||
if (handoverTaskOrder != null) {
|
||||
//交接pda下发
|
||||
HandoverTaskOrderDO handoverTaskOrderDO1 = new HandoverTaskOrderDO();
|
||||
handoverTaskOrderDO1.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||
List<Long> ids = new ArrayList<>();
|
||||
ids.add(handoverTaskOrder.getHandoverTaskOrderId());
|
||||
handoverTaskOrderDO1.setHandoverTaskOrderIds(ids);
|
||||
DeliveTask deliveTask = deliveTaskService.getOne(new LambdaQueryWrapper<DeliveTask>()
|
||||
.eq(DeliveTask::getTrackingNumber, handoverTaskOrder.getTaskNumber())
|
||||
.eq(DeliveTask::getDelFlag, 1));
|
||||
if (deliveTask != null) {
|
||||
deliveTask.setOperatorsBy(stockOutOrder.getWorkUserId());
|
||||
deliveTask.setOperatorsName(stockOutOrder.getWorkUserName());
|
||||
deliveTask.setTaskStatus(2);
|
||||
deliveTaskService.updateById(deliveTask);
|
||||
}
|
||||
// handoverTaskOrderApplicationService.taskDistribution(handoverTaskOrderDO1);
|
||||
//完成交接
|
||||
HandoverTaskOrderDO handoverTaskOrderDO = new HandoverTaskOrderDO();
|
||||
List<Long> handoverTaskOrderId = new ArrayList<>();
|
||||
handoverTaskOrderId.add(handoverTaskOrder.getHandoverTaskOrderId());
|
||||
handoverTaskOrderDO.setHandoverTaskOrderIds(handoverTaskOrderId);
|
||||
handoverTaskOrderDomainService.completeHandover(handoverTaskOrderDO);
|
||||
}
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public Boolean genPickingOrderByOms(StockOutOrderDO stockOutOrderDO){
|
||||
List<StockOutOrder> stockOutOrderList = stockOutOrderService.list(new QueryWrapper<StockOutOrder>().lambda()
|
||||
@@ -1569,9 +1797,9 @@ public class StockOutOrderDomainService {
|
||||
if (stockOutOrderDb.getStatus() > 8){
|
||||
throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】已出库,请重新选择");
|
||||
}
|
||||
if (stockOutOrderDb.getUpdateTime().compareTo(stockOutOrderDO.getUpdateTime()) != 0){
|
||||
throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】数据已被更新,请刷新后重新进行收货");
|
||||
}
|
||||
// if (stockOutOrderDb.getUpdateTime().compareTo(stockOutOrderDO.getUpdateTime()) != 0){
|
||||
// throw new ServiceException("出库单【" + stockOutOrderDb.getOutOrderNumber() + "】数据已被更新,请刷新后重新进行收货");
|
||||
// }
|
||||
LoginUser loginUser = SecurityUtils.getLoginUser();
|
||||
stockOutOrderService.update(null, new UpdateWrapper<StockOutOrder>().lambda()
|
||||
.set(StockOutOrder::getCheckStatus, 2)
|
||||
@@ -1986,6 +2214,9 @@ public class StockOutOrderDomainService {
|
||||
private static final String OMS_AUTO_AUDIT_REMARK = "OMS下发自动审核";
|
||||
|
||||
public void omsOrderAdd(StockOutOrder stockOutOrder) {
|
||||
// 任务下发用户id
|
||||
String userId = stockInOrderMapper.queryWarehouseUserId(stockOutOrder.getOrganizationId(), stockOutOrder.getWarehouseId(), stockOutOrder.getTopOrganizationId());
|
||||
stockOutOrder.setTaskIssueUserId(userId);
|
||||
stockOutOrderService.save(stockOutOrder);
|
||||
}
|
||||
|
||||
|
||||
+4
@@ -401,4 +401,8 @@ public class InMaterialDetailDTO extends BaseVOEntity {
|
||||
private BigDecimal erpPriceGw;
|
||||
//申报总价
|
||||
private BigDecimal amountGw;
|
||||
|
||||
//仓码简易模式收货上架
|
||||
private BigDecimal collectQuantity;
|
||||
private String shelfJson;
|
||||
}
|
||||
+12
@@ -506,4 +506,16 @@ public class OutMaterialDetailDTO extends BaseVOEntity {
|
||||
private String bondInvtNoGw;
|
||||
private String whNoGw;
|
||||
private String seatNoGw;
|
||||
//仓码简易模式
|
||||
@ApiModelProperty("出库重量")
|
||||
@Excel(name = "出库重量")
|
||||
private BigDecimal outWeight;
|
||||
|
||||
@ApiModelProperty("出库体积")
|
||||
@Excel(name = "出库体积")
|
||||
private BigDecimal outVolume;
|
||||
|
||||
@ApiModelProperty("出库数量")
|
||||
@Excel(name = "出库数量")
|
||||
private BigDecimal outQuantity;
|
||||
}
|
||||
@@ -426,4 +426,23 @@ public class StockInOrderDTO extends StockInOrderBaseDTO {
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTimeTo;
|
||||
|
||||
//仓码pda查询参数
|
||||
@ApiModelProperty("pda查询用户ID")
|
||||
private Long queryUserId;
|
||||
@ApiModelProperty("状态列表")
|
||||
private List<Integer> statusList;
|
||||
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
|
||||
@ApiModelProperty("任务移除用户ID")
|
||||
private String removeUserId;
|
||||
}
|
||||
@@ -484,4 +484,22 @@ public class StockOutOrderDTO extends StockOutOrderBaseDTO {
|
||||
@JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private Date createTimeTo;
|
||||
@ApiModelProperty("作业人用户ID")
|
||||
private Long workUserId;
|
||||
@ApiModelProperty("作业人用户")
|
||||
private String workUserName;
|
||||
@ApiModelProperty("作业任务接收状态")
|
||||
private String workTaskReceiveStatus;
|
||||
|
||||
@ApiModelProperty("任务下发用户ID")
|
||||
private String taskIssueUserId;
|
||||
|
||||
//仓码pda查询参数
|
||||
@ApiModelProperty("pda查询用户ID")
|
||||
private Long queryUserId;
|
||||
@ApiModelProperty("状态列表")
|
||||
private List<Integer> statusList;
|
||||
|
||||
@ApiModelProperty("任务移除用户ID")
|
||||
private String removeUserId;
|
||||
}
|
||||
+87
@@ -1,6 +1,7 @@
|
||||
package com.mhd.wms.interfaces.facadeApi.stockInOrder;
|
||||
|
||||
import com.mhd.common.core.web.controller.BaseController;
|
||||
import com.mhd.common.core.utils.bean.BeanUtils;
|
||||
import com.mhd.common.core.web.domain.AjaxResult;
|
||||
import com.mhd.common.core.web.page.TableDataInfo;
|
||||
import com.mhd.common.core.exception.ServiceException;
|
||||
@@ -8,12 +9,15 @@ import com.mhd.common.core.utils.StringUtils;
|
||||
import com.mhd.wms.application.service.stockInOrder.StockInOrderApplicationService;
|
||||
import com.mhd.wms.domain.inMaterialDetail.entity.InMaterialDetail;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.po.InMaterialDetailPO;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
||||
import com.mhd.wms.domain.inMaterialDetail.repository.todo.InMaterialDetailDO;
|
||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.po.StockInOrderPO;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.todo.StockOutOrderDO;
|
||||
import com.mhd.wms.interfaces.assember.stockInOrder.StockInOrderAssembler;
|
||||
import com.mhd.wms.interfaces.assember.stockOutOrder.StockOutOrderAssembler;
|
||||
import com.mhd.wms.interfaces.dto.inMaterialDetail.InMaterialDetailDTO;
|
||||
import com.mhd.wms.interfaces.dto.stockInOrder.StockInOrderDTO;
|
||||
import com.mhd.wms.interfaces.dto.stockOutOrder.StockOutOrderDTO;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
@@ -22,6 +26,8 @@ import org.springframework.web.bind.annotation.*;
|
||||
import org.springframework.web.multipart.MultipartFile;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.Collections;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
@@ -172,6 +178,87 @@ public class StockInOrderApi extends BaseController {
|
||||
stockInOrderApplicationService.omsOrderAdd(stockInOrder);
|
||||
}
|
||||
|
||||
/**
|
||||
* oms下发单保存
|
||||
*/
|
||||
@ApiOperation("pda接收任务")
|
||||
@PostMapping(value = "/acceptTask")
|
||||
public AjaxResult acceptTask(@RequestBody StockInOrder stockInOrder) {
|
||||
stockInOrderApplicationService.acceptTask(stockInOrder);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* oms下发单保存
|
||||
*/
|
||||
@ApiOperation("pda取消接收任务")
|
||||
@PostMapping(value = "/removeTask")
|
||||
public AjaxResult removeTask(@RequestBody StockInOrderDO stockInOrderDO) {
|
||||
stockInOrderApplicationService.removeTask(stockInOrderDO);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核入库单
|
||||
*/
|
||||
@ApiOperation("pda简易模式收货")
|
||||
@PostMapping(value = "/receiptEasyMode")
|
||||
public AjaxResult receiptEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||
List<InMaterialDetailDTO> materialDetailList = stockInOrderDTO.getMaterialDetailList();
|
||||
if (materialDetailList != null && !materialDetailList.isEmpty()) {
|
||||
List<InMaterialDetailDO> inMaterialDetailDOList = new ArrayList<>();
|
||||
for (InMaterialDetailDTO dto : materialDetailList) {
|
||||
InMaterialDetailDO detailDO = new InMaterialDetailDO();
|
||||
BeanUtils.copyProperties(dto, detailDO);
|
||||
inMaterialDetailDOList.add(detailDO);
|
||||
}
|
||||
stockInOrderDO.setMaterialDetailList(inMaterialDetailDOList);
|
||||
}
|
||||
|
||||
return AjaxResult.success(stockInOrderApplicationService.receiptEasyMode(stockInOrderDO));
|
||||
}
|
||||
|
||||
@ApiOperation("pda简易模式修改计划数量")
|
||||
@GetMapping(value = "/updateQuantity")
|
||||
public AjaxResult updateQuantity(@RequestParam BigDecimal quantity,
|
||||
@RequestParam Long materialDetailId,
|
||||
@RequestParam BigDecimal area,
|
||||
@RequestParam BigDecimal volume
|
||||
,@RequestParam BigDecimal weight) {
|
||||
return AjaxResult.success(stockInOrderApplicationService.updateQuantity(quantity, materialDetailId, area, volume, weight));
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核入库单
|
||||
*/
|
||||
@ApiOperation("pda简易模式上架")
|
||||
@PostMapping(value = "/shelfEasyMode")
|
||||
public AjaxResult shelfEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||
List<InMaterialDetailDTO> materialDetailList = stockInOrderDTO.getMaterialDetailList();
|
||||
if (materialDetailList != null && !materialDetailList.isEmpty()) {
|
||||
List<InMaterialDetailDO> inMaterialDetailDOList = new ArrayList<>();
|
||||
for (InMaterialDetailDTO dto : materialDetailList) {
|
||||
InMaterialDetailDO detailDO = new InMaterialDetailDO();
|
||||
BeanUtils.copyProperties(dto, detailDO);
|
||||
inMaterialDetailDOList.add(detailDO);
|
||||
}
|
||||
stockInOrderDO.setMaterialDetailList(inMaterialDetailDOList);
|
||||
}
|
||||
return AjaxResult.success(stockInOrderApplicationService.shelfEasyMode(stockInOrderDO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 审核入库单
|
||||
*/
|
||||
@ApiOperation("pda简易模式核对上传")
|
||||
@PostMapping(value = "/checkUploadEasyMode")
|
||||
public AjaxResult checkUploadEasyMode(@RequestBody StockInOrderDTO stockInOrderDTO) {
|
||||
StockInOrderDO stockInOrderDO = stockInOrderAssembler.toDO(stockInOrderDTO);
|
||||
return AjaxResult.success(stockInOrderApplicationService.checkUploadEasyMode(stockInOrderDO));
|
||||
}
|
||||
|
||||
/**
|
||||
* oms下发单明细保存
|
||||
*/
|
||||
|
||||
+44
@@ -18,6 +18,7 @@ import com.mhd.wms.domain.outMaterialDetail.entity.OutMaterialDetail;
|
||||
import com.mhd.wms.domain.outMaterialDetail.repository.po.OutMaterialDetailPO;
|
||||
import com.mhd.wms.domain.outMaterialDetail.repository.todo.OutMaterialDetailDO;
|
||||
import com.mhd.wms.domain.stockInOrder.entity.StockInOrder;
|
||||
import com.mhd.wms.domain.stockInOrder.repository.todo.StockInOrderDO;
|
||||
import com.mhd.wms.domain.stockOutOrder.entity.StockOutOrder;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.facade.IStockOutOrderService;
|
||||
import com.mhd.wms.domain.stockOutOrder.repository.listener.ExcelParseService;
|
||||
@@ -346,6 +347,29 @@ public class StockOutOrderApi extends BaseController {
|
||||
return toAjax(stockOutOrderApplicationService.genPickingOrder(stockOutOrderDO));
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 生成拣货单
|
||||
*/
|
||||
@ApiOperation("简易模式拣货")
|
||||
@PostMapping("/adjustPicking")
|
||||
public AjaxResult adjustPicking(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
|
||||
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
|
||||
return toAjax(stockOutOrderApplicationService.adjustPicking(stockOutOrderDO));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 生成拣货单
|
||||
*/
|
||||
@ApiOperation("简易核对上传")
|
||||
@PostMapping("/checkUpload")
|
||||
public AjaxResult checkUpload(@RequestBody StockOutOrderDTO stockOutOrderDTO) {
|
||||
StockOutOrderDO stockOutOrderDO = JSONUtil.toBean(JSONUtil.toJsonStr(stockOutOrderDTO), StockOutOrderDO.class);
|
||||
return toAjax(stockOutOrderApplicationService.checkUpload(stockOutOrderDO));
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成拣货单
|
||||
*/
|
||||
@@ -464,6 +488,26 @@ public class StockOutOrderApi extends BaseController {
|
||||
stockOutOrderApplicationService.omsOrderAdd(stockOutOrder);
|
||||
}
|
||||
|
||||
/**
|
||||
* oms下发单保存
|
||||
*/
|
||||
@ApiOperation("pda接收任务")
|
||||
@PostMapping(value = "/acceptTask")
|
||||
public AjaxResult acceptTask(@RequestBody StockOutOrder stockOutOrder) {
|
||||
stockOutOrderApplicationService.acceptTask(stockOutOrder);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* oms下发单保存
|
||||
*/
|
||||
@ApiOperation("pda取消接收任务")
|
||||
@PostMapping(value = "/removeTask")
|
||||
public AjaxResult removeTask(@RequestBody StockOutOrderDO stockOutOrderDO) {
|
||||
stockOutOrderApplicationService.removeTask(stockOutOrderDO);
|
||||
return AjaxResult.success();
|
||||
}
|
||||
|
||||
/**
|
||||
* oms下发单明细保存
|
||||
*/
|
||||
|
||||
Reference in New Issue
Block a user